Mutant Aliens!

*Waves*

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):

  1. 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]
  2. Standardised, reliable equipment for the player (including guns, this is cheap sci-fi after all)
  3. 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)
  4. 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)]
  5. 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]
  6. Largish finite wilderness map with a few (multilevel?) buildingsplayer’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…]
  7. 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]
  8. 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]
  9. 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]
  10. In-game tutorial driven by events [no, this is a 7drl]
  11. 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]
  12. A few scraps of non-procedural plot to introduce and conclude the game [You don’t get much more than in crawl]
  13. 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!)]
  14. 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]
  15. Presenting the plot stuff at the beginning and end using events in the game engine, rather than walls of boring text? [hah, no. 7drl]
  16. Flavour text describing the aliens that isn’t horribly beige?? [not a chance]
  17. 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]
  18. 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.

2012 7DRL: Fama Gloriaque Populi

Hello all!

My 2011 7DRL was Twelve Hours and I’ve decided to improve some of those ideas for my 2012 7DRL. The main things I have in mind are a Hyrulian or Zeldalike overworld, randomized monsters, and quests (and possibly commands for followers too). I think I’ll make it so you are competing with other NPCs for fame. Whoever manages quests, followers, rivals, and allies the best without dying will win. I think I’ll call it Fama Gloriaque Populi or FGQP for short. If you read any recent articles on my blog then you’ll see that I’ve been thinking about this for a while so the results should be good.

I’ll use my open source AsciiPanel to make a java applet/application that anyone should be able to play. I will also set up a github repository as well as post regular progress reports.

My 7 day plan:

Day 1. Hyrulian Overworld: worldgen, player controlled @
Day 2. Basic gameplay: basic creatures, basic combat, basic stats, basic items
Day 3. Monsters: randomized monsters, better creature AI, a few status effects
Day 4. Society: people, victory, basic commands
Day 5. Dynamic quests
Day 6. More content and polish….
Day 7. More content and polish….

7drl contest ideas

In the spirit of a 2009 7drl post, here are some ideas for your seven day roguelikes.  I will continue to update this list as I get more ideas.  Have fun:

http://www.roguetemple.com/forums/index.php?topic=320.0

Army roguelike – Instead of being a single @, you are the commander of an army.  Instead of  hp, you have masses of recruits, and attacking (either with the melee force of your army or using ranged troops to engage from a distance), causes casualties instead of lost hp.  Find recruits, and drive back enemy armies to achieve victory!

Bunny roguelike – You are a rabbit, trained in the ancient art of bun fu.  Fight the foxes, dogs, and other predators that are attacking your hole.  The boss is the determined human exterminator who came to flush out the rabbit extermination.

Escape the light – http://www.youtube.com/watch?v=L7a8hmoOsx0
You cannot survive in the light, so run right as fast as you can.  Killing monsters and using items will give you a boost of speed to endure.  How long can you last?

Evil Overlord Roguelike – A horde of adventurers are attacking.  To stop them from coming, place towers that shoot ranged attacks, camps that house attacking monsters, and traps.  Come out personally to deal with the invaders and collect their treasure, but if you die, it takes time to respawn.

Immobile wizard roguelike – You are a wizard rooted to the spot.  Blast the legions of foes coming to kill you!

Invulnerability roguelike – You are immune to death.  However, you still have a food clock.  Enemies will try (ineffectively) to kill you, but they may try to prevent you from getting your food…

Internet Meme Roguelike – Make a roguelike based off of internet memes/characters (but it cannot be for mature audiances only please)!  You could play as Nyan Cat, or Annoying Orange, or Hatsune Miku.  Items could be a Three Wolf Moon T-Shirt, Noms, or cake (but its a lie!).  Enemies could be Trollface, animals that are really Nope! Chuck Testa!.  The adventure could take place at candy mountain…

Parallel Universe Roguelike – You have multiple copies of yourself, existing on different z planes but always the same x and y of a dungeon that may or may not be similar.  Be careful, as you can only move or attack if none of your doubles can bump into a wall, and damage is shared among your parallel selves.

Philosophy RPG – A roguelike where everything is a reference to something philosophical.  For instance, the dungeon is plato’s cave.  You attack with the four Aristotelian elements.  Enemies could be nihilists or something.
The following is a good source of ideas:
http://dresdencodak.com/2006/12/03/dungeons-and-discourse/

Positive/negetive energy roguelike – You have a positive/negetive energy bar.  Casting spells of the appropriate element will bias the bar towards that element, and make those spells more powerful, while reducing in power spells of the opposite element.  Positive energy spells provide effective healing and protection spells, while negative energy spells provide powerful offensive attacks. Be careful, as getting too far in either element will spell the death of your character.  A food clock and mana bar will balance this mechanic.

Possessor Roguelike – You are a lost soul, aiming to get to the bottom of a dungeon into the next life.  However, you can only hitch temporarily on recently deceased creatures.  Kill creatures, and you can slip under that creature’s skin.  This is like a disguise, some monsters will ignore it, but some may attack you on sight, so be careful!

