Jump to content
Muddyfunster

[WIP] Dare Devil

Recommended Posts

Dare Devil [WIP]

This is a WIP for my new project "DareDevil"

Inspiration.

I recently played a 2600 game called "Parachute" and despite what I'd call some odd execution choices and grating music, the actual game kept me coming back for another go. I decided, as just a quick test, I'd pull together a test bin to see if I could do something similar in bB and well, that little test turned into a few late night coding sessions over the holidays and then into a full project and has put SpaceBank on the back burner for a bit.

"Dare Devil" is intended to be something of a homage / remaster / my take of "Parachute".

Playing

Right now there are 5 Game Modes for testing purposes, each one starts the associated level (game mode 1 = level 1 and so on through to 5)

Avoid obstacles like hot air balloons and airplanes or you fall to your doom.

Birds won't kill you but will knock you off your flight path. Maybe that can be used as a benefit in tricky situations?

As you progress through each screen in the level, you will speed up a little, starting slow, eventually going quite fast.

Land in the circle for maximum points, if you are going too fast, you will crater. Later levels have different obstacles to negotiate when you land.

Weather vane in the bottom right shows the direction of the wind currently. Level 1 has no wind.

Controls

Fire start after selecting your game, fire also starts you on the intro screen. If it pauses, its usually waiting for you to press fire.

Left and right to move left and right

Down to speed up a little, like a zoom mode, useful for zooming through small gaps.

Up to slow your descent by about 30%, useful for those, "OMG I misjudged how close the next obstacle" is moments

Scoring

Score points by progressing through each screen and landing.

Balloons

Red Balloon = 150 pts

Purple Balloon = 300 pts

Green Balloon = 3x Points Multiplier for 12 seconds (Your parachute flashes RED)

Gold Balloon = invulnerability for 8 seconds (Your parachute flashes WHITE)

Tips

Gliding into the wind is slow, but going with the wind is fast, use this to your advantage.

Don't be afraid to use the whole width of the screen.

The first screen in each level is usually intentionally slow, so you can get to grips with the level, thinking of removing this.

learn to "zoom-zag" between the middle rows

A timely "zoom" can be a lifesaver.

learn to look ahead at the top row as you approach row 4, a timely slowdown can avoid a lot of trouble.

ToDo

Lots of features planned :

  • More sound effects, title tune (open to anyone that wants to volunteer!)
  • [WIP] More levels, varied movement and challenges
  • More and varied enemies to avoid.
  • Additional graphics, more variety, helicopters, UFO's, birds, gliders, biplanes etc.
  • Animated obstacles - birds to flap, helicopter rotors etc.
  • Graphics to change depending on the level / screen
  • [WIP] refine the levels and add a total of 10. Levels will have 3 sets, grass (regular), desert Island (getting tough) and water (hope you brought a paddle) and a final last level.
  • Bonus balloons, pick these up for points, temp power ups, magic, stuff, etc.
  • [WIP] add clouds, wont hurt you but you can't see in a cloud
  • add birds, wont hurt you but will knock you left and right
  • wind, higher difficulties you have to fight the wind as well as the obstacles
  • better "gameover" screen, maybe a game over short tune (open to volunteers!)
  • higher levels : obstacles on landing, moving obstacles, guys with spears, buildings, other random stuff.
  • Landing : varied points awarded depending where you land
  • Landing : moving landing point, (boat? truck? tbd).
  • Make it more difficult, right now it's way too easy.
  • Scoring overhaul, just test scoring right now.
  • Heartbeat added ingame
  • Option for ingame music - WIP.

Updates & changes

30th December 2018 - V62: First public test build , early days, feedback / suggestions very welcome!

30th December 2018 - v64 - working to add the wind elements (in but not active), changed the altitude readout to just a number.

31st December 2018 - V70, more iterative progress. More sprites added and some new level movement code for 2,3 and 4. Various systems in the code are coming together. I expect a few more updates will be ready this week.

 

1st January 2019 - V88, Seems we have a bit of wind affecting things from level 2 onwards. Further down you go, the stronger the wind becomes.

 

