Jump to content
Sign in to follow this  
Atarius Maximus

Inferno

Recommended Posts

So, I've always thought towering inferno was a cool game, and after playing it a few times this past week I thought I'd try and make a new version with bB that looks a little better. This version plays very similar to the original. I had to use the same sprite (and missile) to make all of the fire in the building rooms, so there is lots of flicker. The flicker makes it difficult to shoot and hit the fire sometimes, which was unintentional but does add a little difficulty to the game. It works pretty well in the context of the game anyway as you may not be able to put out a fire with a single blast of water, right? You'll have to use your imagination for some of the fire - I used a sprite that resembles a flame, but I also used a square missile defintely doesn't resemble fire. icon_smile.gif Making more than 5 copies of the same sprite causes way too much flicker, and I wanted more than five flames in each room.

 

You'll start off on a screen with a burning building, 14 stories tall. Move your fireman to the right to enter the building. Each of the 14 levels has a timer, you have approximately 30 seconds to put out as much of the fire as you can and safely exit the room at the top. When the timer gets down to about 5 seconds, the score will start to flash to let you know that time is about to expire. Each level of the building has it's own unique floor plan, some are more challenging to get through than others. You'll score 10 points for each fire that you put out. Once you've made it to the exit, you've cleared that level of the building and can move on to the next. Each time you clear a room, you'll go back to the building screen and you'll see one level of fire disappear. Enter the building again to move on to the next level. The goal of the game is to clear as much fire from each room as you can (racking up as many points as possible) and safely exit the building. You can win the game without putting out all of the flames.

 

There are three levels of difficulty which are selectable at the title screen. Push up and down on the joystick to select the level, then press fire to start the game. The fire moves progressively more quickly in each level, and in level three you begin with only 3 fireman rather than 6.

 

I've included some screenshots below. The screenshot of the burning room of course doesn't show all the flames due to the flicker, there's much more onscreen than I can capture in a screenshot. The game is basically complete, although it still lacks audio. I'm going to be working on that next and will post a new version with sounds when it's finished. Comments and suggestions are welcome!

 

EDIT: Version 24 adds audio to the game and has a few color changes and bug fixes. As of right now, I expect it will be the final version.

 

Thanks

 

Steve

post-2143-127375578083_thumb.jpg

post-2143-127375579121_thumb.jpg

post-2143-12737557994_thumb.jpg

inferno.txt

inferno.bin

inferno24.bin

inferno24.txt

Share this post


Link to post
Share on other sites

Looks like it might be fun - I will have to check this out later today with Stella!

Share this post


Link to post
Share on other sites

Red on green can be hard to see, depending on the red and green used and the size and shape of the object. It can almost be as bad as red on blue. Red on green plus flicker can make it even harder to see. You might want to try other colors besides green to see what looks best.

Share this post


Link to post
Share on other sites

Red on green can be hard to see, depending on the red and green used and the size and shape of the object. It can almost be as bad as red on blue. Red on green plus flicker can make it even harder to see. You might want to try other colors besides green to see what looks best.

 

I didn't choose green for any particular reason so I would have no problem changing that. You're right, a color change to improve the contrast between the background and the fire sprites would probably be helpful. I look into that for the next version I post.

 

Steve

Share this post


Link to post
Share on other sites

Still no sounds, but I'm going to try and work on that tonight. This version fixes a few very minor bugs that I found - I cleaned up the game over screen so there aren't any leftover sprites or missiles displayed during the animation, and I noticed that the building screen always showed that you had six lives left no matter how many you actually had. Both issues were fixed.

 

This version also changes the room background color to white instead of green. I think it looks pretty good and provides a good contrast with the fire to make it easy to see with all the flicker. Thanks for the suggestion, RT.

inferno21.bin

Share this post


Link to post
Share on other sites

Thanks. If that turns out to be too harsh for some people with their brightness turned up too much, you could always try the next color down from white (the lightest gray) and see how that looks.

Share this post


Link to post
Share on other sites

