So, since the last time I posted here I have kinda moved away from libtcod (partially for the fun of writing my own engine thingy on lispbuilder-sdl and partially because I was having issues with cl-tcod; I could probably be convinced to move back to tcod if you guys think it's a good idea), but I've stayed with my idea of procedural rule generation (as opposed to map, item/monster, and even story generation) and I actually have some code for a fairly powerful, albeit kinda slow and unfinished, engine. I am considering releasing the source soon, but this will basically be the first time I've released anything, so I need some help looking at my options. As you can see from the topic, I am mainly concerned about which hosting service I should use, which version control, which (open source) license, and how clean the code should be before I start releasing it (right now it is kinda mixed up in lots of files that have to be loaded in a very particular order for reasons that are not entirely clear to me). And, since the answer will probably be "It depends on the project", let me clarify that I want the pros and cons of the different alternatives, not necessarily a hard answer.My hosting/VCS/license goals
I don't care much about my hosting service except that it's free (I am 17 and have trouble paying for stuff :$) and reasonably reliable. I suspect this will not be a problem; there are hosting services all over the place that offer free hosting to open source projects, aren't there? The main problem is that (when last I checked) some of them only support certain VCSs, so I'll have to choose a VCS before I can choose a hosting service.
As for version control: I have no idea what my priorities are; I suspect that in the short run I won't care about anything but the versioning itself, which all of them provide. I guess the main thing I want to know is, how easy is it to switch systems later? If I choose SVN (which I have installed but which lots of people say is rubbish), will future-Alyssa hate me?
As far as licensing goes, my main criteria are that it is open-source but that it doesn't force derivative projects to also be open source (which means, I think, no full GPL? I suppose I should do more research. XD). I am kinda nervous that there won't be any license that protects the output of the game generation system, but I've decided that even if I'm not wrong this is irrelevant, because the main part of chaos is not any particular game but the fact that there's always a new game ready when you figure an old one out.My goals for chaos
The name of the project is officially "chaos :: [RL]". I have borrowed this notation from Haskell (a beautiful mathy functional language that I am not using for this project). It means "the variable 'chaos' whose type is 'set of roguelikes'" -- the idea being that this is not just an engine but a particular gamespace that is narrow enough to cut out lots of uninteresting games and wide enough to contain more surprises no matter how much you've used it. (Thus, it is a set of roguelikes that hopefully contains fewer boring ones and not significantly fewer interesting ones than the set of roguelikes in general. To hell with mathematical formalism!
In its current state, chaos consists solely of a fairly abstract engine with the goal of having as few special cases as possible. For example, there will be NOTHING special about the player except a special "player-ai" that, instead of deciding what to do, checks for input from the keyboard and mouse. (This is tougher than it seems -- I'm currently trying to figure out which dungeon level should be drawn if the player-ai is contained in two separate bodies that occupy different dungeon levels. I am currently of the opinion that it should loop through them.)
The ultimate goal for this project is for the engine to be completed (and preferably a bit faster than it is now), for a game generation system to be developed, and for an API to the game generation system stabilized so that you can like implement a neat gimmick in two hours and see it in action in a fleshed-out game. (I am still thinking about ideas for the game generation system -- my current one revolves around "mixins" that will probably be snippets of code with metadata about where they should be spliced and how they should be combined with conflicting mixins.)
Obviously this is all a loooong way away, but it seems to me that a lot of what I do now will have a huge impact on what I can do in the future. It makes me kinda nervous.tl;dr
: Hi again! Still making procedural game generators, I've written (part of) the engine my system will use, but I've never released code before and I need help! D: