Cool, sprawling buildings. Noisy radio receiver lets you get the distance from the target (could be noisier though, if I make it actually print out transmissions with a random fraction of letters scrubbed out). Monsters are using their senses, but not with different levels of sensitivity. Scent map is implemented, but monsters don’t respond to it yet. There’s a very basic system to generate a description of a monster’s senses, but not its (still uninteresting) stats. Source (without *any* documentation) can be downloaded from https://github.com/essarrdee/mutantaliens and compiled with make, though I haven’t included all the things necessary to get it to compile on windows. I’ll try to include windows binaries in future releases. No 72 hour report, maybe some number close by.
Oh, I forgot to mention – the code is like a plate of spaghetti. With another plate of spaghetti upside down on top of it. Spaghetti sandwich.
The randomly-named aliens (which don’t yet have very interesting random stats other than hp and damage) can chase and kill the player, the player can shoot the aliens and turn them into corpses, the human’s scent probably diffuses (but no-one reacts to it), there’s line of sight, and exploration, and it compiles on windows and linux.
My previous completed roguelike, KleinRL, took 14 days, so this time I’m taking heavy advantage of the time available before the contest to make plans. Mutant Aliens! (or whatever I end up calling it) should have these features (in approximate order of importance, or reverse order of remorse if it has to be cut):
Several procedurally generated species of unfamiliar hostile aliens in each game [would have preferred more variation – at the moment all that really matters is size]
Standardised, reliable equipment for the player (including guns, this is cheap sci-fi after all)
Varying AI for the aliens, based on preferred senses (monsters that can see, hear, or smell you, some that can sense where your brain is >:3 ) [same AI, same order of checking the senses, but different sensitivities to the senses. Overall effect is not that interesting)
Hologram projectors, noise generators, scent generators, cultured brain slices to confuse monsters that rely on vision, sound, smell, or psychic powers to find the player [they work, but the player can’t see the evidence of them working unless the player wants to waste time and die (or is playing easy mode)]
Ability to activate these devices (and explosives) by remote controls and timers, and to throw or hide them [timers go up to 9 walking-speed steps, I don’t feel bad about that]
Largish finite wilderness map with a few (multilevel?) buildings – player’s ship claims based on radio transmissions to have landed safely at a space station, landscape and hungry aliens suggest otherwise :] [I heart the map generation. Even the “bug” of the ship overlapping a building could be explained as the ship crashing into and demolishing the building…]
Finite ammo, no regeneration, finite medkits [no medkits. if I put in medkits I’d just have to rebalance and increase the spawn rate. It’s already balanced, so there’s no point]
Finding the objective location by trilateration from a noisy radio. Lazy players can blindly search the wilderness/jungle/whatever and run out of ammo (or not) if they want [exactly what I wanted]
Config file to edit controls [this is a 7drl, sorry. If you can use neither hjklyubn *nor* numpad, then you’ll have to email me with a proposed alternative (which I will happily implement), or just get a keyboard with a numpad]
In-game tutorial driven by events [no, this is a 7drl]
Automatic Angband-style monster memory system so that the player doesn’t have to write down everything they ever discover about a species [not as verbose and a lot less precise as angband’s, but useful]
A few scraps of non-procedural plot to introduce and conclude the game [You don’t get much more than in crawl]
Weak points for some alien species, discoverable randomly on every shot and automatically targeted thereafter (thus making the finite ammo a resource which can be used more efficiently as the game progresses) [was going to implement this on the last day, spent the time polishing and balancing instead. I still think this feature would be a worthwhile addition, though – it would mean that the lack of ammo on high difficulty settings is less of a problem, and it would give an actual reason to use the pistol (this very feature is why I thought the pistol was worth including!)]
Speed system, with running ability for player and aliens? [yep, works very nicely. Adds at least as much to the game as the weak points]
Presenting the plot stuff at the beginning and end using events in the game engine, rather than walls of boring text? [hah, no. 7drl]
Flavour text describing the aliens that isn’t horribly beige?? [not a chance]
Interesting interactions between aliens??? [There is one – the screeching is their signal “follow me, I know where the evil alien invader with the guns is!”. I was intending something a bit more elaborate, but 7drl]
Stats for the player that vary at the start of the game???? Health for more HP, xenobiology for more chance to find weak points, accuracy, speed… [no. would have been trivial to implement, but would add nothing. Maybe once weak points were implemented there would be some meaningful choices, but whatever.]
With all the question marks this was probably ambitious, but without the question-marked things this was just about doable in 7 days (Including some long train journeys). I crossed out the features as they got implemented (lies, I crossed them out *some time after* they got implemented).
Things I expect to take a significant amount of time:
Coding an AI flexible enough to deal with different attack ranges, ability to run, 4 different ways to detect the player, contingency plans for when the favourite sense doesn’t detect the player, sufficiently entertaining responses to confusion devices… [Yeah, this took a while]
Procedural flavour text to go with procedural alien species [you’re joking, right?]
*Balancing* [a day of playtesting, culminating in “this needs user-choosable difficulty”]
The whole timer/remote control/activate-immediately thing, combined with dropping devices, hiding them, throwing them. Complete standardisation of the inventory will help – there are only 6 devices, which can be in 3 states (on timer, on remote control, neither), and ammo for 3 guns makes the inventory 21 integers, and far fewer than 21 letters will be needed. The flowchart of keypresses I need to untangle to make this user-friendly will likely be awkward, though. [I didn’t do most of this. I implemented a framework strong enough to cope with these features, but without any remote controls, dropping, or picking up, it became completely unnecessary. So I just glued a black box on top and made the interface a lot simpler. The inventory isn’t a bunch of integers, but it’s presented as one.]
Config file parsing, unless I find it prewritten
Monster memory didn’t take long at all]
The plot stuff, if I try to make it fit in the game engine
The tutorial, if it’s to be useful
Things I naïvely expect to take not very long:
Inventory. It’s just 21 integers, right? [No, it’s not. But it is done.]
Combat mechanics, which will be nowhere near as involved as KleinRL’s
Map generation (drop some trees everywhere, make some buildings out of rectangular rooms, done)
The radio (take inverse square of distance, add noise, map to description)
The scent map (no more than the Laplacian matrix, right?)
Stats (Just another thing to put in the engine formulae, but it wasn’t worth the 30 minutes it would have taken)
I plan to do this in C++ with pdcurses and ncurses for great portability. There’s not enough time for me to learn libtcod concurrently with writing this.
I’m anticipating another successful 7DRL this year. Having made so many graphical games lately I felt it necessary to ensure that this 7DRL I release something a little more… classic. What might make the displaying of this game unique is its step away from ASCII and towards Unicode 6. What if those Ethiopian characters where aliens? Long live the @!
You are on the Cygnas System exploration team, sent to explore and take samples from the world Kepler-10b which was recently discovered to have an atmosphere coherent to livable standards. K10b is mostly rocky with little foliage, and a much higher gravity pull than Earth. It rotates around it’s sun K10 every 19 1/4 Earth hours. K10b was discovered 827 years ago today, in February of 2011.
You are on Earth-week 2 of 3 of the split-team exploration. There was, unbeknownst to you, alien life on K10b and they, during your second week, amounted resistance and your core team barely escaped alive.
In order to return home you have to retrieve the ship access keys. There are five. One is already in your possession as you are captain. You must find the 4 other pilots key cards to access the main drive. The ship had split into 5 teams, each under command of a pilot. You haven’t heard from the other teams since landing and hadn’t planned to meet with them until week 3 where all teams were to rendezvous at the ship rally point. Wide-band communications won’t reach past a thousand or so feet due to strange wave emulsions that pulse every few seconds from the K10b core.
Command your team to whatever style suits you. Wait at the ship to see if all teams will return, and possibly die of starvation from local resistance (technically, you’re the aliens,) or trudge the designated locations the teams were supposed to take samples from and hopefully obtain the access keys to return home. The choice is yours to make.