That's right, I'm in the early midgame. Well, *very* early midgame of roguelike development. My plan is to eventually release a game named Straylight: Divergence, a sci-fi roguelike with some transhumanist themes. But here's all I have right now,
in the form of a video (Don't ask me what those Haskell libraries like HTTP and xml are doing in the first few frames, I'll be looking at the packages I depend on and what sort of weird dependencies they have once I'm closer to release time). Going through it, you can see I have:
- A walking @, yeah!
- An environment of some sort to play in. The room and connection layouts are supposed to look a bit like a university campus or a small office complex that's built "close to nature", with outdoors areas everywhere, and trying to avoid corridors (corridors are a bane of interesting gameplay).
- Other walking @s. They pathfind to randomly picked positions.
- A mess of characters in the indoors rooms. I intend to eventually get around to implementing some sort of
furniture, these characters display places where it could go without disrupting paths between doors inside rooms.
- A sort of "shooting" (though there are no guns in the game yet) and "jumping" (with no limits on how far you can jump) interface.
- Incredibly basic character stats. Stamina doesn't do anything and I'm not entirely sure it will even stay in the game. I kill one walking @ by shooting at it ten times.
- Oh, and forgot to show this in the video, but you can pick objects up and they'll be carried with you. At least as much as the game state knows, anyway, there is no actual inventory interface yet.
That's all well and good, but where do I eventually intend to get? Well, here's pitch.txt, which I hope to use as the feature list when I eventually announce a v1.0:
- A mixture of melee and firearms combat, somewhat influenced by the Matrix series (but not as flashy), with cover as a significant element in gameplay
- Acrobatic combat moves controlled by "dancing" a la PrincessRL
- No killing rats or worrying about food - you are a badass superagent right from the first turn
- Equipment- and implant-based raceless, level-less, XP-less, skill-less and almost classless character customization
- Five character archetypes to kick off a specialised build (while avoiding limiting your later options): Homo Superior, Catlike Assassin, Hulking Brute, Half-brained Abomination, and Robed Ascetic
- A mid-hard approach to the science fiction theme, avoiding things like rayguns and psionics, but allowing for all sorts of cinematic transhumanism and weird physics
- Character advancement based on a large tree of perks ranging from mundane advantages like increasing your character's hitpoints, to special abilities like wallrunning or ability to "undo" actions
- Cyberware, bioware, nanites, performance-enhancing drugs, special mental disciplines, and more ways to make your character greater than human!
- A variety of psychoses to suffer from if one goes too far in one's human enhancement forays (based on a sort of sanity meter)
Some of these things I've got more specific plans about, some only a couple of vague ideas of. You'll note I've been savvy enough not to try to design a procedural plot generator, or to use complicated AI techniques, or make a MMORPG, or any of the other usual stupid pitfalls. But I haven't been savvy enough to come up with a development schedule that would take me to something playable through minimal effort (something that in fact screwed me over a bit in the past as I spent weeks working on some fancy subsystems that I've gutted by now after realising how completely useless or unimplementable they are), and still don't really know where to go with development.
So right now I'm having something of motivational/organizational problem: Here in the early midgame of roguelike development, you can get started on anything, but everything depends on something you haven't yet finished. I could just randomly decide to improve the interface for shooting, but I don't have a way to determine what's a good target yet. I could make an inventory interface, but I haven't decided what sort of an inventory system I should have and, for instance, how many different objects to expect the player to have to manage. I could try and see if I can make the NPCs start acting in more meaningful ways and reacting to things, but it would be so nice to at least have an idea of what sorts of NPCs I want, not to mention finishing with the furniture so I could have them interact with that...
... actually, come to think of it, I might just do message printing next.
So, uh, yeah. Please feel free to ask questions, make comments, commiserate about the difficulty of developing with a spec that's partially half-formed in your head, etc.. I just went public with this in the hope of refreshing some motivation points.