Thanks. If that turns out to be too harsh for some people with their brightness turned up too much, you could always try the next color down from white (the lightest gray) and see how that looks.

 

Thanks to everyone for the compliments. :) Yeah, RT, I see that the bright white may be a little too much, I'll probably make it a lighter shade of grey in the next version I post. Haven't had time to work on the sounds yet, will hopefully have that done in the next few days.

 

Steve

Share this post


Link to post
Share on other sites

Awesome game. Lots of fun. Great graphics. I suck at it so far.. found it fast, but I only gave it one or two games. I have to run out to get din din ready.

Share this post


Link to post
Share on other sites

Ok, I've finished up on the audio for the game. I also made one more color change, I toned down the bright white in the rooms making it a little bit darker. Unless any bugs are found, the game's complete.

 

Steve

inferno24.bin

inferno24.txt

  • Like 1

Share this post


Link to post
Share on other sites

I really need to sit down one day and fool around with the multisprite kernel as it looks very powerful. The flames in the windows are very nice looking.

 

Alright, I gave this game a good play last night. Enjoyed it a lot. Don't think I played the original game, or don't remember what it was like.

 

What does the future hold for this game? As it is now it's very easy to beat.

 

I know what the flames are, but what are the squares supposed to be? They're sometimes hard to shoot.

 

Ideas:

 

- 3 lives instead of 6 so you can display a water meter on one side? Only get so much water per floor, in between floors it fills back up.

- Multiple buildings on fire? After you complete one you move on to another? After you finish them all it starts over, but harder.

- People to rescue for bonus points?

Share this post


Link to post
Share on other sites

I really need to sit down one day and fool around with the multisprite kernel as it looks very powerful. The flames in the windows are very nice looking.

 

Alright, I gave this game a good play last night. Enjoyed it a lot. Don't think I played the original game, or don't remember what it was like.

 

What does the future hold for this game? As it is now it's very easy to beat.

 

I know what the flames are, but what are the squares supposed to be? They're sometimes hard to shoot.

 

Ideas:

 

- 3 lives instead of 6 so you can display a water meter on one side? Only get so much water per floor, in between floors it fills back up.

- Multiple buildings on fire? After you complete one you move on to another? After you finish them all it starts over, but harder.

- People to rescue for bonus points?

 

Just use your imagination -- the squares are also supposed to be fire! ;) Seriously, though, I don't really know how to explain what they "should" be, I really just wanted additional obstacles and I didn't have any other objects left to use on the screen. I know they're hard to shoot, and it was unintentional, but I liked the additional difficulty it added to the game. I usually just try to get around them rather than shoot them. This actually uses the standard kernel, not the multisprite kernel, so the sprite flames are all made out of one sprite and flickered to make five, and the "square" fire is also made out of one missile and flickered to make five.

 

Your ideas are good ones, I don't think it would be all that difficult to add a water meter and make it possible to run out before you clear each level. I do have three levels set up already (selectable from the main menu), each one starts with the fire obstacles moving a little faster. It would be easy enough to add more of a level progression with multiple buildings rather than just winning the game after clearing one. I could leave level 1 as is, where you win after one building (I've always liked games with endings), and make levels 2 and 3 just restart with progressively faster obstacles and additional buildings rather than just ending. I thought about your idea of having people to rescue, but I'm all out of on-screen objects I can display unless I flicker the player sprite as well. I can try that out and see how it looks.

 

Check out the original game too, it has it's flaws but I always thought it was fun. The bin is of course availble here on AA in the games database.

 

Thanks for the suggestions, I'll look into making a few changes.

 

Steve

Share this post


Link to post
Share on other sites

quote]

Just use your imagination -- the squares are also supposed to be fire! ;) Seriously, though, I don't really know how to explain what they "should" be, I really just wanted additional obstacles and I didn't have any other objects left to use on the screen. I know they're hard to shoot, and it was unintentional, but I liked the additional difficulty it added to the game. I usually just try to get around them rather than shoot them. This actually uses the standard kernel, not the multisprite kernel, so the sprite flames are all made out of one sprite and flickered to make five, and the "square" fire is also made out of one missile and flickered to make five.

 