8th January 2019 - v105Branch2 - So I've been busy adding in some new graphics that change each screen and there are now 4 functioning test levels of maybe 15 planned and a bunch of new sprites.Code needs a clean and optimise then it's onto landing obstacles and moving / alternate landing pads and bonus balloons!

 

11th January 2019 Decided it was time to stop adding stuff for 5 minutes and take some time to optimise the code some, especially as I'd missed a RHC (Real Hardware Crash) that Cimmerian from ZeroPage had spotted on game over. Fixed that! (Gosub issues)

12th Jan 2019 V122 : spent some time finishing the optimization splitting the graphics calls between those that are animated and called each frame and those that are only set once per screen, probably saved a few cycles. Also added poppable red balloons and clouds. Other colours to follow.

16th Jan V147 : refined the balloons some, still an occasional bug where the balloon inherits the clouds NUSIZ values, added to the squish list. Level 5 added along with some temporary sound fx.

20th Jan : The "bonus" balloons are all now in the build i'm currently working on. Red and Purple for points, Green = x2 points multiplier, Gold = invulnerability for 8 seconds.

23rd Jan : build 180, test build from 20th, some extra bugs squashed. No airships though :( next build for sure. I do have an absolutely kicking title tune that I'm hoping to put into the next test build courtesy of the super music skills of RushJet1

10th Feb : Build 199. So this new build was more about optimisation. My sloppy code needed a bit of a rethink and that effort saved me 500bytes which will be put to good use. This build now has a new set of landing zones for level 4,5 & 6. (Desert Island). Levels 7,8 & 9 are coming next (water levels).

24th Feb: Build 201. After a short hiatus, I've got my coding mojo back again for this project. Levels 1 to 6 are done, 7-9 are nearly done, just thinking what to do with level 10... Added in stormy weather on level 3,6 and 9 as well as some ground obstacles. Moving landing zones are still being looked at for levels 7-9. Some over-cycle issues that need to be squished.

7th May : Build 210. So build 210 has the new music, it has some weather effects and pretty much all of the attributes for levels 1-9. There are some glitches so these are being squished now, odd sprite positioning etc. There are still some overcycle issues that need optimising, but this is getting very close to being done. Also done a bit of work on gameplay and balance tweaking,making the powerups more worthwhile but not too OP.

https://www.youtube.com/watch?v=s_gmo-iO8HE

https://www.youtube.com/watch?v=8WfYt5w2pVs

DD_NTSC_70.bas.bin

DD_NTSC_88.bas.bin

DD_NTSC_105 Branch2.bas.bin

DD_NTSC_147.bas.bin

DD_NTSC_180.bas.bin

Edited by Muddyfunster
  • Like 9

Share this post


Link to post
Share on other sites

Build 88 has wind! (must have been the cheap fizz on New Year's Eve).

 

The weathervane in the bottom left tells you the direction (level 0 has no wind).

 

for this build, game number = level number so you can skip to level 2, 3, 4. etc.,

  • Like 1

Share this post


Link to post
Share on other sites

This game is already pretty fun to play and the collision detection is spot on. I came pretty close to several obstacles. Can't wait for the additions.

 

For the moving landing points, could you make a boat bobbing in the ocean? Or how about a truck bouncing over rough terrain?

 

Thanks. :)

 

post-21941-0-36167300-1546575288.jpg

  • Like 1

Share this post


Link to post
Share on other sites

This game is already pretty fun to play and the collision detection is spot on. I came pretty close to several obstacles. Can't wait for the additions.

 

For the moving landing points, could you make a boat bobbing in the ocean? Or how about a truck bouncing over rough terrain?

 

Thanks. :)

 

attachicon.gifDare Devil_88.jpg

 

Those are great ideas Sramirez, thanks. I really like the boat one.

 

I'm about 1/2 way through adding in some new sprites and making the sprites change by level or screen then I'll be working on the landing zones, so I'll probably update this weekend on that.

 

Thanks everyone for the feedback and testing, it's really appreciated.

Share this post


Link to post
Share on other sites

Nice! Has a really good feel to it and the graphics are really well done!

 

Will look forward to how this progresses!

  • Like 1

Share this post


Link to post
Share on other sites

some gameplay footage of testing level 2 where the obstacles intermittently speed up and slow down. This build has 4 test levels, wind, birds and new obstacles

 

