Spring library initiative
Posted: 24 Nov 2015, 05:16
As you may have noticed, I like writing libraries. I've created a new wiki link that gives a list of them: https://springrts.com/wiki/Lua_Libraries (please contribute intelligently)
I think libraries are fairly helpful when writing new games or even maintaining old ones, as they make it easier to get started and also solve hard, boring problems that detract you from game making. I feel that as an open source community we should try to combine our efforts and create more of these.
The main principle behind libraries is that they should have a very clear scope and be game-agnostic and independent. When making libraries it's important to provide good documentation so that users don't need to read your code (although it may be helpful), with simple install instructions and sane defaults.
In addition, I think a UI itself cannot be a good library. For example, it's inadvisable to make "build menu widget" libraries as they'll be hard to distribute and keep game agnostic. It is better to work on chili extension libraries (e.g. chili-dialogue) or the UI framework itself.
My plan is to work on the existing number of libraries I've already contributed to, and to make a few more, with these two currently on the top of my list:
To conclude, does anyone have any ideas, suggestions and requests on other new libraries we could make? Any other comments?
I think libraries are fairly helpful when writing new games or even maintaining old ones, as they make it easier to get started and also solve hard, boring problems that detract you from game making. I feel that as an open source community we should try to combine our efforts and create more of these.
The main principle behind libraries is that they should have a very clear scope and be game-agnostic and independent. When making libraries it's important to provide good documentation so that users don't need to read your code (although it may be helpful), with simple install instructions and sane defaults.
In addition, I think a UI itself cannot be a good library. For example, it's inadvisable to make "build menu widget" libraries as they'll be hard to distribute and keep game agnostic. It is better to work on chili extension libraries (e.g. chili-dialogue) or the UI framework itself.
My plan is to work on the existing number of libraries I've already contributed to, and to make a few more, with these two currently on the top of my list:
- s11n: Serialization library for Spring. It would be able to read/write the Spring game state, either complete or partial, and would be data driven. It would be used for save/load, Scened's copy/paste, in a game that has checkpoint mechanics or unit duplication, and similar. Partial work onthis exists in Scened and ZK in form of save/load, but in both cases it isn't really in a library format, making it difficult to use in new projects for very specific needs.
- libmsg: Messaging library for Spring. It would simplify communication between LuaUI<->LuaRules(synced/unsynced) and similar, and would provide a higher compression efficiency and speed. Partial work exists in Scened
To conclude, does anyone have any ideas, suggestions and requests on other new libraries we could make? Any other comments?