Jump to content

Sknarp

New Members
  • Posts

    79
  • Joined

  • Last visited

Posts posted by Sknarp

  1. I'm sure someone else could do the genre better justice, but this is what I ended up with. In truth it was just an excuse to use a giant whiteboard, half the ideas I came up with ended up getting scrapped but there's still a neat 4k MSK example here.

    SARL takes place in two modes of play, the mazes and the battles. In the mazes your goal is to make it out the other side while collecting any mystery treasure Marked with a {?} on the map. This can be a HP potion, MP potion, or a free LVL up. In the maze there is also a patrolling enemy, contacting the enemy initiates a battle.
    In the battle mode you select from Attacks, Spells, and Inventory. To start off with at Lvl 1 you can only perform the first Attack (Rush) and use potions from your inventory (You start with 5 of each potion) After defeating an enemy you will gain a LVL up. Attacks and Spells both have A and B options that require a specific LVL, and Spells also require specific ammounts of MP to cast.
    LVL 3: Unlock B Attack, Slash
    LVL 5: Unlock A Spell. Firepit

    LVL 7: Unlock B Spell, Shiver.

    Each LVL also increases your chance to dodge incoming enemy attacks. The Inventory has only two options, A for HP potion and B for MP potion. Drinking a potion will restore that stat to max.

    Screenshots, Binary, and bB basic below.

    SARL1.png

    SARL2.png

    SARL.bin SARL.bas

    • Like 6
  2. This was the absolute smallest one I ever came up with.

    Quote

     for sswap = 0 to 3
      if !COLUP2[sswap]  || diceroll/32<sswap then goto skipthisenemy
      if NUSIZ2[sswap]=%00100000 then player2x[sswap]=player2x[sswap]-1
      if player2x[sswap]<15 then NUSIZ2[sswap]=%00101000
      if NUSIZ2[sswap]=%00101000 then player2x[sswap]=player2x[sswap]+1
      if player2x[sswap]>147 then NUSIZ2[sswap]=%00100000
    skipthisenemy
     next

    In this program when an enemy was "dead" I just made them colored black because of the cycle efficiency of checking for it. This bit of code made each of four enemy sprites move from one side of the screen to the other, turning around when they hit the edge to face the other way, and they all moved at different speeds (Which was governed by the single "diceroll" randomizer that I used for every pseudo-random operation I needed to do) and when they either got hit a bad dice roll or had been marked as "dead" they would get skipped over completely to save extra cycles. I calculated at the time that it was about 138bytes lighter than if I had done it without a loop. It just shows that if you think a little outside the box you can save a lot of resources.

  3. The answer is, like mentioned a few times, to use the sprite pointers to point to  set of contiguous RAM, you can then simply change the RAM to edit the pixels that are on/off. I had posted some examples when I was trying different ways of saving space while working on ATAX-ATAX

    Quote

     rem EXAMPLE ONE
     rem drawing an arrow to player0 sprite in ROM
       player0:
       %00000000
       %00010000
       %00111111
       %11111111
       %00111111
       %00010000
       %00000000
    end
     
     rem EXAMPLE TWO
     rem using RAM s-y
     s=0 : y=0 :  player0pointerhi=0
     t=16 : x=16
     u=63 : w=63
     v=255
     player0pointerlo = $E9
     player0height=7

     

     rem EXAMPLE THREE
     rem using ram s-y and in ASM
     asm
     lda #0
     sta s
     sta y
     sta player0pointerhi
     lda #7
     sta player0height
     lda #16
     sta t
     sta x
     lda #63
     sta u
     sta w
     lda #233
     sta player0pointerlo
     lda #255
     sta v
    end

    All three examples result in the same sprite. In example two or three, if you change any of the values of s-y you'll change that row of the sprite, for example I use the number "16" for two rows of the sprite but you could easily express this as "%00010000" if that is easier for you to visualize. To add a pixel to the end you could change it to 17 or %00010001

    • Like 3
  4. 550 is quite outdated, I suggest a reinstall with 568 Link

    I've had this exact problem when an install doesn't completely set paths correctly, a reinstall fixed it.

    Edit: You might also want to make sure that bb ,vbb, and your atari emulator all have short directories with no spaces in any of the path. The path variable settings seem to really dislike long paths or paths that contain spaces.

    Edit2: If you're still having issue after a reinstall, try to make sure you run vbb in admin mode.

    • Like 1
  5. Interesting all the different experiences people have had. I wasn't expecting to hear so much about Atari controllers but it sounds like the stress it caused people was pretty severe so I say it counts as relevant to the topic. I was trying to think if there was some sort of glitch or hardware failure that I could recall as having a strong impact on me- but I honestly can't remember anything beyond having to blow into and reseat Nintendo cartridges what feels like a million times, as was the style at the time.
    I also find it interesting how despite several of us having had some sort of negative experience with games, that we continued to be enthralled in the enjoyment of video games. I'm not really sure what it means, but it probably has some profound implications about the resilience of human spirit. It's either that or playing games is fun. :P

  6. On 2/4/2020 at 5:35 PM, Mikebloke said:

    4) How do I add sound effects effectively? There is essentially three in the original game, the "submarine" sound, the "missile" sound and the "hit" sound. Submarine is a continuing 2 tone sonar like sound during play, missile is a beep-beep-beep-beep sound after firing while moving (Missile 0 only) and the hit sound is like a weird twang, which then goes silent until the players can move again (slight delay). I have a really basic understanding from the udemy course for how it works, but any help on sound creation for the 2600 would be greatly appreciated. I don't think I've found a true "tutorial" on it yet, if someone can link me to one if they exist, would be extremely thankful!

     

    My ASM is abysmal but here is one way you could do it; You just need to declare three variables to be used to control the AUDC0, AUDF0, and duration in frames. (AUDV0 can be left at 4 in this example, to save on RAM) Then something like this in your main loop :
     

    
     LDA FXtone
     BNE .loaddur
     jmp .FXnullify
    .loaddur
     LDA FXdur
     BNE .loadpitch
    .FXnullify
     LDA #0
     STA FXpitch
    .loadpitch
     LDA FXpitch
     BNE .cyclesound
     LDA #0
     STA AUDV0
     jmp .muted
    .cyclesound
     DEC FXtone
     DEC FXpitch
     DEC FXdur
     LDA FXtone
     STA AUDC0
     LDA #4
     STA AUDV0
     LDA FXpitch
     STA AUDF0
    .muted
     ; muted

    You can then turn on a sound effect by setting the FXtone (translates to AUDC0/ waveform you want) the FXpitch (which specifies the starting pitch, to be decreased each frame) and the FXdur (which acts as a frame-count limiter) anywhere during the programs execution (such as on a successful collision check) in this way you can specify different sound effects by just playing with these three values. I don't pretend that this code is optimized, but I think it's a fairly simple way of doing it. The values of AUDC0, AUDF0 and FXdur are all decreased by 1 each frame until any of them equal zero, then the sound is turned off. Hope this at least provides you with some ideas.
    Disclaimer: Did not compile and test, but this is based on working code.

    • Like 1
  7. As someone who's not quite so long indoctrinated into Atarism, I really don't think pushing a programming language from the 80s/90s on a child in the '20s is the best idea. Take what I say with a grain of salt as I don't have children, but I know that when my nephew showed his own interest in programming it only took about 10 minutes of me trying to explain a BASIC language and showing him the lackluster results in a DOS console to cure him of ever being interested in programming again. I would say use some sort of no-coding game development suite first maybe, then a BASIC, then give them access to less friendly or more limited environments if they have the interest. We have a TON of new software to make game making painless (I've used GDevelop myself and it's pretty neat) which give the newbie programmer a much quicker reward for much less work. Utilize the new tools.

    • Like 2
  8. Not sure if this is the exact issue you have, but you are updating the player's position both before and after the drawscreen from the same joystick input, that might be throwing off your colisions. Also on the first one I don't think the Bitop_Joy_Direction is ever dim'd

  9. 1 hour ago, Punisher5.0 said:

    Hardly struggled. Some games have glitches but most run fine. The PS3 is actually powerful enough to completely emulate the PS2.

    Eh, might just be my experience with it- I recall vice city being unplayably laggy and other games not working at all, but might have just been my system and my library that made me think it was struggling badly.

  10. I guessed classic gaming would be the place for this post. The question is: was there ever a game that when you played it as a kid, scarred you/creeped you out, and if so do you think that it was intentional by the game developers? I'll share my experience to set the tone.
    As a kid I was completely traumatized by Ecco the Dolphin. I think it had something to do with the plot and mechanics of the game- A dolphin is separated from it's entire family, you constantly are being forced to dive deeper and deeper, searching for pockets of air to avoid drowning in the unknown depths. I realize it wasn't meant to be creepy but to this day seeing the game-play still makes my skin crawl a little bit. Anyone out there with a similar experience, either with a totally innocent game or maybe with a game that you shouldn't have played at as young of an age as you did?

  11. I think for Best I'll go with Soul Reaver on the PS1. Other than a < 3 second door opening animation the game played without load times. It was a full 3D game with a more or less open world so for the PS1 era to provide a no-load-time experience like this was amazing. Equally amazing is I haven't seen anything else quite pull it off to the same effect. Yes, there are some games that utilize similar tricks to hide certain loading segments but none did it to the grand scale that Soul Reaver did. Extra points because you could "shift" between two variations of the world at will and other neat gameplay elements that kept it interesting. Also, I loved and played every game in the Blood Omen series. This one was just the most technically impressive.


    For Worst game I vote Hey You, Pikachu because it's terrible on levels other terrible games can't approach. Aside from being asinine and unplayable it was from a beloved IP so it was given a chance it didn't deserve. Also it required a special controller add-on just to experience, and a truly awful experience it was. The voice recognition was absolute trash (despite pretending to tune itself to your voice, a required part of the setup process IIRC) and the game quickly devolved into yelling obscenities at your TV screen because Pikachu can't understand you asking him for the 120th time to "Pick up the ball. Pick up the ball, Pikachu. PICK UP THE DAMN BALL!"

    • Like 1
  12. Is this supposed to be CD or cartridge? Sorry if this is a stupid question.
    A cartridge shooter I really enjoyed was T2:The Arcade Game (cartridge game for genesis) the graphics are near arcade quality, action is intense, and levels feel long and beefy. You absolutely NEED a lightgun to play this game, I personally really enjoyed using a Sega Menacer with this game, it's a great combination and the gun itself has nice tactile feel/look, much more stylish than the classic NES pistol design. Even with a light gun, getting passed the 2nd or 3rd level can be difficult, but playing with a controller (which is an option...for some reason?) you won't be able to move between targets fast enough.

    If we're talking Sega CD then there's two obvious mentions:

    Sewer Shark used the technique of linked short FMVs for gameplay (sort of like Night Trap or Dragon's Lair) which is REALLY hard to make a playable and enjoyable game with, but for what it's worth Sewer Shark had a funny storyline and gameplay was pretty tight despite the system used... maybe a 3/5 game.

    and of course the other obvious CD shooter mention is Corpse Killer which is another game that is a hell of a lot easier with a light gun, it actually has similar level design to T2 Arcade, but it's also got OTHER gameplay elements that are so specific and picky that they drain any fun out of the game (you'll have to learn a pointlessly complex system of RPG-like item management and map choices) A lot of strategy is required to survive, unlike most mindless zombie shooters...and I'm not sure that it was a good choice. Still, this is probably someone's favorite game.

    While the two CD games are interesting as gimmicks, I'd truly recommend T2: Arcade w/ a lightgun.

  13. 2nd beta (binary on first post)

    Changes:
    - Fixed bug with playfield being drawn from the main loop (!)
    - Fixed bug where you could start with shield blocks when not wearing shield
    - Added 2 more enemy sprites and randomized them on spawn
    - Made the enemies a bit stronger and dropped the silver stake requirement to 45 from 50 kills

     

    • Like 2
  14. Pretty much all of my sega cartridges are lesser-known games with the exception of the sonics.

    Out of this World / Another World - really early polygonal graphics and pre-rendered video on a genesis cartridge! This game was beautiful when it was created, it's also ridiculously hard (I love hard video games) and has a TON of different levels. Recommend.
     

    Bart's Nightmare -  Widely considered a terrible game but I actually really enjoy playing it. The area you start in is basically an over world area, once you find and jump on a page of paper you can play on of the mini-games. It's basically a giant Simpson's mini-game collection on one cart. For sure check out the Bartman and Itchy&Scratchy levels!

     

    Haunting starring polterguy - really cool idea for a game where you play as a poltergeist and posess a plethora of household objects to scare the family out of their house. This game is actually really fun all the way up til the nearly impossible final boss of the game (But that happens after every family member is scared out of every house, so you could basically shut the game off and call it done at that point.)

     

    Rocket Knight Adventures - A fantastic beat 'em up where you play as a possum in knight armor with a jetpack strapped to his back. The jetpack allows crazy mobility and attacks and the game stays fresh by throwing something new at you on each stage. It starts off looking like a simple kids game but you'll want to play on the easiest setting (give you more life and health) so you can get deep into this fairly long game.

     

    I'll also +1 for the above poster's suggestion of Splatterhouse as it's a super fun series. I do have some even less common sega games in my collection but for my opinion the ones I listed are some legit hidden gems of the Genesis console.

     

     

  15. Original binary

     

    So I wrote the first version of Stake Toss within 48 hours of downloading bB for the very first time, It was just me following along with the available information to see what could be created quickly and while I was impressed at how easy and quick it was to learn the language and to get to a finished binary... it kind of sucked. A lot.
    My solution is thus: rewrite the game Stake Toss by starting over fresh ( 0 reused code), create something that feels like the same game but plays in a much more satisfying way. I'll be doing this by using space saving tricks, adding more game-play elements, and generally just taking more than 2 days for development. I will be calling this Stake Toss 1.1

     

    Current development:

    • Title screen: preceded by credits screen, has "animated" blood drops, after ~10 seconds of inactivity will show the "rules" screen. Has about a 1.5 sec fire button restrainer to divert accidental presses
    • "Rules" screen: several quick screens in a row (about 2 seconds each) displaying the number of points you can get for various actions in game.
    • Main Playfield: 2 playfields currently, outside/graveyard and inside/hallway
    • Item pickups (Shield and Stake Upgrade)
    • Enemies with basic tracking, increasing HP and speed with each enemy killed
    • Hit Flashes: enemies flash red when hit, your screen flashes if you are hit (White while shielded, Red while not)
    • Shield Hits and Slayer HP is shown with pfscorebars
    • Basic SFX via lightweight code (hit,kill,block,damaged,pickup,upgrade,next room, death screen)
    • Death screen: uses a Yar's Revenge type effect for animation, 1-2sec fire button restrainer to divert accidental restarts, flashing score display.
    • Cheat Codes!
       

    How to Play:

    Press the fire button after the title screen has displayed for at least 1.5 seconds (but before the rule screen shows up after about 10 seconds) to start the game. You play as a slayer of the undead with an enchanted stake weapon. Holding the fire button will cause the stake to move in a straight line downward from where it was released from your hands. Releasing the fire button causes the stake to return back to the Slayers hand. The slayer can use a shield which blocks 4 hits from the undead. While carrying the shield you will take no HP damage. Once the shield takes it's 4 hits it breaks, and your HP becomes vulnerable. Contact with any undead (except with your stake weapon) will result in a hit occurring on you.

     

    Kills and Rooms:

    After each undead is killed, the next undead spawned in will be slightly tougher and faster. Eventually they start to get larger as well. When 40 kills happen in the same room the north side of the map opens, allowing you to go into the next room.

     

    Items:

    Silver Stake: Extremely deadly to any undead. Upgrades your enchanted wooden stake. If you kill 50 45 enemies in one room (don't go through the north side door when it opens at 40 kills, instead keep killing the extra large undead) the Silver Stake will drop on the ground in the lower left corner of the map. Once picked up it will be equipped until you die, and will do massive damage to any undead it hits. Without the Silver Stake the undead can take many hits to put down.

    Mirror-Polished Shield: The brilliantly reflective metal brings light into the darkness. Effective on completely negating damage from the undead for up to four hits. If you lose your shield, simply wait a few moments, eventually a new shield will respawn in the bottom right corner, pick it up to equip it. There are no health restorations so shielding is the only way to stay alive longer.

     

    Cheat Codes

    You can enter cheat codes by pressing certain button combinations during the rules screens as follows"

    Quote

     

    Hold UP and press FIRE while on the KILLS screen = Start with 39 kills

    Hold DOWN and press FIRE while on the SHIELD screen = start with the shield

    Hold LEFT and press FIRE while on the ROOM screen = start in the second room

    Hold RIGHT and press FIRE while on the STAKE screen = start with the silver stake

     

    You can apply any combination of cheats you wish you use, they will be applied when you start from the title screen. Cheat settings will persist after death. You can toggle any of these cheats off easily by pressing fire on the relevant rules screens to clear the cheat out/turn it off.

     

     

    Screenshots/Download Links
    graveyard.thumb.png.d1cd17583ec056aacb5b9ff34fcbd684.png
     

     

    Download the current binary:

    ST1point1beta_2.bin

     

    • Like 4
  16. I was looking for a place in the forums to post about N64 since it is apparently too new for a classic gaming subforum and too old for a modern gaming subforum-

    I just started using Everdrive 64 v2.5 and I can't recommend it enough! For $107 and the physical space of a single cartridge you can.have the whole N64 library (would cost a few grand to buy the just under 300 games in the north American library, not to mention the 90 something Japanese exclusives.)

    Because you use a real N64 and not an emulator the quality is flawless and compatibility is near 100%

    The other great thing about this concept is that.the N64 ROMs take up so little space you could fit ALL of the games on an 8GB SD card and have a little under 3GB of free space left over. I actually bought a 16GB simply because you can get a class 10 16 gig for five dollars.

    Oh and being able to effortlessly play romhacks is neat. I also have seen some discussion about being able to use the ED64 to emulate a number of older systems, potentially allowing you to play anything from NES to Game Gear with the notoriously bad N64 controller...if for some reason that is a thing you want to do.

    10/10, not a paid endorsement :P

    • Like 1
×
×
  • Create New...