At least that's what they say right? Anecdotes aside, one of the reasons for the delay since the last posting is deciding how the project should be developed and maintained. Whether it should be open or closed source, C# or C++, Mono or Microsoft, cross-platform or Windows-based, and the list goes on.
Another issue I have been debating is whether or not to allow others to help me work on it at the same time. The reasons I am for it should be obvious, though the reasons for me being against it maybe not so much. The issue truly comes down to having code that complies with the standards I would like. This is a huge project and I know it will only grow even larger as times goes on. I want the code to be a certain way and I don't want to waste time trying to enforce that on others and go back 'checking' code and such. It's much easier if I do it myself and then I have no one else to blame except myself if it isn't as I wanted it. That, and setting up source control, relying on people using it correctly, and whatnot creates more overhead that I don't want at this moment.
Going forward, if I decide to allow others it will be much easier as I can just throw the code I have in a repository and then others can look from my work and see how it should be when they code their additions. It's much easier to learn from example rather than lengthy documentation.
In the past I have been mostly Windows-based. For most, this is not a problem as Dark Ages runs on Windows and most users run that OS. That, and Dark Ages runs fairly well on Wine/Parallels, so there's not too big of an issue on that either. However, I would like to make the transition to cross-platform using Mono. Previously, I was hesitant on this due to Mono-Develop's debugger not working properly for me, but it seems they have fixed these issues since 2.2. Of course, Windows users can still run the program but now Mac OS X and Linux users also have an option without having to rely on other compatibility and emulation layers.
I see no reason to use C++ over C#, as the latter offers outstanding performance and I am very familiar with it. Not to mention development time is far less with C#. Honestly, I see few reasons to use C++ anymore in most situations unless you really need some interop layer or low-level access, but that is just my opinion!
The main project itself is the server, but that requires a lot of tools development as well. I plan on using custom maps, so that means a map editor is required. I also will use custom metadata for items, so that means a metafile editor too. Debugging network packets is no fun, so that's going to be another tool I'll need to get data from the server for reverse engineering as well as testing my own server. As you can imagine, this list just grows and grows. For this, I plan on making a base library which will contain code for interacting with various Dark Ages-related types and functionality, one of which will be a rendering engine for the map editor. The engine will also be recycled in a stand-alone client to be released later but that's very tentative.
So no, the project is not dead by any means! It is true that real life duties get in the way of things, but I am trying to devote a large amount of time into this project when I can. Keep checking back for updates!
Capricorn Development Log
Thursday, February 25, 2010
Subscribe to:
Posts (Atom)