Damnation Alley - 8-bit wars competition entry

Started by Xerra, January 27, 2019, 18:50:00

Previous topic - Next topic

Xerra

I'm still dithering on wether to go ahead with a loose sequel to the classic Spy Hunter that I have in mind but I thought it couldn't hurt to do some background stuff which is probably going to be needed, regardless of what type of game I end up doing.

I'm not adhering completely to C64 screensize and look because I don't like a small window to play games on. I've set my project up so pressing F will switch in and out of full screen at will as it does work better that way.

So I started today by working on simulating the old raster bars on a C64 which would be shown while a turbo load pulled the game in on tape. The early games used to just blank out the box area and fill the screen with these coloured bars of varying sizes but the coders got much more ambitious in the later years of the machine. Before the Amiga took over, the most recent releases had all kinds of stuff going on with interupts while the games loaded. Music, graphic screens, mini games you could play (such as Space Invaders) all going on while the code loaded in the background. The games that took up a lot of memory were all jigged so that the last bit of code for them was loaded in over the code for the custom loader just because they needed that space too. Really clever stuff.

I'm doing nothing as ambitious here but just simulating the loading effect with the work area still displayed as I can adapt this routine to pixel load in some kind of bitmap as a fake loading sequence rather than the usual splash screen we'd use today. Left button or Space will still just skip the sequence for the non-nostalgic players, of course.

So here's a short video of the loading raster bars in action. They definitely looked much better than the naffy Spectrum loading lines :-)
M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/Gridrunner
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/

Xerra

I decided I'm going to go ahead and have a crack at a Spy Hunter type game so pondered a while for a suitable name.

A few years ago I found myself reminiscing about an old paperback that my mother had bought me to read while I was off school with a nasty bug. I think I read the entire novel over the space of three days as I enjoyed it that much. It bugged me that I could remember very little about it then apart from the title and that it was set in some apocalypse future after WWIII had occured. So I set about doing some googling to trace the book so I could pick it up and read it again.

That book was: https://en.wikipedia.org/wiki/Damnation_Alley

Basically the story was a hardened Hell's Angel, ironically named Hell Tanner, is sentenced to life in prison and given the option of carrying an essential cure for a killer virus between two states which included negotiating a nightmare area called Damnation Alley. Well worth a read if you ever come across it but I'm basically just using the name at the moment as I've got no graphic style in mind apart from using seasons.

Everyone knows how Spy Hunter plays, I'm going to assume, but I will be mixing it up a bit to change a few bits so it feels like a sequel that never actually happened.

I mentioned previously about putting some kind of loading system that makes it feel like you're loading a C64 game right from the start and I've been expanding on that today to make it a lot more authentic. Naturally the whole thing will be skip-able for those who wouldn't recognise and appreciate something like this instead of a bog standard splash screen, of course.

But, as well as showing the loading system colours as the game pretends to actually load up, I'm also going to do one of two other things which I will have to decide after I've finished working on the game itself.

If I'm pushed for time then I'll try and do some kind of bitmap loading system to simulate an old C64 loading screen with graphics being loaded in from tape and the pixels being poked straight into the screen memory.

However, if I have got time to do a bit more then who remembers Invade-a-Load ?

M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/Gridrunner
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/

Qube

QuoteIf I'm pushed for time then I'll try and do some kind of bitmap loading system to simulate an old C64 loading screen with graphics being loaded in from tape and the pixels being poked straight into the screen memory.
I did that for my "Last Ginger Ninja" comp game and it's very easy to do. I thought it was worth it for a bit of fun :)

QuoteHowever, if I have got time to do a bit more then who remembers Invade-a-Load ?
Me ;D - If I remember correctly there was also a pac-man one at some point.
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

3DzForMe

Oh My God Xerra, a Spyhunter Sequel.... Damnation Alley for the win!   :D
BLitz3D, IDEal, AGK Studio, BMax, Java Code, Cerberus
Recent Hardware: Dell Laptop
Oldest Hardware: Commodore Amiga 1200 with 1084S Monitor & Blitz Basic 2.1

Xerra

Quote from: 3DzForMe on February 01, 2019, 09:44:36
Oh My God Xerra, a Spyhunter Sequel.... Damnation Alley for the win!   :D

It's a very good game for it's time. I'm really nervous about actually taking it on but I think there's not much point to making games if you can't challenge yourself.

I didn't want to take the route of just making an easy, generic game with the right colours as you're kind of cheating yourself. I'm pretty stoked that every one of the entries I've seen documented so far has embraced the spirit of the competition and nobody is making life easy for themselves. I really do think that we might have some amazing games to show off come the end of this competition.
M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/Gridrunner
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/

Xerra

Time for an update.

I started building a system with buildings on the right hand side initially because I'm going with a shop in the game where you park your vehicle and can pick up oil/smoke/missiles by spending your score. Just like Paradroid did. This encourages you to be a bit more conservative about how much you spend as you'll end up with a crap score if you go Rambo with the weapons.

Initially I built a system where I had a rotation of four objects that moved in synch with the speed of the car to simulate the look of downwards scrolling. These buildings were going to work on a different update system to what I planned for the roads - which would also have been objects - because they are double-height. Gotta have room to park, right?

