Jump to content

Photo

Inferno


24 replies to this topic

#1 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • 1,794 posts
  • Load "Atari2600",8,1: SYS32777
  • Location:St. Louis, Missouri USA

Posted Thu May 13, 2010 7:10 AM

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. Posted Image 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

Attached Thumbnails

  • inferno1.jpg
  • inferno2.jpg
  • inferno3.jpg

Attached Files



#2 Propane13 OFFLINE  

Propane13

    Stargunner

  • 1,642 posts
  • Location:Charleston, SC

Posted Thu May 13, 2010 7:43 AM

Cool!

-John

#3 ls650 OFFLINE  

ls650

    Quadrunner

  • 6,546 posts
  • Atari rocks!
  • Location:British Columbia

Posted Thu May 13, 2010 8:29 AM

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

#4 pitfall_jerry OFFLINE  

pitfall_jerry

    Space Invader

  • 45 posts
  • Location:Atlanta, GA

Posted Thu May 13, 2010 9:47 AM

Good job, I'll have to try it out at lunch.

#5 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 27,801 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Thu May 13, 2010 1:54 PM

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.

#6 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,794 posts
  • Load "Atari2600",8,1: SYS32777
  • Location:St. Louis, Missouri USA

Posted Thu May 13, 2010 1:59 PM

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

#7 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,794 posts
  • Load "Atari2600",8,1: SYS32777
  • Location:St. Louis, Missouri USA

Posted Thu May 13, 2010 4:58 PM

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.

Attached Files



#8 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 27,801 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Thu May 13, 2010 5:27 PM

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.

#9 yuppicide OFFLINE  

yuppicide

    I am the Black Knight. Give me your money!

  • 6,933 posts
  • Location:New Jersey

Posted Thu May 13, 2010 5:51 PM

The screen shots look amazing. Good work. I'll test it out tonight.

#10 ls650 OFFLINE  

ls650

    Quadrunner

  • 6,546 posts
  • Atari rocks!
  • Location:British Columbia

Posted Thu May 13, 2010 9:54 PM

I like the ending sequence!

#11 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,794 posts
  • Load "Atari2600",8,1: SYS32777
  • Location:St. Louis, Missouri USA

Posted Sat May 15, 2010 5:14 PM

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

#12 yuppicide OFFLINE  

yuppicide

    I am the Black Knight. Give me your money!

  • 6,933 posts
  • Location:New Jersey

Posted Sat May 15, 2010 5:59 PM

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.

#13 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,794 posts
  • Load "Atari2600",8,1: SYS32777
  • Location:St. Louis, Missouri USA

Posted Sun May 16, 2010 7:56 AM

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

Attached Files



#14 yuppicide OFFLINE  

yuppicide

    I am the Black Knight. Give me your money!

  • 6,933 posts
  • Location:New Jersey

Posted Tue May 18, 2010 9:09 AM

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?

#15 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,794 posts
  • Load "Atari2600",8,1: SYS32777
  • Location:St. Louis, Missouri USA

Posted Tue May 18, 2010 1:43 PM

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

#16 yuppicide OFFLINE  

yuppicide

    I am the Black Knight. Give me your money!

  • 6,933 posts
  • Location:New Jersey

Posted Wed May 19, 2010 11:41 AM

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.
[/quote]

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

[quote]
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.
[/quote]

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.

#17 pitfall_jerry OFFLINE  

pitfall_jerry

    Space Invader

  • 45 posts
  • Location:Atlanta, GA

Posted Wed May 19, 2010 12:37 PM

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

#18 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,794 posts
  • Load "Atari2600",8,1: SYS32777
  • Location:St. Louis, Missouri USA

Posted Wed May 19, 2010 1:59 PM

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. Posted Image 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

Attached Files



#19 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,794 posts
  • Load "Atari2600",8,1: SYS32777
  • Location:St. Louis, Missouri USA

Posted Wed May 19, 2010 2:02 PM

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

#20 Propane13 OFFLINE  

Propane13

    Stargunner

  • 1,642 posts
  • Location:Charleston, SC

Posted Thu May 20, 2010 5:51 AM

- 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. Posted Image 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

#21 pitfall_jerry OFFLINE  

pitfall_jerry

    Space Invader

  • 45 posts
  • Location:Atlanta, GA

Posted Thu May 20, 2010 6:50 AM

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!

#22 Atarius Maximus OFFLINE  

Atarius Maximus

    Stargunner

  • Topic Starter
  • 1,794 posts
  • Load "Atari2600",8,1: SYS32777
  • Location:St. Louis, Missouri USA

Posted Thu May 20, 2010 8:10 AM

- 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. Posted Image 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. Posted Image
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

#23 yuppicide OFFLINE  

yuppicide

    I am the Black Knight. Give me your money!

  • 6,933 posts
  • Location:New Jersey

Posted Thu May 20, 2010 9:15 AM

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

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

#24 Propane13 OFFLINE  

Propane13

    Stargunner

  • 1,642 posts
  • Location:Charleston, SC

Posted Fri May 21, 2010 4:49 AM

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

#25 yuppicide OFFLINE  

yuppicide

    I am the Black Knight. Give me your money!

  • 6,933 posts
  • Location:New Jersey

Posted Sat May 22, 2010 2:21 PM

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.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users