Jump to content

Bobo Cujo

Members
  • Posts

    103
  • Joined

  • Last visited

Everything posted by Bobo Cujo

  1. Here's Choplifter XEGS Joy2B (the full-color Mode E version, since IMO it's better suited to the Atari's strengths and it's PAL-friendly). Old controls: Press and release the fire button to shoot Hold the fire button to change which way the helicopter is facing New controls: Button 1: Shoot Button 2: Change which way the helicopter is facing (firing now happens on button press rather than button release) Essentially, the button controls are now in line with the original Apple II version. Firing should now be more responsive, and it should now be easier to aim at things overall ? Cartridge and .xex files are provided. (Cartridge is based on the original cart; .xex version is based on the Homesoft version) Choplifter! _ Atari (US) - Joy2B.car Choplifter XE - Joy2B.xex
  2. I actually did hand assembly (well, text file assembly) along with a hex editor for many of the recent Joy2B hacks. It's still a useful technique if you want to replace small amounts of code in an existing binary, since you'll be counting opcode sizes to make sure everything fits. Having to recount branches by hand is painful, as @Rybags said. With that said, it can still easier than dealing with disassemblies that involve branches, JSRs and JMPs to locations that are dynamically remapped on load, and are thus near-impossible to follow without the assistance of a debugger...
  3. That...is one very comprehensive memory map. ? Now that we know where all the variables are, it should be easier to play around with things. Thank you for providing this @kiwilove!
  4. @kiwilove and I (and others) were discussing Hawkquest's game balance in the Joy2B thread, and we generally agree that even with separate fire/bomb buttons, the game might be in need of some game balance tweaks to make the game a little easier. Quote from the aforementioned thread: "Overall the game is probably too tough and needs some hacking to make it more playable/fun for the general player. I do have some ideas but may not be so easy to implement?" I personally feel that the right gameplay foundations are in place (it's still the most ambitious Xevious-inspired shooter I've ever seen on the Atari 8-bit, including the actual Atari Xevious prototype); it just needs some tweaks to prevent cheap player deaths. (I say this as someone who actually prefers harder games, but we ideally want the "you-were-fairly-warned" kind of Hard...) @kiwilove What ideas did you have for tweaking the game? Here are some ideas I have (not an exhaustive list) based on (repeatedly getting blown up in) my Joy2B-testing playthroughs: Flying sections: Make it easier to actually hit targets: Widen the shot sprite to make it easier to hit air targets. Allow at least 2 simultaneous bombs onscreen, or if that's not possible, increase the speed of the bombs, a la "Flak". There's a ton of onscreen bomb targets, and it'd be mighty satisfying to be able to destroy more of them... Have the simultaneous shot maximum be independent from the simultaneous bomb maximum (right now it's 2 shots, 1 of which can be a bomb) Increase the width of the bomb's hitbox to allow easier destruction of ground targets. Prevent cases where the player can get trapped/insta-killed a bit too easily: Decrease the width of the player's hitbox - the chopper's rotors make it a bit of a wide target. This alone might prevent a fair amount of the deaths. (I assume it's using standard P/M collisions for this; we may have to switch to software collisions that kick in if a P/M collision is detected). Reduce the speed of the really fast flying enemies - they're overly hard to dodge without trial and error, and the Atari's landscape screen orientation inherently means less lead time for the player to react to them. Similarly, ensure that the flying enemies don't ever move at the same speed as the player (in the x or y direction) to enable easier dodging. Change the splitting formation patterns to prevent funneling the player into hard-to-dodge traps. Don't allow flying enemy explosions to also be fatal to the player - that just makes the flying enemies even more unnecessarily hard to dodge. (I assume the collision logic is parsing the explosion as still technically being an enemy, and counting it as a fatal collision) If a player respawns near where a swarm of fast-flying enemies would normally appear, don't respawn those enemies too (this one in particular caused a bunch of instant deaths for me on new lives). Give some visual cue (in the status bar?) before a flying enemy suddenly comes up from below. Or perhaps prevent them from spawning from the bottom if the player is at the bottom of the screen. The "shotgun blast" flying enemies should be destructable, and perhaps only come in one at a time - their bullets shouldn't be that fast either. For the Bacura-alikes, change the randomization a bit/de-densify them to prevent cases where moving between them is nearly impossible. (I've been funneled into what are effectively dead ends before.) Make more of the ground targets unable to fire at you if the player has flown past them or is flying very close to them (since the player can't fire backwards); either that, or suppress such firing if there's a bunch of air targets onscreen. Maybe make the earlier planets easier so that there's a noticeable step up in difficulty in each new planet. Side question: is there an actual tactical advantage to making a second attack run upon destroying the forcefield? On-foot sections: Give the player more of a visual clue on the traps so that the player isn't just instantly frozen in some places (thus turning the player into an instant punching bag) - either that, or just equip players with the trap finder from the start. Make enemy spawners stay dead even if they're scrolled off-screen. Allow the user to retry the on-foot section by pressing the fire button on game over (just like the flying sections) Given the emphasis on exploration, perhaps start the player with the maximum amount of marines, especially given how easily players can get killed off in the flying section. To compensate for the increased player fairness but decreased difficulty, perhaps it'd be good to put in a score/performance-based ranking/bonus system so that players can get rewarded for playing the game optimally and destroying a bunch of enemies (a la Star Raiders's end game ranking) - max scores/ranking per level could potentially be stored in the save file. Regarding implementation difficulty: We have a fair amount of memory to play with (basically what's under what would be the OS rom that hasn't been taken up by existing new routines); it's more a matter of trying to figure out how the rest of the code works and what variables do what. Neither @playsoft or I have dug too deeply into this; it's probably a fairly large undertaking. With that said, if someone does do that, the actual changes might not be too hard. Some of them will be harder than others to implement, of course...
  5. @kiwilove After having played the Mycea level (and occasionally a few others) repeatedly to test out the Joy2B changes (I still need to get through the secondary game on that one), I'm more or less in agreement with you. The right gameplay foundations are in place; it mostly needs some tweaking for the sake of game balance and preventing cheap deaths. I'll start a new thread to discuss this...
  6. Here's Airball Joy2B (XEGS cart). Controls: Button 1: Jump Button 2: Pick up/drop objects (replaces the OPTION button function) Note that pressing any keyboard key (Space bar, letter key, ...) still works; this also picks up/drops objects. Airball - Joy2B.car
  7. Here's Shadow World Joy2B (.xex file version, based on the one from Homesoft with XL/XE compatibility fixes) Existing controls: Button 1: Shoot Space bar: Smart Bomb (this still works in this Joy2B version) Joy2B additional controls: Button 2: Smart Bomb In a one-player game, only controller 1 can activate smart bombs (as it should be). In a two-player game, each person can activate a smart bomb from a shared pool (the game starts with 3 in reserve, with one added for every completed level). Shadow World - Joy2B.xex
  8. Here's Picnic Paranoia Joy2B (.xex file version, based on the one from Homesoft with XL/XE compatibility fixes) Existing controls: Button 1: Swat Space bar: Bug Spray (this still works in this Joy2B version) Joy2B additional controls: Button 2: Bug Spray Note that you get a can of bug spray at 5000 points, and at every 10000 points thereafter (15000, 25000, ...) Confirmed working with both players. Picnic Paranoia - Joy2B.xex
  9. And here's the 3-button version of the deobfuscated Spelunker cartridge, with the same slight tweak @Eyvind Bernhardsen mentioned (as applied in my rev-1 3button .atr file above) applied... spelunker-3button-deobfuscated.car
  10. @Eyvind Bernhardsen @Roydea6 I'm really happy that the Spelunker Joy2B+ project brought about an actual working deobfuscated cartridge version of Spelunker (I also verified that "The Falls" works too) Thank you both for allowing me to actually load a properly working Spelunker from my Ultimate cart! I'm of two minds on having to hold left/right with button 2 for the Phantom Blaster: On one hand, it allows you to swap fan directions without moving. On the other hand, not having to hold left/right makes it easier to activate it immediately after landing on the ground, which is key if the ghost appeared while, say, riding a lift or climbing a bunch of ropes. I personally prefer the latter for my own muscle memory (the big Ropes section in "The Ropes" comes to mind, when a ghost is almost guaranteed to appear when you're jumping through 10 or so ropes), but IMO there's good reasons to prefer either one. At any rate, I've provided an alternate version of the .car file where pressing button 2 activates the fan regardless of joystick neutral/left/right. Perhaps one of you could add a preferences menu to the game (press, say, Select on the title screen) in the newly freed up RAM to switch between these, and perhaps also between 2/3 button mode for one unified Joy2B+ binary? spelunker-2btn-deobfuscated-alternate-button2-handling.car
  11. Here's Tutankham Joy2B+ (based on the Fandal .xex version). This one requires a 3-button controller. Those of us on 2-button controllers (myself included) are better off playing the original version, which has dual-joystick functionality that mimics the original arcade game (joystick 2 left/right to shoot; joystick 2 button to activate Flash bombs). Joy2B+ new controls: Button 1: Shoot left Button 2: Shoot right Button 3: Flash bomb Tutankham - Joy2B+.xex
  12. Here's Tank Commander Joy2B+. Existing controls (which still work in this version): Joystick up/down: Move forward/backward Joystick left/right: Turn left/right Hold Joystick Button 1 while pressing Joystick left/right: Turn turret left/right Release Joystick Button 1: Fire shell SELECT: Air Strike (up/down controls plane; Button 1 fires) OPTION: View map (hold down the button to keep the map onscreen) Joy2B+ additional controls: Button 2: Air Strike (up/down controls plane; Button 1 fires) Button 3: View map (hold down the button to keep the map onscreen) Since the keyboard controls still work, this version is effectively compatible with 1, 2, and 3 button controllers. See the manual on Atarimania for more information on Air Strikes and the map. For those wondering why I didn't bind the additional buttons to rotating the turret - honestly, in this game, the air strike/map are more critical. Especially the air strike (hide behind a mountain and have the plane take out the turrets/tanks for you...) Tank Commander - Joy2B+.xex
  13. Here's Rockball (final version, cartridge - a recently unearthed Roklan game, from the developer of Star Island/Galactic Chase). Old controls: Left/Right: Rotate ship Fire Button: Shoot Up: Thrust, Force spawning of player (on new life) New controls: Left/Right: Rotate ship Button 1: Shoot Button 2: Thrust, Force spawning of player (on new life) Tested with both players. Rockball (Final) - Joy2B.car
  14. ...and here's the actual Sinistar file (whoops). Sinistar - Joy2B.xex
  15. Here's Sinistar (Atari prototype, .xex version from Homesoft). Old controls: Fire button: Shoot (or Fire Sinibomb if "Auto Shooting" is enabled) Space Bar: Fire Sinibomb New controls: Button 1: Shoot (or Fire Sinibomb if "Auto Shooting" is enabled) Button 2: Fire Sinibomb Naturally, "Manual shooting" is highly recommended here (it defaults to Auto). Tested with both players, and verified that I was able to actually destroy a Sinistar.
  16. @Eyvind Bernhardsen That sounds reasonable. Here's a revised 3-button version of Spelunker that addresses this: Spelunker - Joy2B - 3 Buttons - Rev 1.atr
  17. I just tested getting beyond "The Ropes" on the disk and cartridge versions I just posted. The disk versions work fine, and saving high scores doesn't overwrite the button handling code. The cartridge versions... unfortunately have the same issue as the .xex versions, which is the game going to a black screen upon hitting the Ropes exit instead of actually going to "The Falls". ? Hopefully someone can patch the cartridge version to actually load in the level data upon exiting "The Ropes"...
  18. And here's the Joy2B disk versions of Spelunker (same controls as above), which of course also save high scores ? Special thanks (once again) to @Eyvind Bernhardsen for figuring out the obfuscated jump call and the correct part of free memory to use - these are based on the spelunkertest.atr file mentioned above. Spelunker - Joy2B - 3 Buttons.atr Spelunker - Joy2B - 2 Buttons.atr
  19. On that note: I probably wouldn't have gotten ANY of these Joy2B hacks off the ground if it weren't for the amazing Altirra and its even more amazing debugger. Thanks a ton, @phaeron! dis6502 has been helpful, too (to get a 10,000 foot view of the overall code, at least for <16K titles/xex games). And thank you @ascrnet and everyone else on this thread for getting this whole Joy2B project off the ground! I've been wanting a proper standardized multi-button solution on the Atari 8-bit for as long as I can remember ?
  20. OK, here's the Joy2B Cartridge versions of Spelunker (based on the version available at atarionline.pl, as mentioned above). A recap of the controls: Existing controls: Button 1 (Fire Button): Jump F : Launch Flare (to deal with birds) D : Place dynamite (to blow up big "hills") Space: Activate Phantom Blaster (to deal with ghosts) 2-button version additional controls: Button 2 + UP: Launch flare Button 2 + DOWN: Place dynamite Button 2 without UP or DOWN: Activate Phantom Blaster All of the above will still work if the player is moving left or right. 3-button version additional controls: Button 2 + UP: Launch flare Button 2 + DOWN: Place dynamite Button 3: Activate Phantom Blaster All of the above will still work if the player is moving left or right. I've verified the controls in the first hallway (yay conveniently available flares/dynamite :-)) on real hardware (for the 2-button version) and in Altirra (both versions). I'll try to see if I can beat The Ropes to make sure that part actually works properly... Spelunker - Joy2B - 3 Buttons.car Spelunker - Joy2B - 2 Buttons.car
  21. Thanks for the cartridge file link, @tane and @ascrnet! @Eyvind Bernhardsen Good catch on the empty space after the high score table! I patched your code into the .car file and tried this on a real NTSC Atari 800XL with a Sega Genesis controller (2 button), but unfortunately, the 2-button detection doesn't seem to work (I can't activate the fan with Button 2). ? (This is true whether or not I include the initializing $FFs in the new routine's variables.) I'll patch the .car file with the 2 and 3 button code later tonight (and properly relocated into the post-high-score table space.
  22. Augh, it turns out that the Homesoft version of Spelunker (and by extension, the Joy2B version) crashes after reaching the exit in "The Ropes" (level 2). Presumably, it's because it tries to load in the second half of the game map from disk, but the data isn't in the .xex... @ascrnet I don't suppose you have a cartridge version of this one? ? (I tried this one but I couldn't get it to actually boot in Altirra, either with 128K XEGS or 128K Switchable XEGS...)
  23. As for Hawkquest: Given that there haven't been any reported issues with the last beta (yet), and given that I know that the new code isn't clobbering existing data, I'm going to go ahead and declare this the first proper release. I'll happily update it if anyone finds any issues. (note: If you got beta 1 earlier, it's the same file with no changes) At some point in the future, I still need to play through the entire game with it, and to see if @playsoft's version might still be more optimal (in the Altirra profiler). @ascrnet This and the above files (from Qix onward) are ready for upload to the Joy2B git/wiki ? Hawkquest - Joy2B.car
  24. Here's a 3-button version of Spelunker, too. Additional controls: Button 2 + UP: Launch flare Button 2 + DOWN: Place dynamite Button 3: Activate fan Phantom Blaster All of the above will still work if the player is moving left or right. Again, the keyboard controls still work in this version. Spelunker - Joy2B - 3 Buttons.xex
  25. Of all of the Atari games that do direction+button to fire a bomb or other secondary weapon, I actually think that Blue Max does one of the best jobs working it into its game design. Forcing the player to drop in altitude to bomb prevents the player from spending practically the entire game at "strafing altitude" (the altitude where your guns can destroy minor gun targets) and thus making bombing targets way too easy. With that said, moving diagonally and trying to hit planes without accidentally changing altitude is something that could be improved. Someday, I'd like to do a 2-joystick mod of the game, where stick 2 controls altitude/bombing (with up/down rebound to moving straight up/down) and stick 1 controls x/y direction and firing. I'd probably leave gravity permanently on to prevent the problem I mentioned above. Ditto for Blue Max 2001, which probably needs a 2-joystick mod far more than the original Blue Max...
×
×
  • Create New...