Anyway it worked ok really but tended to break when you varied vehicle speed by braking and accelerating all the time. Kind of what you're going to have to actually do to play the game. I wanted to use this system because I had an idea in my head of having random road designs each time you played and, if the blocks fitted against each other ok then I could have had infinite replay value as you'd never know what kind of hazard was coming up next. However, just with tinkering with the buildings, I came to realise that it wasn't working that well. I'd still be designing loads of blocks to make this all happen - especially if I want to use seasons which was my original plan. And getting an artist involved at a later stage - which I'm still not sure I'm going to do - would mean all sorts of back and forth to get it right.

So I tried plan B, which was to find the NES maps as a series of sprites, rework one of them to take out some of the area due to my system not allowing sprites above a certain height, then recolouring to follow the C64 palette. After this I've stuck them into one big tilemap and done some viewport and camera settings so I can lay it out on screen. Now I have the player car driving the lonely (for now) roads ready to take on whatever I throw at it. I've stuck with the double size hi-res mode screen resolution and put in the borders just to give it that authentic look. The only graphic currently not palette compliant is the player vehicle but I'll get that changed before final release. I just needed something to work with for now.

I don't have graphics for my buildings yet - including the shop - so I've just overlaid some temporary squares with colour so you get an idea how it will look alongside the normal scrolling road. I'll be editing the tilemaps to ensure that, once ready, there will be roads to enter these shops.

Currently I'm considering having stages in the game to break down the separate map sprites I have - if I use the other maps from the NES sprites - but not sure what to do inbetween. Maybe some kind of mini-game or bonus countdown.

I've also modified the loading sequence to match how a C64 looks when loading a game. This can be skipped but will hopefully add in a space invaders load game like Invade-a-load. I've already got a 90% written clone that I was working on a few months back that I can slot in if I have the time.

So here's a video of where I am at the moment. Coder crap art, missing graphics and all that. Not much will look the same when it's done. I hope.
M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/Gridrunner
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/

Xerra

M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/Gridrunner
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/

Steve Elliott

Coming on nicely Xerra, I better get a move on!
Win11 64Gb 12th Gen Intel i9 12900K 3.2Ghz Nvidia RTX 3070Ti 8Gb
Win11 16Gb 12th Gen Intel i5 12450H 2Ghz Nvidia RTX 2050 8Gb
Win11  Pro 8Gb Celeron Intel UHD Graphics 600
Win10/Linux Mint 16Gb 4th Gen Intel i5 4570 3.2GHz, Nvidia GeForce GTX 1050 2Gb
macOS 32Gb Apple M2Max
pi5 8Gb
Spectrum Next 2Mb

Qube

QuoteGuess Qube's system doesn't like video's of that size (15mb).
There's probably an 8mb post size limit. Probably better to host on YouTube for longer videos.

Coming along nicely I see ;D
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

iWasAdam


MrmediamanX

It's a thing that doe's when it don't..

Xerra

Quote from: iWasAdam on February 04, 2019, 07:04:09
Xerra - it looks brilliant :)

High praise from someone at your game-creating level. Thank you.
M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/Gridrunner
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/

3DzForMe

I can mask my initial disappointment that it's not the 1st choice of 8 bit coders (ZX spectrum), the graphics and play looks awesome
BLitz3D, IDEal, AGK Studio, BMax, Java Code, Cerberus
Recent Hardware: Dell Laptop
Oldest Hardware: Commodore Amiga 1200 with 1084S Monitor & Blitz Basic 2.1

Xerra

Quote from: 3DzForMe on February 06, 2019, 23:03:50
I can mask my initial disappointment that it's not the 1st choice of 8 bit coders (ZX spectrum), the graphics and play looks awesome
M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/Gridrunner
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/

Xerra

As for Damnation Valley, the screen size is going to be increased to make things a lot clearer, but the resolution will be the same, as I'll use a camera viewpoint to make that work. I've not really tried this stuff before but it seems to work well in an example I've been looking at.

That video shows a tiled large image of a scrolled screen grab - or reconstruction of the NES Spy Hunter and I've adjusted things to allow for my side-buildings idea. I really would prefer to have it as one continuous road, rather than stages, which I'd be forced to do if I made life easier for myself by using the same roads that the NES has. So I'm going to use a tile system and do my own road instead. I don't want to have the boat part of the original game either, so the originals would have been hacked about anyway.

I'll post another video once I get the new screen size in and hopefully the collisions because Spy Hunter was pretty original in letting you get away with running over the edges of roads to an extent. The car would shake a bit, like you're giving the suspension a work-over, but, as long as you corrected yourself, then you could get away with a collision that's knocked you onto the dirt sometimes. It's one of the things that gives the game a unique feel, I think. I definitely need to make that work well too.

So i'll lay out a new layer of collision registering tiles with two different types because I can hide their visibility and they will still do what they need to do. Orange areas at the road edges, where you'll bump around but can still recover your vehicle but the inner parts will be blue and there's no coming back from that kind of impact. Of course the enemies will be subject to the same conditions.

M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/Gridrunner
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/