+CyranoJ Posted March 9, 2013 Share Posted March 9, 2013 (edited) Seeing GB's 'Rocketeer' in the Inty forums has made me feel like 'putting right what once went wrong'... Anyway, here's about an hours worth of effort. I'm actually having some fun with this, and a lot of the code for the game logic (Rocket/fuel) can be CTRL-C/CTRL-V from the older game (The enemies need changing, obviously) For once, I thought I'd post progress builds here, just to see how that goes. It's not our normal way of doing things, and I can't promise I'll even continue working on this, or even finish it, but let's see where this takes us, eh? Comments are welcome - even if they're 'why the f**k are you even bothering?' [EDIT] If our wonderful forum host, Al, could enable posting *.ABS that would be wonderful! (Hopefully the compliment will work, hehe) RAPAPP.zip Edited March 9, 2013 by CyranoJ 8 Quote Link to comment Share on other sites More sharing options...
Albert Posted March 9, 2013 Share Posted March 9, 2013 [EDIT] If our wonderful forum host, Al, could enable posting *.ABS that would be wonderful! (Hopefully the compliment will work, hehe) Done! ..Al 4 Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted March 9, 2013 Author Share Posted March 9, 2013 Done! ..Al Whoohoo! Thanks Quote Link to comment Share on other sites More sharing options...
sh3-rg Posted March 9, 2013 Share Posted March 9, 2013 CJ, why the f**k are you even bothering? So is this J** P** zero? You do remember we started work on something that took us Full Circle? 2 Quote Link to comment Share on other sites More sharing options...
+DrTypo Posted March 9, 2013 Share Posted March 9, 2013 Ah! I see. It's a remake of Joust, but this time the player has a jetpack and shoots laser. This gives a fighting chance of defeating the pterodactyl! 6 Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted March 9, 2013 Author Share Posted March 9, 2013 CJ, why the f**k are you even bothering? So is this J** P** zero? You do remember we started work on something that took us Full Circle? I remember, we could still do that 1 Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted March 10, 2013 Author Share Posted March 10, 2013 OK, lets try and get some forum participation going! This thing is going to need a name. Obviously, we can't call it 'Jetpac' and I don't want to call it 'Rocketeer' because GB has that name.... so... suggestions please? If we (Reboot) think one is particularly pleasing, we'll use it, and you'll get credit for naming the game. Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted March 10, 2013 Share Posted March 10, 2013 Feel free to call it Rocketeer. Plenty of people have gone on to make Downfall versions of their own and use the same name so I don't see a problem with it personally. 2 Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted March 10, 2013 Author Share Posted March 10, 2013 Got the fuel drops working, you can collect them, and drop them over the rocket. Once I get the rocket blast off/landing in I'll post another build... and then... onto the baddies!!! This is pretty much how we build up games normally, element by element, and then start skinning them later when it all works - so expect it to look crap for a little while longer. We're focussing on 'core functionality' at this point. 2 Quote Link to comment Share on other sites More sharing options...
Gunstar Posted March 10, 2013 Share Posted March 10, 2013 How about the simple, yet classic 'Rocketman.' Call the main character Major Tom. Quote Link to comment Share on other sites More sharing options...
ggn Posted March 10, 2013 Share Posted March 10, 2013 Feel free to call it Rocketeer. Plenty of people have gone on to make Downfall versions of their own and use the same name so I don't see a problem with it personally. Ah, good suggestion, let's name this game "Downfall 2" 1 Quote Link to comment Share on other sites More sharing options...
Paul Westphal Posted March 10, 2013 Share Posted March 10, 2013 How about " JOUSTEER" OR "JOUSTER"..? Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted March 10, 2013 Author Share Posted March 10, 2013 How about " JOUSTEER" OR "JOUSTER"..? It's not Joust... Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted March 11, 2013 Author Share Posted March 11, 2013 Ok, got a bit of time this morning to work on this a bit more, so trusty notepad++ in hand, a copy of the source from 20 years ago, and armed with a RAPTOR library, I converted all the code from the fuel/rocket assembly/lift off routines into a raptor friendly format. And here's the result... You can now assemble the rocket, fill it with fuel, and lift off. I've also added a nice 505 module as well, just to have something to listen to. Keen observers might recognise the tune, but not from a Jaguar game RAPAPP.ABS 3 Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted March 11, 2013 Share Posted March 11, 2013 Good progress! I think that the physics need a bit of a tweak because its a bit like sliding on ice at the moment. Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted March 11, 2013 Author Share Posted March 11, 2013 Maybe, I kind of like them like this - but we'll see when there are things to dodge/shoot at He does need to flip immediately when you change directions though (so you can shoot behind you, Dropzone style) Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted March 11, 2013 Share Posted March 11, 2013 Did you guys just start a sub-genre of gaming? Should I expect a 2600 back-port called Rocket Dropper? 3 Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted March 11, 2013 Author Share Posted March 11, 2013 (edited) Well, I've added the first type of enemies - brainless asteroids! They'll drift around, causing an annoyance... lea sprite_table+(IDenemies*sprite_tabwidth),a6 ; raptor object base address moveq #max_enemies-1,d7 ; number of enemies .finder: tst.l sprite_active(a6) ; is this one active? bmi.s .found_e ; no, so we can use it! lea sprite_tabwidth(a6),a6 ; next enemy dbra d7,.finder ; loop around rts ; no free enemies .found_e: move.l #is_active,sprite_active(a6) ; tell raptor this sprite is now active bsr random ; generate a random 32bit number in D0 and.w #$df,d0 ; 0-255 ; make it smaller add.w #16,d0 ; ensure it isnt 0-15 move.w d0,sprite_y(a6) ; and that's the new y-pos of this enemy move.w #0,d1 ; x-position move.l #$00020000,d2 ; 16.16 x velocity (+2 pixels) move.l #is_flipped,d3 ; sprite is flipped btst #7,d0 ; bit 7 of random number test? beq.s .lef ; if not set then move it left move.w #352,d1 ; otherwise, put it on the right! move.l #$fffe0000,d2 ; 16.16 x velocity (-2 pixels) move.l #is_normal,d3 ; sprite isn't flipped .lef: move.w d1,sprite_x(a6) ; store it's x-pos move.l d2,sprite_xadd(a6) ; store it's x-velocity swap.w d0 ; get the other 16 bit word of the random number asr.w d0 ; divide by 2 (shallow angle) bclr #15,d0 ; make sure it's positive move.w d0,sprite_yadd+2(a6) ; and store in its 16.16 y velocity (so it'll track downwards slowly) move.l d3,sprite_flip(a6) ; store it's horizontal flipped status move.l #-1,sprite_was_hit(a6) ; tell raptor this sprite wasn't hit yet move.l #can_hit,sprite_colchk(a6) ; tell raptor we can hit this sprite rts Notice that this is the enemy setup code - once we've created this object with its initial position, and x/y velocities, we dont have to track it or even 'think' about it again - Raptor will process all it's movement until a pre-defined 'exit condition' is met, such as an edge wrap, or a 'life timer expiration' or a collision. Fire and forget sprites! they'll disappear if they hit the ground or a platform.... ; enemies hit platforms? move.l #IDplatform,rcd_sourcel move.l #IDplatform+3,rcd_sourceh move.l #IDenemies,rcd_targetl move.l #IDenemies+max_enemies,rcd_targeth lea RAPTOR_GPU_COLLISION,a0 bsr call_GPU_code or you shoot them.... ; lasers hit enemies? move.l #IDlasers,rcd_sourcel move.l #IDlasers+max_lasers,rcd_sourceh move.l #IDenemies,rcd_targetl move.l #IDenemies+max_enemies,rcd_targeth lea RAPTOR_GPU_COLLISION,a0 bsr call_GPU_code or if they hit you.... ; jetman hit enemies? move.l #IDjetman,rcd_sourcel move.l #IDjetman,rcd_sourceh move.l #IDenemies,rcd_targetl move.l #IDenemies+max_enemies,rcd_targeth lea RAPTOR_GPU_COLLISION,a0 bsr call_GPU_code move.l rcd_result,jetman_dead Notice that there is no code to remove the objects if they're hit. Raptor assigns hitpoints and damage to each object, and handles all that stuff - if there was a collision, and the objects hitpoints-(damage from object it hit) goes negative... well, that object no longer exists. We can scan through the object list and find out what was hit if required, in order to generate an explosion, but that is for later. So, we're now at a point where all the basic gameplay elements are in place, and it already feels better than the old version. Not bad! RAPAPP.ABS Edited March 11, 2013 by CyranoJ 5 Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted March 11, 2013 Author Share Posted March 11, 2013 (edited) Found a bug where if you die while carrying fuel, the fuel gets 'stuck' (It'll fix itself when the next fuel drops though), also the top of the rocket will flash if you 'dock' with the final fuel pod. I'll clear these up for the next binary. Edited March 11, 2013 by CyranoJ Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted March 11, 2013 Share Posted March 11, 2013 You know, comments are anathema to us BASIC programmers. It defeats the argument that assembly source cannot be human readable and therefore learn-able. Quote Link to comment Share on other sites More sharing options...
Goochman Posted March 11, 2013 Share Posted March 11, 2013 Promethus? Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted March 11, 2013 Author Share Posted March 11, 2013 You know, comments are anathema to us BASIC programmers. It defeats the argument that assembly source cannot be human readable and therefore learn-able. I've seen some BASIC like that 2 Quote Link to comment Share on other sites More sharing options...
sh3-rg Posted March 11, 2013 Share Posted March 11, 2013 Dropping the rocket parts and fuel onto the ship seems like it's only checking one x-pos, maybe it'd be better to check a good 8 or 12 and make it less likely to let you fly right past and not drop them? Bullets seem to pass right through the enemies, I could have sworn I could shoot them in earlier builds :-) Should enemies die if they hit falling fuel? I thought I just saw that. I worked on some animations for a jetpac man, here's some unfinished frames: 2 Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted March 11, 2013 Author Share Posted March 11, 2013 Got a few minutes before work this morning.... New Jetman and laser graphics are in (nice!) Fixed up the 'drop' detection so you can't overfly it. Have fun! RAPAPP.ABS 1 Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted March 11, 2013 Share Posted March 11, 2013 Still don't like the physics . Maybe up on the d-pad should also be thrust as well? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.