Day 2 – Rogue AI

Welp I didn’t get as much done yesterday as I’d hoped, but the flow arrows were harder than they looked. The buttons on the UI have a thing where they drop a pixel when you click down on them, and I had to compensate for this,  along with joining arrows and tiles cleanly. Some of these interface issues are fiddly and I have to fight the layout manager into submission. Not always successfully too, I’ve just moved on from some issues to come back to later.

Anyway, I recreated the diagram from back when I first conceived of this game. The colours are a bit drab, so they might change, and I’m having some issues with some of the tile edits on the left, but at least that portion is mostly done. I’ve also made the chat window on the right retractable because I was running out of space.

Day 1 – Rogue AI

Hello everyone! For my 8th 7DRL, I’ll be doing something a little different.

My last few games have been mostly straight up crawlers, and the mediocre reception of Hellspace from last year showed me that maybe people are getting a bit sick of that trend.

No better way than to go completely off the deep end than with Rogue AI!

I had this idea a long time ago, and decided late last year I might just be able to pack it into a 7DRL – In this game the player will design an AI using an easy tile drop interface (that could even theoretically be used by non programmers). If you build something you think is intelligent enough, you can upload it and then watch your brain duel another person’s brain for glory and a position on the leader board.

Back when I first designed this idea a number of years ago, the interface I had in mind was something like this:

I lost my notes on what that program does exactly, but I remember the first bit:

Starting from the GO tile, you move down into an IF. The IF has internal settings PLAYER HEALTH < 30. If true, then go right else go down. To the right the next IF will have something like PLAYER HEALTHPOTION >= 1, and if so right again to use that item, otherwise down to continue the original thread.

Its like a turn by turn flow diagram for taking the action you want.

The rest of what is above goes on to check whether a target has been set and if so move towards/attack it, possibly move away if still on low health. Try and set a new target, otherwise go wandering etc. Standard AI stuff. Other settings for the IF blocks include checking whether a target is set, or whether things exist in the FOV, and so on. The target tile sets the target, the FUNC tile lets you jump between places (like a GOTO) if one area of the setup gets too crowded. The SET tile allows you to store variables between turns that can be referred to in IFs.

And of course it can all be expanded to rational use of spells and abilities, and working with others in a team (for example a brain designed for a warrior unit will charge through, while another designed for a priest body will follow the warrior healing and staying out of trouble)

I’ve had multilayer functionality in my engine for a while now (though no good ideas on how to use it), and also implemented a lot of the UI elements from LibGDX this year so it seemed like a good idea to utilize these thus far unused features (so like the last number of years, I’ll be using my same engine again)

Here’s how Ive gone so far – it looks like Ive done a lot, but pretty much nothing works yet except the simple chat window.

Hellspace: Success

What a hard slog. I’m writing this at the end of a 26 hour stretch, and my deadline is just 40m away. Everything is in, and some last minute refactoring of the decoy code, (where the player can create an illusionary double) and how the AI handles multiple targets allowed me to add friendly fighting NPCs to the game. So as you wander around you’ll be able to pick them up along the way – it really really ties the game together into something more, especially since they’re meat shields and don’t last long, it’s like the station is alive with fighting, rather than being a lone soldier against the world.

This is by far the most detailed 7drl I’ve done to date – There is stuff everywhere and I spent probably too much time animating and drawing sprites for this. The map generation is a boring which is a shame, but I never really like doing it anyway and there is a huge variety of room types and things to see to make up for it.

Since a big drawback in my previous games was the difficulty, this time I still tuned the game to my normal standard, but also added an easy mode where the player gets 500 max health instead of 300. That should work out well, and hopefully keep everyone happy.

The game can be downloaded here.

On the Lazarus research space station, there is lots to do:

You can stomp some heads with the boys…

Investigate some wierd science…

And descend into madness…

Hellspace: Day 5

Completed enough of the map generation to move onto adding monsters, which is good because there is now only two days to go. It feels great thematically, and each new section is a slow descent into horror. Components of computers and contents of storage tanks from earlier in the game are also subtly revealed to be less than innocent as you discover how the station is actually being run.

Hopefully today I can finish monsters and items (as there is some overlap with effects), and that means I’ll have a day to balance, bugfix and polish. That might be too much to ask, but if it can be done then it would be an awesome first as usually I run pretty close to the wire.

Here is a screenshot of the first hostile area, the Engeneering Quater.

Hellspace: Day 4

Progress on room interiors for the engeneering and admin quaters, and I have an idea for the living quater – I’ll rework it as housing cells, where the undead and demons created by the Lazarus corp are housed. Hopefully after I’ve finished that stuff off I’ll be able to start on adding enemies and items – its getting late in the week now!

Anyway, welcome to Lazarus research space station!

Its good to have more meat for the grinders…

Hellspace: Day 2 (and 3)

I don’t really feel like I got a lot done for day 2 because I spend a few hours doing map generation for the living and recreation quater of of the space station and it just turned awful. It doesn’t fit with the theme of the other areas at all – which is a science space station working on dark things being overrun by demons (think doom 3). The main problem with this is 2 random sections of the area are designated a park with trees and water… and now that I’m thinking about it, I don’t think I’ll be able to make up suitable room interiors to fit the theme either… I’ll hold off showing a screenshot of that until I can think of something better to replace the area. Anyway…

This is the engineering quater – Featuring a large engine in the middle of the map, and a pentagram hidden underneath metal panels in the floor/walls. Rooms haven’t yet been filled with interesting stuff.

This is the administration quater – Featuring corrupted areas, where the metal walls become purple bricks with flaming torches, and a bit more of a dungeon feel. Again, Rooms haven’t yet been filled with interesting stuff.

Also… what is that thing in the bottom right? You’ll have to make it that far to find out!

Day 3 was unfortunately a write off, as I was out doing other things. Feeling good about day 4 though! time to get stuck into it!