v2.0 is now available!
Well here it is, v2.0 from almost a year ago now. There’s been enough progress made since that I think it’s probably fair enough to release this older copy now.
Not sure if I’d stated anywhere before but all new releases inc. this one will be under GPLv3, and I realise some of you might not be happy with having to make your own changes open-source on release as per the terms of the license, but I feel like it’s fair game we all help each other out I guess?
To make things a little easier too, I’ve also gone ahead and included the third-party dependencies this time round. Last time was just a bit of a drop and dash, sorry about that.
Keep in mind that there’s a lot here that’s not finished (surprise) and a lot of really really dumb decisions made implementation-wise - this was pretty much thrown together for a jam. Since this version a lot of it’s been pretty much gutted or overhauled too, so don’t expect me to be able to provide much help on getting anywhere with it right now (though I expect things to settle more as the engine matures).
Below is a fairly rough list of changes on what was introduced here since the last release.
- 'platform' has been split up into 'plcore', 'plgraphics' and 'plmodel' - 'yin' has been split up into 'common', 'launcher_sdl2', 'game' and 'engine' - Binaries are now under runtime/<platform>/ - Content is now stored under either game-specific sub-directories and/or packages - Console interface, which can be pulled down via ` key - .node configuration language, for both serialisation and deserialisation - User modified variables are now automatically saved/restored - Discord integration (currently disabled) - WAD replaced with new 'pkg' format, with support for compression ~ Introduced 'pkgman' command-line utility for packaging content - New memory manager ~ Automatic garbage collection based on references ~ Debugging functionality for tracking memory usage - Scheduler, allowing multiple concurrent background events - Introduced first iteration of Yin World Editor - New World format for storing sectors, portals, level meshes and more - Significant improvements to collisions since last version (i.e. they exist now) - Audio via SDL2 Audio - Support for additional graphics APIs via plugins - Shader programs are now registered in via .node files provided under materials/shaders - Materials are now supported; can specify specific shader, multiple passes, blend modes - World and actors are now culled based sector/portal vis - World geometry is now all batched, alongside any additional sub-meshes - PNG, TGA, JPG, BMP and GIF image support - Introduced own GFX image format which provides some reasonable compression - MD2 and PLY model support - Post-processing pipeline ~ FXAA - Supersampling up to 2x display resolution - GLSL shaders are now pre-processed on load, with support for #include directive - Texture-blending via blend and blend_3layer shaders - Normal-maps are now supported; tangent/bitangents are now generated alongside normals for world - There's now support for variably sized bitmap-based fonts - Toggable debug overlays are now available for profiling - Actors are now spawned by an id string, rather than by index - Simple particle system
I was hoping to finish v3.0 this year but it’s looking like that’s not going to happen. Lots going on life-wise right now and little motivation. Anyway below is a teaser of what’s in the works.
Get APE Tech
Leave a comment
Log in with itch.io to leave a comment.