My favourite week of the year is back :) This year I’m making a game that in many ways is similar to last year’s The Trapped Heart. ‘A Wall of Souls’ is about a lone knight trying to free his Queen from some nefarious force (exact plot still being worked out). The knight will have a number of “soul shields” following him, and being cut off from the shields equals death. Enemies will have ‘soul points’ that look similar to the shields from The Trapped Heart, but this time the way to kill enemies is to surround their soul points – ie. position yourself, your shields and walls to cover up those sides of the enemy. An enemy with 6 shields needs to be fully surrounded.
That’s the vague plan of the game. In addition the shields themselves will have mechanics and abilities attached to them, and there are more to collect over the course of the game. And a bit of meta-gaming I’m playing with is that every time you die you leave a statue of yourself, which can help restrict the environment in future games.
This will be the first game in which I play with a hunger clock – over the course of the game you will gradually get slower, so that what were once easy enemies are suddenly going faster than you.
How well this all works I’ll have to find out. And how well I can explain this to the player will also be a challenge…
Best of luck to everyone taking part! I look forward to all the cool and innovative new roguelikes I’ll get to play in a week’s time :D
Released! The Trapped Heart is a hex-based roguelike where enemies have directional shields. You need to arrange attacks from the right directions to do damage. Download from itch.io (ignore the price request):
I didn’t get all I wanted done this week, and the artist I had on board didn’t manage to make any enemy sprites (hence my shoddy artwork in the game). But I had a lot of fun designing the mechanics and interesting enemies and bosses to fit with the mechanics.
The big piece missing is the story, which is there in parts but lacks the detail I was after. In particular the game doesn’t achieve my objective of having an Undertale-inspired multi-layered story that plays out across numerous runs. Oh well, here are some more pictures:
Fighting a giant slug in the swamp
Some cave critters
The Knights of Undying Friendship! Alas, without the many dialogue permutations I had hoped to include
You can find it here:
Screenshots later – I’m mentally exhausted now :P
I have 42 hours remaining. Right now I need sleep, and tomorrow I have a job to attend too. Have scent-following working quite nicely, though the game did crash on me for no reason just now (and I don’t even know where to start looking for any bugs). Hopefully it’ll be okay and I can start work on the traps tomorrow. More from my devnotes:
Update 21:29: Got the ogres moving randomly and the whole turn and time
system as I'd like. Also got messages for bumping into enemies
(including some hints for bosses). I'm still unsure of how to get the
ogres to move in the right direction though. Needs some hard thought!
Update 00:47: Scent-tracker is working! Dear Christ that took a long
time... Ended up far more tricksy than I expected. Also not 100% sure
it's working as well as I want - need more testing, though I don't really
have the proper time. It seems to do what it needs to do, and so now
it's time for my chocolate reward :)
Also Trapper.pas now exceeds the source code length of Gruesome, which
was previously the longer piece of code I had written (1900 lines or so).
Still not a proper game though.
Have monsters added, though they’re quite immobile at the moment. Still, looking pretty good now – getting ever closer to it being a real game. Big test tomorrow will be movement and the path-finding by smell (which I’ve never done before). And of course getting the traps working properly, which are kinda the core of the game. Development logs I’ve been taking:
11th March 14:53: Right, time to start again, though I'm in work this
evening (7DRL is hard to fit in when you have 2 jobs!) Intend to get
basic enemies working. If I have enough time I can maybe even fit in
their scent-trcking system (which I really hope I've thought through
Update 16:17: I got message handling working 100%! It now splits lines
into separate words before looping them properly round the message bar
with [more] prompts. I couldn't get this problem out of my head from
before and just had to work on it... Took a lot of trial and error, with
a little bit of learning about uninitiated ansistrings in Pascal, but
good god I'm so happy to have that working now.
Update 17:21: All trap-laying code is in and working easily. Of course they
don't actually do anything yet, but it's nice to have the fuller player
interface worked out. All that remains is putting in monsters and
making them do things. I've now changed the numbering 0.1.0 to
signify my shift towards a real game. The 0.1 line will involve getting
ogres working. 0.2 and higher will signify getting bosses coded. It's
all very exciting :)
12th March 00:18: Back form my barshift, might do a little coding before
I hit the hay. Earlier I got creatures generated and randomly positioned
- even did the bosses since it was so simple. Need to give them
movement and interaction, in particular with traps. Also thought about
adding a hardcore difficulty setting where Toby moves twice as slow -
fairly trivial to add and could add fun.
Update 00:43: Hardcore mode added. Really was very simple. Must get to bed
now though... Hopefully will have a decent amount of time available at
Well, can’t say the game is half-finished, but in terms of real-time hours I’m around halfway through. However I anticipate having more time than I’ve had so far on Friday/Saturday/Sunday, so hopefully all will go well. Some notes I’ve been taking as I go along:
9th March 18:58: Well, gave up on that message handler at around 2am. I'm
sure if I had more time I could get it running, but it was too much for
my weary head and I don't have the time to sort it out properly. For
now I'll stick with the KISS philosophy (Keep It Simple, Stupid) which
has always served me well.
Update 19:42: Got my very bsic message looper worker perfectly. I love it
when I think up an idea and then I find it works exactly as I had
planned... it's a rare event. Next step - test out digging. After that
I'll finally get some ogres on the loose.
10th March 01:27: Added diging and a bunch of other stuff. Got rather
sidetracked actually - added in the menu display for traps and the gems
to be collected to open up new trap types. Traps can't actually be laid
yet though, and more importantly there's no enemies to use them on. I
will have zero time for coding till Thursday, and not much time even
then, so I really hope I can get a lot of work done during the last hours
of the weekend. Implementing enemies may turn out to biting off more
than I can chew...
I have a working cave explorer thingummy going. I can’t get message handling working well, so I’m giving up on it. Next up is adding monsters, which will turn it into a proper game. In my lunch break at work I wrote the following background story:
Gadzooks! Wuggy the Warlock and his gang of ugly ogres have attacked the
tiny gnomish town of Turgylton and stolen the Gems of Power! Now it's up
to the town's hero Toby the Trapper to venture into the villain's
cavernous lair and retrieve the holy Gem of Life. But this is no easy
stroll down the mine - the ogres aren't just ugly, they're also big and
tough, able to squash little Toby with a single swipe! And deep
within the dark lair Wuggy the Warlock and his fiendish friends guard the
Gem of Life with foul sorceries and terrible powers!!
Still, it's not all doom and gloom. Toby is much faster than the big
brutes and can see better underground too (the dumb ogres can only sniff
their way around, and it's hard for them to smell anything above the
stench of their own ugly bodies!) He also still has some Gems of Power to
create traps to use against them, and may find more along the way. So do
you feel up to helping Toby fight these dastardly villains?! With
Flashers and Bangers and Boomers and Blinders and much more besides you'll
explore varied random dungeons filled with dread and excitement in your
quest to help Toby defeat the wicked warlock and save his tiny town! Let
the adventure begin!!!!!
For the curious you may also wish to see my development notes so far:
7th March 23:44: 0.0.1. Ported code from The Lion King and Gruesome.
Includes dungeon generation of a few cave types, LOS and moving
around. LOS should work out of the box, rest must be properly
tested and tweaked. Many worries.
Update 8th March 02:41: Got everything working after a lot of fiddling
and silly sleep-deprived errors. Need to make some code adjustment to
how the last level is generated, but otherwise extremely happy with
results. Also may wish to tweak some colour schemes, but that's not
immediately important. Next up is message management, wall-digging
and properly implementing enemies, none of which I've done thoroughly
before. How exciting...
8th March 20:31: No time to work on it today. Just spent a few minutes
tweaking the map generator so that the final level is more selective
about layouts that are too spartan. Thinking of adding something to
encourage loops in levels, but no need for it now... Will try and
find time to get stuck into the real mechanics of the game later.
I've now labelled it 0.0.2 - it's a stable cave explorer with different
level themes, essentially.
8th March 23:55: Gonna play a little with a message handler, but if I don't
get far then I'll just give up. It's not important enough to waste
much time on.
Anyway, on with the coding…
So, um, I’ve not been very attentive to my little creation of over a year ago – Gruesome has alas been without any development whatsoever, and my time-deprived lifestyle means that it’s likely to stay that way, alas. However it’s time for the 7 Day Roguelike competition again and I have what I think is a neat little idea to try out. Hopefully I’ll have more time to complete it than last year’s effort… but, well, I still have a busy week otherwise so my hopes aren’t too high.
My idea is called “Toby the Trapper”, about a little gnome who must fight some ugly ogres and a wacky warlock. Unable to harm the ogres he must rely on his superior speed and magical traps. Like Gruesome this is a one-hit-kill game with little stats and extreme emphasis on careful movement. With a bit of luck it’ll also be fun.
So, time for me to get dug in – see you in 7 days!
Well, I’ve failed the 7DRL competition – I simply didn’t have enough time to get a working title out. Maybe with just a few more hours… But alas, the hours have been scant this week, and I could only devote around 14 hours to the project (about 5 last sunday and 8 or 9 today). I managed to get Simba wandering around randomly generated jungles with inert hyenas for him to claw or bite at. If anyone wants to see you’re welcome to check out the Windows exe and source here – perhaps of use to people learning Pascal, as it has many of the basics of a simple roguelike engine. Anyone who’d like a simple gander at the failed results can check out this pic:
Many many things missing, but oh well – or Hakuna Matata, I should say. Will hopefully spend a bit of time getting it finished in future…
As soon as I publish this post I’m going to begin work on my second roguelike title, and hopefully within 168 hours I’ll finish it. It should help me learn quite a few things, much of which will feed back into Gruesome. The following are new things I shall be implementing:
- multiple enemy types
- basic pathfinding and AI
- combat system
- character stats
- experience levels and progression choices
- forest and ravine generation
- proper message handling (with [more] prompt etc)
- character logs upon win/lose
Nothing particularly complex, but still all foreign to me. From Gruesome I’ll be ripping the FOV algorithm, a bit of display stuff and maybe the cave generator, though it’ll all need reworking.
The inspiration for the game was quite simple – when considering what I wanted to do for a 7DRL I thought it would be great to have a combat system whereby single enemies were little threat, but together they could defeat you even at high levels, like wolves tearing down a lion (as the expression goes). Lion, I thought… doesn’t an ‘@’ symbol look a little like a lion’s head with a mane of fur around it…? And doesn’t it also look a bit like the old monkey’s lion symbol on the tree in the Disney movie…? And the idea came flooding in.
For those who haven’t heard of the Disney classic “The Lion King”, go watch it – it’s quite a good film, and Jeremy Irons plays a loveable Scar. If I knew how I’d throw some voice samples into the game. The gameplay should be fairly basic – explore randomly generated forests and ravines, then battle it out with Scar on Pride Rock. Hopefully it’ll be fun enough.
I’ll post here with progress updates and maybe some screenshots as the week goes on – stay tuned!