Deus Heist
I managed to make a playable level of a DOS heist game.
It's a text-based game, built for 16-bit DOS, so in theory, it should run on a 286 (albeit as slow as a sedated two-legged dog). I haven't had any time for optimising it, and the code is hideous, but it is technically playable.
The main feature is the visibility check, modelled on the game Monaco: What's Yours is Mine.
It scans out from the player, checking if a cell blocks line-of-sight or not. I made it fairly efficient by splitting the check into quadrants (N, E, S, W) and scanning cells between two edge-lines. If it encountered an opaque block, it would split the scan up and recurse.
On DOSBox, it gets a little slow when you can see a lot of the screen. I imagine on a 286, this would crawl. However, the game world does not change at all in the current version, so there are no guards going to creep up on you while you're lagging.
I could also help things by designing the maps so there is nowhere you can see very far, or even just hard-coding a range limit.
If/when I continue with this project, I'd like to add:
It's a text-based game, built for 16-bit DOS, so in theory, it should run on a 286 (albeit as slow as a sedated two-legged dog). I haven't had any time for optimising it, and the code is hideous, but it is technically playable.
The main feature is the visibility check, modelled on the game Monaco: What's Yours is Mine.
It scans out from the player, checking if a cell blocks line-of-sight or not. I made it fairly efficient by splitting the check into quadrants (N, E, S, W) and scanning cells between two edge-lines. If it encountered an opaque block, it would split the scan up and recurse.
On DOSBox, it gets a little slow when you can see a lot of the screen. I imagine on a 286, this would crawl. However, the game world does not change at all in the current version, so there are no guards going to creep up on you while you're lagging.
I could also help things by designing the maps so there is nowhere you can see very far, or even just hard-coding a range limit.
If/when I continue with this project, I'd like to add:
- more levels (obviously)
- guards following patrol paths
- guards reacting to noises, etc.
- doors to open/close
- non-guard NPCs
- furniture / level atmosphere
- music and sound effects
- larger, scrolling maps with multiple floors
- hackable cameras so you can see what they see
...and so much more. It's got masses of potential, it just needs a complete re-write from the ground up with a proper design in mind. :P
Comments
Post a Comment