Awesome. I don't know how it looks on a real system, but flicker isn't bad on computer.

 

Your ideas are good ones, I don't think it would be all that difficult to add a water meter and make it possible to run out before you clear each level. I do have three levels set up already (selectable from the main menu), each one starts with the fire obstacles moving a little faster. It would be easy enough to add more of a level progression with multiple buildings rather than just winning the game after clearing one. I could leave level 1 as is, where you win after one building (I've always liked games with endings), and make levels 2 and 3 just restart with progressively faster obstacles and additional buildings rather than just ending. I thought about your idea of having people to rescue, but I'm all out of on-screen objects I can display unless I flicker the player sprite as well. I can try that out and see how it looks.

 

Oh, didn't know there were levels to select. I'm fine if the game has an ending. Just thought there should have been other difficulties. Will try out when I get home.

 

I was always interested in seeing a Dragonfire II. Maybe that interests you.. something with more screens or a princess to rescue.

  • Like 1

Share this post


Link to post
Share on other sites

I'm working on adding a few changes to the game, mostly based on yuppicide's suggestions.

 

Changes in WIP version 25:

 

- You start off with three lives on all levels rather than 6, to make room on the status bar for the next new feature:

 

- There is a water meter on the bottom left side now, which will shrink as you use your fire hose. When the meter is empty, you're out of water for that level. You will get a refill for each building level you pass.

 

- As it is now (in build 25), only level one is "winnable", levels two and three will simply restart you from the beginning again at a slightly higher difficulty level. I'm going to be changing that in the next revision.

 

What I'm working on for the next revision:

 

- There will be a person you can rescue on each level for bonus points. I have it working, but it's going to take some time to get it all in place. Collision detection is difficult when you're using the same sprite flickered in two different places, there's no command in place to for a sprite to detect a collision with itself. icon_wink.gif I think I have figured out a way to do it, though. I was concerned about flicker for this, so how I have it now is I'm displaying the person you rescue only once every 8 frames, and the main player the other 7. That makes the flicker barely noticeable on your player, and the person you need to rescue kind of "blinks".

 

- Level 1 will have one building to beat, Level 2 will have two buildings to beat, level 3 will have three buildings to beat. I already have the level selection option built in to the titlescreen, so that should be an easy thing to add. I noticed that the code I use to increase the speed of the flames for each level doesn't work very well, and I haven't found a good way to do it. There's so much randomization built in to the fire's movement that changing speeds, even drastically, is barely noticeable. I may do something else to increase difficulty on each level - maybe less water in the hose or slower movement of the player character.

 

- Tweaking the water reduction amount as you use the hose, I may increase it or decrease it after putting some more playing time into the game.

 

- Extra lives - I'm thinking I may add an extra life feature, maybe if you clear a level without getting hit, or maybe based on your point total.

 

 

I'm posting version 25 now, but it's just a WIP. Download it if you'd like to check out the one new feature I included, the water hose meter.

 

Thanks,

 

Steve

inferno25.bin

Share this post


Link to post
Share on other sites

I like it as it is challenging but not to difficult.

 

Yeah, I don't think it's too easy as it is now - I made the game and I struggle to finish one building. Of course, I'm probably trying to play through it too fast and take too many risks. :) I'm changing it to three lives instead of six which will make it harder, but in the next version I'm going to put in some way to get an extra life now and then to balance that out.

 

Steve

Share this post


Link to post
Share on other sites

- There will be a person you can rescue on each level for bonus points. I have it working, but it's going to take some time to get it all in place. Collision detection is difficult when you're using the same sprite flickered in two different places, there's no command in place to for a sprite to detect a collision with itself. icon_wink.gif I think I have figured out a way to do it, though. I was concerned about flicker for this, so how I have it now is I'm displaying the person you rescue only once every 8 frames, and the main player the other 7. That makes the flicker barely noticeable on your player, and the person you need to rescue kind of "blinks".

 

