Persistence
Version 2.32 is the biggest internal change in the engine in a long time. It's also the last time version 2.x will undergo this extensive of additions.
LuaJit2 was implemented for fast Lua execution. This initially caused some BMX programs to not compile with the included modules.
The rendering buffer storage scheme was modified somewhat in preparation for a new feature that is unannounced.
Roads and saved to and loaded from SBX files, so they don't have to be generated at runtime. This caused some problems initially, too.
A really efficient scene management system was implemented. This allows the engine to scale for very large games, especially when lots of small objects are off screen. It's a pretty advanced system, and there were initially some problems that had to be ironed out.
A lot of this is stuff I want to have in version 3.0. I implemented it in 2.x because I figured it would be easier to first write in BlitzMax, and then translate to C++ later.
This was probably the most difficult release we have done. One thing that magnifies those problems is the number of ways we have you can use the engine. Executing scripts from the editor, generating Lua glue code, etc. These aren't bad when everything is working, but it magnifies problems when they arise, because there is more that can go wrong. In version 3.0, we have a more uniform design centered around C++ and Lua. You can still use other languages, but I think the process will be a little simpler for us and for you. Having a stricter separation between "edit mode" and "game mode" in the editor will also help.
Thanks to everyone who provided useful feedback this week, and happy coding.
5 Comments
Recommended Comments