The type of language matters a lot because it's about its environment and its build process. With C++ you need to compile and build a new .exe and then distribute it to others if you want them to test your changes: this makes 'iterations' very complex and difficult to do and there is also a "trust" issue since a new .exe is needed (not to mention conflicts and other problems).factoid wrote:QUOTE (factoid @ Mar 20 2014, 01:05 AM) No matter what language the mechanics are written in, at a certain point you have to know your stuff to contribute, because it's the business logic that's the hard part, not the language you're implementing it in.
With a scripted language and a system to switch between 'mods' the .exe doesn't change and you can easily share, test and iterate mods. It's also safer and more people can contritube. Even someone who doesn't know computer programming can test a few changes by modifying some numbers or some code in the scripts, using a simple text editor. With C++ you have some kind of steep learning curve (ironically like the game has itself too) and you need to install and learn some IDE and/or 'tools' to "build".
I think it's fundamental here. What plagued Allegiance for years is this, having to build a new exe (both client and server) to just test a simple gameplay change. Doing iterations are too complex, so complex that the few changes made are just 'stored' in the CVS and only released months if not years later...Complex because their require a build master and some kind of 'authority' to approve changes and publish them.
I'm afraid that your approach of everything in C++ will have the same problems. It looks like you just rewriting Allegiance in C++ : it won't solve the slow/complex iteration issue and it won't widen the audience who can contribute: people who can contribute to your code can already contribute to current Alleg code. it's basically the same population.
But it seems you're making fast & good progress and if your code is cleaner than the original code then may be it might be worthy to 'plug' some scripting engine to your work instead of to the Allegiance code. I'll let a few weeks pass and see what it is possible to do.
The concern I had also is that the 'IGC' project in the original code only has a few parts of the game logic. A lot of important stuff is done in the server code (mainly FedSrv/AllSrv.cpp IIRC) which is why just porting IGC might be not enough at all. It's been a while since I looked at Allegiance code so may be i'm wrong here but I do remember the game logic code wasn't all in the 'IGC' project (I'm pretty sure the "training mission" code has some game logic code too). Unless i'm wrong, the whole game logic needs to be rewritten cleaner from scratch instead of been ported (and rewriting it with a scripting language is faster to do and faster to test).
Bull well, we'll see, anyway , keep that good work coming. At least you're doing something, which is 100x better than doing nothing , like babbling in the forums