Bin in the first post

 

Edited by Muddyfunster
  • Like 3

Share this post


Link to post
Share on other sites

Finally got to play this one. Very nice! I even landed once :) Keep working on this one, I thought it was very fun. I missed it on last nights video ( I was late). You have to give me a clue on your collision detection on NUSIZ sprites... please :)

  • Like 1

Share this post


Link to post
Share on other sites

Finally got to play this one. Very nice! I even landed once :) Keep working on this one, I thought it was very fun. I missed it on last nights video ( I was late). You have to give me a clue on your collision detection on NUSIZ sprites... please :)

 

Thanks Winkdot appreciate the feedback. I have a lot more that I plan to add :)

 

For collision detection, it depends on what you want to achieve.

 

For Dare Devil I don't always need to know which virtual NUSIZ sprite, just that I've hit one. Sometimes I need to check which one I've hit but mostly, I just need to know if I've it any part of any NUSIZ player sprites and then report a collision.

 

So I check to see if there is a collision and check to see if the bit for a "bird" has been set, if so, then do something different to a regular collision . (birds don't kill, they just bump)

 

I also check for the player position and within certain ranges and if so, ignore collision altogether so it doesn't register a hit if you fly through the wind vane or lives counters on the HUD for example.

 

If you want to "know" which of your virtual sprites that you have hit, then

if collision(player0,player1) 

On it's own is useless,

 

You have to back it up with some math work on the co-ordinates to figure things out. There is some great sample code HERE on RT's reference site that I used to learn about this and Lillapojkenpåön also gave me some great guidance on this when I was struggling with conditional collision detection on Tyre Trax.

 

My code in Dare Devil (and it's probably not the most efficient, but hey, it works :) ) currently looks a bit like this, I've added a few comments in brackets to explain :

if !collision(player0,player1) then goto skip_col_check (no collision?, do nothing)

 	if _bit7_p1_bird{7} && collision(player0,player1) && (player0y+15)>= player1y && player0y <= (player1y+14) then goto p1_bird_bump  (is player 1 set to a bird and did p0 hit him?)
        if _bit6_p2_bird{6} && collision(player0,player2) && (player0y+15)>= player2y && player0y <= (player2y+14) then goto p2_bird_bump  (is player 2 set to a bird and did p0 hit him?)
 	if parachute_x<12 && parachute_y >128 then goto skip_col_check (did p0 hit the weathervane ? ignore it)
 	if parachute_y <10 || parachute_y >200 then goto skip_col_check (did p0 hit the lives counter? ignore it)
  	if collision(player0,player1) then temp1=sfxtrigger(#sfxSPLASH): goto collis_detected (did p0 hit a "kill" obstacle, if so play a sound using SpiceWare's driver and animate the death)

collision(player0,player1)

collision(player0,player2)

I don't think it matters what player number goes in as they are all the same (clones of player1) (at least that's my interpretation)

 

Hope my ramble helps.

 

If you have specific questions, yell or post up your code, I'm sure folks will try to help.

Edited by Muddyfunster

Share this post


Link to post
Share on other sites

Hi Muddyfunster, I love this game! The graphics are beautiful to look at, and the game is so much fun. I think that the quality is better than most of the original releases for the 2600 that I actually bought back in the day, and if this were available as a cartridge back then I would have certainly bought it and played the heck out of it.

 

Can I request that you to add one element to this game? Can you please add dirigibles as one of the obstacles/enemies? You can give them their own unique behavior / movement pattern as you deem fit, I just want to see them in the game because I dig airships / blimps and think that they are cool. Thanks very much for making this super-fun game and for listening to my ramblings. :dunce:

  • Like 2

Share this post


Link to post
Share on other sites

Hi Muddyfunster, I love this game! The graphics are beautiful to look at, and the game is so much fun. I think that the quality is better than most of the original releases for the 2600 that I actually bought back in the day, and if this were available as a cartridge back then I would have certainly bought it and played the heck out of it.

 

Can I request that you to add one element to this game? Can you please add dirigibles as one of the obstacles/enemies? You can give them their own unique behavior / movement pattern as you deem fit, I just want to see them in the game because I dig airships / blimps and think that they are cool. Thanks very much for making this super-fun game and for listening to my ramblings. :dunce:

 

NostAlgae37, You know that's a great idea, I love it.

 

I sat thinking of things to have in the game for the obstacles and I honestly never thought of dirigibles / airships. :thumbsup:

 

I'll be putting up a new build on Sunday, hopefully with some dirigible fun.

  • Like 1

Share this post


Link to post
Share on other sites

 

Thanks Winkdot appreciate the feedback. I have a lot more that I plan to add :)

 

For collision detection, it depends on what you want to achieve.

 

For Dare Devil I don't always need to know which virtual NUSIZ sprite, just that I've hit one. Sometimes I need to check which one I've hit but mostly, I just need to know if I've it any part of any NUSIZ player sprites and then report a collision.

 

So I check to see if there is a collision and check to see if the bit for a "bird" has been set, if so, then do something different to a regular collision . (birds don't kill, they just bump)

 

I also check for the player position and within certain ranges and if so, ignore collision altogether so it doesn't register a hit if you fly through the wind vane or lives counters on the HUD for example.

 

If you want to "know" which of your virtual sprites that you have hit, then

if collision(player0,player1) 

On it's own is useless,

 

You have to back it up with some math work on the co-ordinates to figure things out. There is some great sample code HERE on RT's reference site that I used to learn about this and Lillapojkenpåön also gave me some great guidance on this when I was struggling with conditional collision detection on Tyre Trax.

 

My code in Dare Devil (and it's probably not the most efficient, but hey, it works :) ) currently looks a bit like this, I've added a few comments in brackets to explain :

if !collision(player0,player1) then goto skip_col_check (no collision?, do nothing)

 	if _bit7_p1_bird{7} && collision(player0,player1) && (player0y+15)>= player1y && player0y <= (player1y+14) then goto p1_bird_bump  (is player 1 set to a bird and did p0 hit him?)
        if _bit6_p2_bird{6} && collision(player0,player2) && (player0y+15)>= player2y && player0y <= (player2y+14) then goto p2_bird_bump  (is player 2 set to a bird and did p0 hit him?)
 	if parachute_x<12 && parachute_y >128 then goto skip_col_check (did p0 hit the weathervane ? ignore it)
 	if parachute_y <10 || parachute_y >200 then goto skip_col_check (did p0 hit the lives counter? ignore it)
  	if collision(player0,player1) then temp1=sfxtrigger(#sfxSPLASH): goto collis_detected (did p0 hit a "kill" obstacle, if so play a sound using SpiceWare's driver and animate the death)

collision(player0,player1)

collision(player0,player2)

I don't think it matters what player number goes in as they are all the same (clones of player1) (at least that's my interpretation)

 

Hope my ramble helps.

 

If you have specific questions, yell or post up your code, I'm sure folks will try to help.

Thanks much! Gives me something to chew on. I have not started a game that would use this currently so I have nothing to share yet.

Share this post


Link to post
Share on other sites

I've been playing this and it is quit fun and challenging! It has that "one more time" factor! It also looks awesome!

  • Like 2

Share this post


Link to post
Share on other sites

Thanks for the feedback guys, it's appreciated.

 

I've just tested a new effect that I figured might be fun, a heartbeat sound, quiet in the back ground, but the faster you go, the quicker it gets. It kind of works but I'll let folks decide if they like it or not, will be in the next build.

  • Like 1

Share this post


Link to post
Share on other sites

I've been working on adding the bonus balloons and they are all in now. Red, Green, Purple and Gold.

 

Next build release will have them, airships and tension building heartbeat sounds.

  • Like 3

Share this post


Link to post
Share on other sites

I got around to trying this when Maggie and I were evaluating WIP games for the Atari awards. It's fun, and I love the controls and graphics. My only nitpick would be that I'd like the obstacles to change when I go to a new screen so it really looks like I'm still descending. I'd understand keeping them in the same place so one can strategize accordingly, though.

 

Alternately, you might want to consider moving the obstacles up instead to give the illusion of continuous scrolling until you reach the target, Just a thought; it is also plenty fun as it is now. :)

  • Like 1

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

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...