Potion mixing roguelike – potions, when drunk, will have a temporary effect.  If you drink another while the effect of one is still going, a random positive or negative effect happens, sort of like nethack’s fountains.  It may be lethal, or both effects could cancel, or one of the effects could be permanent!  Ideas for effects: http://www.wizards.com/default.asp?x=dnd/dnd/20060401b

Warped time roguelike – While your movement is turn by turn, enemies will move in real-time.  You can take turns quickly in desperation, but doing so will deplete your Energy bar, and if it reaches 0, game over.

Weapon Stacking Roguelike – As you level up, you gain access to “connectors” that allow you to stack your weaponry, which means that each weapon on the stack can attack simultaneously.  Make insane weapon combinations to defeat the monsters.  You can also have armor stacking for an extremely silly roguelike.

Multiplayer Game ideas

After much discussion, I abandoned the idea of a multiplayer roguelike with simultaneous turns.  Too much complexity, and too many issues.  I think simultaneously moving all the monsters is a good idea (controlled by a central intelligence, methinks?) but this can complicate things in multiplayer.  Could be a good idea for a seven day roguelike, if anyone is paying attention to this.

Anyways, I am going to implement a multiplayer roguelike that is both turn based and real-time.  If you are adventuring alone, or away from other adventurers, the game runs in either turn based or real-time (you choose).  If other players in combat are in fov, and at least one of these players is in combat with a monster or has not escaped, the game will shift to real-time, to allow both players to play with an equal footing.  The real-time shift will not end until all but one of these players has sufficiently escaped from this combat.  To address the problem of a player luring monsters to another idle player, I will provide an option to allow a player outside of combat to escape to safety.

One interesting idea I had for breaking the real-time mold is to implement a time manipulation style interface, similar to Achron’s.  Inside of combat, there will be a “final version” of the timeline, that is visible and completely modifiable at all times, which is essentially the “final game”.  However, players can go into the future to change things, and do cool things like send themselves back in time.  There will be “timewaves” that will propagate changes, and people will be able to see how their changes directly affect people in their Field of View.  To encourage players to manipulate the timeline in the future and not the past, there needs to be a reward, such as being able to bend the RNG in your favor.  The difference is that Achron used chronoenergy to limit editing of the “final version”, but this will not work in a multiplayer roguelike where being able to dictate your final actions is a crucial part.  However, before I get this running, I will need to create a working multiplayer game.

My 7Drl – Texas Runner

Note: I had to cancel this because my job is going to be craziness for the next few weeks. Sorry, it kind of came out of nowhere and I thought it’d be the week after this one 🙁

I know this might come off a little bit like I’m putting too much back story in but imagine it’s 2036 and dystopian Texas has split from the rest of the United States and now runs state sponsored executions on television with a twist — to escape death — you must make it out of the Citadel of a Texas Justice alive!  This will not be easy.

It highly increases the viewer ratings when a “Texas Runner” is gunned down by Texas Rangers and their companions in the Citadel of Texas Justice, thus ensuring Texas Justice has been served. You are the next convicted felon, or “Texas Runner” on the show. You’ll be given a felony or two to choose that might help or harm your ability to get out alive. Escape alive (yeah right!) or die (this) – at least you are ending your stay at the hellhole Lone Star Execution Camp you’ve been confined in one way or other.

Hopeful features

  1. Char Creation
  2. Explosives
  3. Weapons
  4. Consumables
  5. 6 Random Grid Levels
  6. Each level has a harder boss which allows char to level up some stats?

Basically Running Man the Roguelike.

I’ll be using Python+Libtcod 1.5.0 plus using some map/weapon/level creation code I’ve written for past/other projects.

Expect Windows/Linux binaries. I have no access to a Mac.

I just hope I don’t get busy at work that week (I shouldn’t…)

First thoughts

Initially, when I was brainstorming ideas for a roguelike, I thought it might be a good idea to try to make a 3D roguelike.  The problem with this idea is that it would add complexities to the system.  Still the idea of a magical-girl-esque roguelike game seems too tempting :P.  Guess its back to 2D.

For my 7DRL I plan to use libtcod.  I may use some starter code from the python tutorial to help me out.

However, I have a good idea: a multiplayer turn-based 7DRL with simultaneous turns (hope to include single player so that people don’t have to find a buddy).  I hope to work in the simultaneous turns to make an interesting strategic game.  I plan to automatically have the main application act as a server or client on an as needed basis.

Unfortunately, looking at past 7DRLs that tried multiplayer, it seems like every roguelike, except for one featured on roguetemple, failed in this regard.  I think I found a library that can help avoid this.  Please post your ideas for a multiplayer 7DRL, and the pitfalls I should avoid.  Unlike other contestants, I plan on starting the 7DRL on March 6th.  Testers are welcome once I start this and get the multiplayer functionality working. 😉