I had the same problem in Mean Santa. Let me know if you need some working sample code for this. :)

I got around it by having the Santa object have an X/Y coordinate in RAM, as well as the dog that was chasing him.

Every frame, you check to see if the squares overlap-- it's 4 calculations.

First, do 2 comparisons in the X direction, and if that succeeds (within overlapping boundaries), then do the 2 comparisons in the Y direction.

The only issue with such a method is that it's limited to squares. So, if your sprite has spaces at his corners, and the other sprite does as well, then you could end up with a situation where a "touch" occurs, but it doesn't really. However, in a rescuing trapped people scenario, they'll disappear right away, so nobody should notice.

 

Good luck, and let me know if you want me to dig up a small snippet of code for ya.

 

Liking the progress!

 

-John

Share this post


Link to post
Share on other sites

I like it as it is challenging but not to difficult.

 

Yeah, I don't think it's too easy as it is now - I made the game and I struggle to finish one building. Of course, I'm probably trying to play through it too fast and take too many risks. :) I'm changing it to three lives instead of six which will make it harder, but in the next version I'm going to put in some way to get an extra life now and then to balance that out.

 

Steve

 

Great work keep it up!

Share this post


Link to post
Share on other sites

- There will be a person you can rescue on each level for bonus points. I have it working, but it's going to take some time to get it all in place. Collision detection is difficult when you're using the same sprite flickered in two different places, there's no command in place to for a sprite to detect a collision with itself. icon_wink.gif I think I have figured out a way to do it, though. I was concerned about flicker for this, so how I have it now is I'm displaying the person you rescue only once every 8 frames, and the main player the other 7. That makes the flicker barely noticeable on your player, and the person you need to rescue kind of "blinks".

 

I had the same problem in Mean Santa. Let me know if you need some working sample code for this. icon_smile.gif

I got around it by having the Santa object have an X/Y coordinate in RAM, as well as the dog that was chasing him.

Every frame, you check to see if the squares overlap-- it's 4 calculations.

First, do 2 comparisons in the X direction, and if that succeeds (within overlapping boundaries), then do the 2 comparisons in the Y direction.

The only issue with such a method is that it's limited to squares. So, if your sprite has spaces at his corners, and the other sprite does as well, then you could end up with a situation where a "touch" occurs, but it doesn't really. However, in a rescuing trapped people scenario, they'll disappear right away, so nobody should notice.

 

Good luck, and let me know if you want me to dig up a small snippet of code for ya.

 

Liking the progress!

 

-John

 

Hey John,

 

Thanks for explaining how you did it, and sure, I'd love to see some sample code if you can find it. I worked on the game a little bit this morning and I got past one of my major hurdles, in that displaying the player sprite in two locations was messing up playfield collision detection. I haven't tried working on collision detection between the player & the person to rescue yet - I just had some ideas in my head I wanted to try. Seeing your code would be a big help.

 

Thanks,

 

Steve

Share this post


Link to post
Share on other sites

Sounds awesome. Will test out tonight when I get home.

 

All these awesome games, someone needs to RELEASE some of them on cart.

Share this post


Link to post
Share on other sites

Here's some source code from Mean Santa.

I removed the irrelevant, and added some comments to help.

Let me know if you have any questions.

 

 

;=================
GameCalc2Bank2 ; called after Santa's DrawScreen routine is done, and only on even frames (when Santa is on the screen, not the dog)
;=================
;============================
; Did a Collision occur?
;============================

LDA	LivesRemaining
BNE	CheckCollisions
JMP	NoDogSantaCollision
CheckCollisions

; First, we check PF collision
LDA	CXP0FB
BPL	DidNotHaveCollisionWithChimney
JMP	WeWonTheLevel

DidNotHaveCollisionWithChimney

; Here is where you do all of your Player1/Player0 collision detection.
; You want to clear collisions before drawing a "Santa" Frame, since collisions don't matter for the dog graphic.
; My code for this is weird (a bunch of CX-checks), but you can use your own ones here.

