28 Apr 2012

CONTINGENCY-Z 2D progress update

Over the last week or so, while not working on my uni stuff, I've been quickly bringing CZ2D towards the first playable version.
Currently the player's movement is fully functional with WASD movement and mouse aiming, as well as having a highly-efficient map system which makes the map size limit arbitrary (only Clusters [a square of 16x16 Cells, similar to Minecraft chunks] which are currently in use are loaded, and nested LinkedLists are used to store the Clusters, which is much more efficient than a 2D array).
The gun system is about halfway to a working version, but I need to rewrite the raytracing and collision code before it will work properly. After that, only the Cell construction and collision system needs to be written before I can release an initial prototype version for you lot to try out!

I have also settled on the decision that all versions of CZ2D will be free to download here, along with the source code (and Carthage Engine on its own as a separate download for other budding devs), perhaps with a torrent link too in order to ease potential load on my dropbox. I will then be encouraging donations to support the further development of CZ2D, Carthage and my other projects.

However, I must clarify that CZ2D and Carthage will not strictly be Open Source. The CZ2D source will certainly be on a 'reference only' license, so that people can learn from it and use very small parts of it in their own projects, but not release simple modifications of the game (I don't mean a mod, which I will make every effort for CZ2D to fully support, but instead someone taking the full CZ2D source, editing it and releasing it themselves, mods will work by manipulating or adding to the existing system, rather than replacing it). I'm not entirely sure on the Carthage license yet. It will certainly be free to use to build games and changes and expansions will be encouraged, but certain things (such as the 'Built using Carthage Engine and XNA' screen that is hardcoded to show for a couple seconds on startup) will be unchangeable so that it's clear the game uses Carthage, and that Carthage is my engine.

I would love to get some feedback on what you all think on these decisions. I love the idea of open software and seeing Carthage become the engine behind many indie games, but I also want it to be clear that I am the one behind the project. Let me know if you think I'm going the right way about it, or if not, what I could change.

P.S. Two of my friends, freshly inspired by a certain anime, have decided to produce a visual novel and I have offered Carthage as the engine behind the game. Personally, I think it will be interesting to see how it turns out, and to see Carthage running a game so different to the one it's mainly being developed alongside.