;=== Clear them for next time ==
LDA	#0
sta	CollisionCheck
STA	CXCLR

;==================
; Did a Santa/Dog collision occur?
;==================
;== First, see if this mode supports the dog-- some levels do not
LDA	LevelNumber
CMP	#16
BMI	NoDogSantaCollision ; no need to waste cycles if we know there's no dog here anyway.

;== Ok-- both are on-screen for this level.  This requires some fancy math.
CheckVertical
LDA	DogVPos
CMP	SantaVPos
BEQ	CheckHorizontal
BMI	SubtractCheckVert
AddCheckVert
SEC
SBC	#14
CMP	SantaVPos
BPL	NoDogSantaCollision
JMP	CheckHorizontal
SubtractCheckVert
CLC
ADC	#13
CMP	SantaVPos
BMI	NoDogSantaCollision

CheckHorizontal
LDA	DogHPos
CMP	SantaHPos
BEQ	DogSantaCollision
BMI	SubtractCheckHoriz
AddCheckHoriz
SEC
SBC	#7
CMP	SantaHPos
BMI	DogSantaCollision
JMP	NoDogSantaCollision
SubtractCheckHoriz
CLC
ADC	#7
CMP	SantaHPos
BPL	DogSantaCollision
JMP	NoDogSantaCollision

DogSantaCollision

LDA	#0
sta	CollisionCheck
STA	CXCLR ; Clear out the collisions in case repositioned dog overlaps Santa-- we won't check collisions while the dog is waiting for 60 frames

 IF INFINITELIVES
; nothing
LDA	LivesRemaining
 ELSE
DEC	LivesRemaining
 ENDIF
BEQ	GameOver

; Other collision situation code goes here

NoDogSantaCollision

; Other code for calculations goes here if life goes on, and Santa did not touch the dog.

 

Hope this is useful!

 

-John

Share this post


Link to post
Share on other sites

Finally got around to trying version25.

 

 

 

Like the changes so far, but here's my new suggestions:

 

 

 

Like the sound and I know it's fire, but with a constant hum like that I could mistake it for a old car idling in the driveway. Something to change every now and then would be more flame like.

 

 

 

Like the water meter, but here's an idea.Maybe when you clear a floor and bonus points based on how LITTLE water you use up. Teaches kids to conserve (cough cough stop taking hour long showers).

 

 

 

On levels 2 or 3 (not 1) how about a random thing: a wall collapses from the fire. One of two things can happen on a floor: 1 - Nothing happens, 2 - Rare occasion a wall will collapse blocking your path. You will have to douse it with water to get through or take an alternate route if you're out of water (on levels that have one). Would need a sound for this wall falling.

 

 

 

I didn't know you press up and down title screen in order to select level (remember originally I didn't know there were more difficulties). How about allowing select switch also?

 

 

 

What does WL stand for? Warehouse Level 1, 2, and 3? If so, maybe make level 1 have less floors to clear, level 2 a little more, level 3 even more. Do a graphical thing on the title screen when you select a level to show a smaller sized building, medium, and large.

 

 

 

Of course all suggestions.. game is great as it is.

 

 

 

 

 

 

 

 

 

Lastly, here's ideas if you want to do a sequel Inferno II.. how about when you enter a floor you are presented with a "hallway" screen. The hallway presents you with 6 or 8 rooms. You have to clear all those rooms of fire and rescue people. Some rooms contain people, some contain fire, some contain both. Instead of exiting through the top like in your current game, you come in and go out the same exit. So, picture your hall like this:

 

 

 

ROOM1 ROOM2 ROOM3 ROOM4

 

 

 

-HALLWAYHALLWAYHALLWAY-

 

 

 

ROOM5 ROOM6 ROOM7 ROOM8

 

 

 

On floor 1 you enter the hallway from the left. The top rooms you enter and exit through bottom of screen, bottom rooms you enter and exit through top. Floor 2 you enter the hallway from the right. It zigzags.. kind of giving the illusion of you going up stairs.. you know how stairs go up, turn, then go up the othe way.

 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...