Jump to content

Rabbit 2600

Members
  • Posts

    745
  • Joined

  • Last visited

Posts posted by Rabbit 2600

  1. I'm a high score junkie. I adore my Atari 2600 and my Mame cabinet. I'm in the mood to expand upon my Mame's game selection and was wondering which of the other older systems would cater too my high score chasing needs? Preferably those with an initial entering feature so you can see who got what score =)

  2. Just noticed Mario Kart 8 is soon to be released for the WiiU and I thought it strange that nobody has done a homebrew or hack on a racing game so we would have Mario Kart on the NES, so I'm fiddling together a silly little hack of Excitebike :P I would much rather have some 2 player racing game as a base but the 2 player ones are overhead view and way to many sprites for me to edit. Would be cool with something where you saw the car from the behind. The hack's not done yet and I don't know when it will be, just a fun thing I fiddle with now and then =) But I could get a move on if there's an interest for it. Mostly just wanted to show my sillyness to the world, haha....And I'd love to have something like this on a cart personaly :P

     

    10348454_1503960626494384_93589521309801

    • Like 2
  3. Not sure if this is the right place, but I recently got my hands on Petite Computer for the 3DS an emulator for SMILEBASIC where you get to make your own software. I dabbled with BatariBasic so I figured somethings out but I need to ask a few questions to grasp somethings.

     

    Anyway, my code so far allows for movement of an @ which is the player and an Z which would be a zombie.

     

    My first question would be. How would I go about giving the zombie a random chance of moving towards the player if one of the buttons are pushed? I know how to make it move towards the player every time the buttons are pushed, I would need a random counter and I'm not sure on how to set them up. Like giving it a chance of 1 in 4.

    X=5:Y=12
    
    ZX=20:ZY=12
    
    @LOOP
    
    K=BUTTON(2)
    IF K AND 1 THEN Y=Y-1
    IF K AND 2 THEN Y=Y+1
    IF K AND 4 THEN X=X-1
    IF K AND 8 THEN X=X+1
    
    LOCATE X,Y
    ?"@"
    
    LOCATE ZX,ZY
    ?"Z"
    
    VSYNC 1:CLS
    GOTO @LOOP
    

    Many thanks in advance =)

  4. I'm having a bit of trouble with hacking the sprites of Contra for the NES. It seems that when I look at the sprites in Tile Layer Pro the sprites for the main character is extremely hard to find. Is there any way to do an autosort so the sprites line up so I can see things more clearly. Or if there are some better tool? The closest thing I get to see the character sprites is in the editor in Nesticle.

  5. From what I have seen on the net hacking roms for MAME is very outdated. Dosn't seem like many (If any) people are still doing it. But I'm a sucker for arcade games and I love highscores so it rocks that you can do romhacks for MAME, even though information is hard to find.

     

     

    Here is a zip with the patch for centipede. Wish I could make it standalone so you could have both the original centipede and this one...Anyone know how to setup drivers in Mame? =)

     

    Patch - centiped.zip

    • Like 2
  6. Thanks! Got it working now, and I managed to make a hack, though not of Donkey Kong, but of Centipede. You are now a guy with 2 guns instead of a snake and you fire 2 horizontal bullets instead of 1. The centipede is now eyeballs. The mushrooms are now tombstones, the spider is a ghost and the flea is a skull =)

     

    centipedehack_zps6c03a6b1.png

    • Like 1
  7. Not sure where too put this but I'm trying to setup Turaco and do some romhacks. I keep getting the same errors and I don't know what is wrong. In this case I'm trying to get the sprites in Donkey Kong and I get these error messages. First one says: Error, dk.3n not found. Not suprising since there is no file by that name in the dkong.zip file. The second error I get says; Error loading driver : drivers\NINTENDO\DKONG.INI. Sorry. I'm guessing you'll have to manually edit the .ini file and make it go to the correct file but I have no idea which one of the files contains the sprites.

     

    I have extracted the files in the .zip into it's own folder called roms in the Turaco map, like this: C:\Turaco\roms

     

    And the drivers are in the Turaco map also, like this: C:\Turaco\DRIVERS

     

    The TURACO.INI should be correct too. This is what I did in it:

     

    [system]
    Version_Major = 1
    Version_Minor = 1
    Info = This file was created from within Turaco.
    Author = Turaco
    ROMPath = C:\Turaco\roms
    Font = 1
    H_Res = 320
    V_Res = 240
    Driver_Subdirs = on
    Troll_Magic = on

    [PCX_Rip]
    Path = .
    NumPerRow = 32

     

     

    If anyone has fiddled with this program please let me know how you configured it. Any help at all would be great. Thanks in advance.

  8. Experimenting on a racing game, and I want the playfield to scroll vertical. What would the simplest way of doing it be?

    Also, I've been playing Gate Racer a lot and I really like the feature of having gates to go through, Any tips on how to achieve this feature? =)

     

    Source:

      rem CODE INSPIRED BY Atarius Maximus at http://www.atariage.com/forums/index.php?showtopic=109288
    
    TITLE
    
     drawscreen
    
     if joy0fire then goto start
    
     goto TITLE
    
    start
    
      player0x = 50
      player0y = 80
    
     player1x = 255
     player1y = 255
    
     scorecolor = $0E
    
                                      dim _P1_L_R = player1x.a
                                      dim _P1_U_D = player1y.b
                                      dim _P0_L_R = player0x.c
                                      dim _P0_U_D = player0y.d
    
    main
    
    
       AUDV0=0
       AUDV1=0
    
     a = a + 1
    
      rem POSSIBLY INEFFICIENT CODE, SEPARATE COLOR INFO FOR EACH FRAME...
            player0:
            %01000010
            %01111110
            %01011010
            %00011000
            %00111100
            %00111100
            %00111100
            %00111100
            %00100100
            %00100100
            %00111100
            %00011000
            %01011010
            %01111110
            %01011010
            %00011000
    end
    
            player1:
            %01000010
            %01111110
            %01011010
            %00011000
            %00111100
            %00111100
            %00111100
            %00111100
            %00100100
            %00100100
            %00111100
            %00011000
            %01011010
            %01111110
            %01011010
            %00011000
    end
    
     COLUP0 = $0E
     COLUPF = $0E
     COLUP1 = $0E
    
     playfield:
     ..X.X......................X.X..
     ..X.X......................X.X..
     ..X.X......................X.X..
     ..X.X......................X.X..
     ..X.X......................X.X..
     ..X.X......................X.X..
     ..X.X......................X.X..
     ..X.X......................X.X..
     ..X.X......................X.X..
     ..X.X......................X.X..
     ..X.X......................X.X..
    end
    
    
    
    
    EXPLOSION
      rem POSSIBLY INEFFICIENT CODE, SEPARATE COLOR INFO FOR EACH FRAME...
      if f = 10 then player1:
            %00110011
            %00110011
            %11001100
            %11001100
            %00110011
            %00110011
            %11001100
            %11001100
            %00110011
            %00110011
            %11001100
            %11001100
            %00110011
            %00110011
            %11001100
            %11001100
    end
    
      if f = 20 then player1:
            %11001100
            %11001100
            %00110011
            %00110011
            %11001100
            %11001100
            %00110011
            %00110011
            %11001100
            %11001100
            %00110011
            %00110011
            %11001100
            %11001100
            %00110011
            %00110011
    end
    
      if f=20 then f=0
    
      drawscreen
    
      if joy0right then player0x = player0x + 1
      if joy0left then player0x = player0x - 1
    
     if player1x < 15 then player1x = rand
     if player1x > 130 then player1x = rand
    
     if player1x = 255 then player1x = rand : player1y = 20
    
     if player1y > 90 then player1x = rand : player1y = 20 : e = (rand&3)
    
     if e = 0 then NUSIZ1 = $00
     if e = 1 then NUSIZ1 = $01
     if e = 2 then NUSIZ1 = $02
     if e = 3 then NUSIZ1 = $03
    
     _P1_U_D = _P1_U_D + 0.60
    
     if a = 60 then score = score + 1 : a = 0
    
     if joy0fire then goto faster
    
     goto main
    
    faster
    
     _P1_U_D = _P1_U_D + 0.60
    
     if a = 30 then score = score + 1 : a = 0
    
    
      goto main
    
    
  9. Sure I can post the code =)

     

    I must learn missiles sometime, I have great examples to look at but I just don't get it. Thinking of having the robots firing missiles left and right so they won't be so easy to bomb.

     rem Generated 2013-10-19 17:39:33 by Visual bB Version 1.0.0.554
     rem **********************************
     rem *<filename>                      *
     rem *<description>                   *
     rem *<author>                        *
     rem *<contact info>                  *
     rem *<license>                       *
     rem **********************************
    
       set kernel multisprite
    
            set smartbranching on
    
    
     player1x = 135 : player1y = 25
     player2x = 122 : player2y = 50
     player3x = 255 : player3y = 255
     player4x = 255 : player4y = 255
     player0x = 50 : player0y = 50
     player5x = 32 : player5y = 75
    
     ballx = 255 : bally = 255
    
       AUDV0=0
       AUDV1=0
    
    BATTLEFIELD
    
    
    
                                      dim _P1_L_R = player1x.a
                                      dim _P1_U_D = player1y.b
    
                                      dim _P2_L_R = player2x.c
                                      dim _P2_U_D = player2y.d
    
                                      dim _P5_L_R = player5x.k
                                      dim _P5_U_D = player5y.l
    
                                      dim _P0_L_R = player0x.i
                                      dim _P0_U_D = player0y.j
    
     if q = 1 then player0:
            %00100100
            %00100100
            %00011000
            %00011000
            %00011110
            %00000000
            %00011000
            %00011000
    end
    
     if q = 2 then player0:
            %00100100
            %00100100
            %00011000
            %00011000
            %01111000
            %00000000
            %00011000
            %00011000
    end
    
       player1:
            %00001000
            %00000000
            %01011101
            %01011101
            %00011100
            %01100011
            %00011100
            %00011100
    end
    
       player2:
            %00001000
            %00000000
            %01011101
            %01011101
            %00011100
            %01100011
            %00011100
            %00011100
    end
    
    
    BOMB
      rem POSSIBLY INEFFICIENT CODE, SEPARATE COLOR INFO FOR EACH FRAME...
       player3:
            %00011100
            %00111110
            %00101110
            %00100110
            %00011100
            %00001000
            %00000110
            %00000000
    end
    
    EXPLOSION
    
     player4:
            %00110011
            %00110011
            %11001100
            %11001100
            %00110011
            %00110011
            %11001100
            %11001100
    end
    
    
       player5:
            %00001000
            %00000000
            %01011101
            %01011101
            %00011100
            %01100011
            %00011100
            %00011100
    end
    
     _COLUP1 = $0E
    
     COLUP2 = $40
    
     COLUP3 = $02
    
     COLUP4 = rand
    
     COLUP5 = $16
    
     COLUP0 = $1E
    
     t = t + 1
    
     if t = 10 then COLUPF = $94
    
     if t = 20 then COLUPF = $98
    
     if t = 20 then t = 0
    
    
    
    
     playfield:
     ................
     ................
     ................
     ................
     ................
     XXXXXXXXXXXXXXXX
     X...............
     X...............
     X...............
     X...............
     XXXXXXXXXXXXXXXX
    end
    
     scorecolor = $0E
    
     drawscreen
    
            if joy0right then q = 1 : _P0_L_R = _P0_L_R + 0.30
            if joy0left then q = 2 : _P0_L_R = _P0_L_R - 0.30
            if joy0up then _P0_U_D = _P0_U_D + 0.30
            if joy0down then _P0_U_D = _P0_U_D - 0.30
    
      if _P1_U_D < _P0_U_D then _P1_U_D = _P1_U_D + 0.10
      if _P1_U_D > _P0_U_D then _P1_U_D = _P1_U_D - 0.10
      if _P1_L_R < _P0_L_R then _P1_L_R = _P1_L_R + 0.10
      if _P1_L_R > _P0_L_R then _P1_L_R = _P1_L_R - 0.10
    
      if _P2_U_D < _P0_U_D then _P2_U_D = _P2_U_D + 0.10
      if _P2_U_D > _P0_U_D then _P2_U_D = _P2_U_D - 0.10
      if _P2_L_R < _P0_L_R then _P2_L_R = _P2_L_R + 0.10
      if _P2_L_R > _P0_L_R then _P2_L_R = _P2_L_R - 0.10
    
      if _P5_U_D < _P0_U_D then _P5_U_D = _P5_U_D + 0.10
      if _P5_U_D > _P0_U_D then _P5_U_D = _P5_U_D - 0.10
      if _P5_L_R < _P0_L_R then _P5_L_R = _P5_L_R + 0.10
      if _P5_L_R > _P0_L_R then _P5_L_R = _P5_L_R - 0.10
    
     if player1y = 35 then player1y = 34
    
     if player2y = 55 then player2y = 54
     if player2y = 36 then player2y = 37
    
     if player5y = 60 then player5y = 61
    
     if player3x < 255 then goto SKIP
    
     if joy0fire then player3x = player0x + 8 : player3y = player0y : z = 72
    
    SKIP
    
     if z > 0 then z = z - 1 : if z = 0 then player4x = player3x : player4y = player3y : u = 52
    
     if u > 0 then AUDV0 = 15 : AUDC0 = 8 : AUDF0 = 30 : u = u - 1 : if u = 0 then player4x = 255 : player4y = 255 : player3x = 255 : player3y = 255 : AUDV0 = 0
    
       if n > 0 then AUDV0 = 15 : AUDC0 = 8 : AUDF0 = 20 : n = n - 1: if n = 0 then AUDV0 = 0
    
     if player2x = player4x && player2y = player4y then player2y = 255 : player2x = 255 : score = score + 100
    
     if player1x = player4x && player1y = player4y then player1y = 255 : player1x = 255 : score = score + 100
    
     if player5x = player4x && player5y = player4y then player5y = 255 : player5x = 255 : score = score + 100
    
     if joy0left && collision(player0,playfield) then player0x = player0x + 1
     if joy0right && collision(player0,playfield) then player0x = player0x - 1
    
     if joy0up && collision(player0,playfield) then player0y = player0y - 1
     if joy0down && collision(player0,playfield) then player0y = player0y + 1
    
    
    
    
    
    
     goto BATTLEFIELD
    
  10. I'm intrigued by games such as Demolition Herby where you can color the playfield and I had an idea that might work as a Bomberman clone but I have no experience with using the playfield in such a manner. The premise would be that the player pushes the fire button and that makes missile0 appear next to the player. This I can do, no problem. But, how do I go about that after 2 seconds the playfield pixel where missile0 is lights up for about a second and then dissapearing, and how do I setup collision for the pixel if it's lighted up?

  11. Okay, I managed to fix the issue with the missile collision.

     

    But, I'm having issues with movement with player2-4. Movement in player1 works fine. Any thoughts?

    
     if _P1_L_R < _P0_L_R then _P1_L_R = _P1_L_R + 0.10
     if _P1_L_R > _P0_L_R then _P1_L_R = _P1_L_R - 0.10
     if _P1_U_D < _P0_U_D then _P1_U_D = _P1_U_D + 0.10
     if _P1_U_D > _P0_U_D then _P1_U_D = _P1_U_D - 0.10
    
     if _P2_L_R < _P0_L_R then _P2_L_R = _P2_L_R + 0.10
     if _P2_L_R > _P0_L_R then _P2_L_R = _P2_L_R - 0.10
     if _P2_U_D < _P0_U_D then _P2_U_D = _P2_U_D + 0.10
     if _P2_U_D > _P0_U_D then _P2_U_D = _P2_U_D - 0.10
    

    Source:

     rem Generated 2013-10-19 17:39:33 by Visual bB Version 1.0.0.554
     rem **********************************
     rem *<filename>                      *
     rem *<description>                   *
     rem *<author>                        *
     rem *<contact info>                  *
     rem *<license>                       *
     rem **********************************
    
       set kernel multisprite
    
            set smartbranching on
    
                                      dim _P1_L_R = player1x.a
                                      dim _P1_U_D = player1y.b
                                      dim _P0_L_R = player0x.c
                                      dim _P0_U_D = player0y.d
                                      dim _P2_L_R = player0x.i
                                      dim _P2_U_D = player0y.j
                                      dim _player0a = e
                                      dim _player0b = f
    
     player1x = 110 : player1y = 70
     player2x = 130 : player2y = 20
     player3x = 30 : player3y = 20
     player4x = 30 : player4y = 70
     player0x = 50 : player0y = 50
     missile0x = 200 : missile0y = 200
    
       AUDV0=0
       AUDV1=0
    
    BATTLEFIELD
    
      g=g+1
      rem POSSIBLY INEFFICIENT CODE, SEPARATE COLOR INFO FOR EACH FRAME...
      if g = 10 then player0:
            %00000000
            %00000000
            %00000000
            %11111111
            %11111111
            %00000000
            %00000000
            %00000000
    end
    
      if g = 20 then player0:
            %00000000
            %00000000
            %11111111
            %00000000
            %00000000
            %11111111
            %00000000
            %00000000
    end
    
      if g = 30 then player0:
            %00000000
            %11111111
            %00000000
            %00000000
            %00000000
            %00000000
            %11111111
            %00000000
    end
    
      if g = 40 then player0:
            %11111111
            %00000000
            %00000000
            %00000000
            %00000000
            %00000000
            %00000000
            %11111111
    end
    
     if g = 50 then player0:
            %00100100
            %00100100
            %00011000
            %00011000
            %01111110
            %00000000
            %00011000
            %00011000
    end
    
       player1:
            %00001000
            %00000000
            %01011101
            %01011101
            %00011100
            %01100011
            %00011100
            %00011100
    end
    
       player2:
            %00001000
            %00000000
            %01011101
            %01011101
            %00011100
            %01100011
            %00011100
            %00011100
    end
    
       player3:
            %00001000
            %00000000
            %01011101
            %01011101
            %00011100
            %01100011
            %00011100
            %00011100
    end
    
       player4:
            %00001000
            %00000000
            %01011101
            %01011101
            %00011100
            %01100011
            %00011100
            %00011100
    end
    
     _COLUP1 = $0E
    
     COLUP2 = $40
    
     COLUP3 = $D4
    
     COLUP4 = $64
    
     COLUP0 = $1E
    
     COLUPF = $0E
    
    
    
     playfield:
     ................
     ................
     ................
     ................
     ................
     XXXXXXXXXXXXXXXX
     X...............
     X...............
     X...............
     X...............
     XXXXXXXXXXXXXXXX
    end
    
    
    
    
     scorecolor = $0E
    
     drawscreen
    
            if g > 50 && joy0right then _P0_L_R = _P0_L_R + 0.30
            if g > 50 && joy0left then _P0_L_R = _P0_L_R - 0.30
            if g > 50 && joy0up then _P0_U_D = _P0_U_D + 0.30
            if g > 40 && joy0down then _P0_U_D = _P0_U_D - 0.30
    
     if _P1_L_R < _P0_L_R then _P1_L_R = _P1_L_R + 0.10
     if _P1_L_R > _P0_L_R then _P1_L_R = _P1_L_R - 0.10
     if _P1_U_D < _P0_U_D then _P1_U_D = _P1_U_D + 0.10
     if _P1_U_D > _P0_U_D then _P1_U_D = _P1_U_D - 0.10
    
     if _P2_L_R < _P0_L_R then _P2_L_R = _P2_L_R + 0.10
     if _P2_L_R > _P0_L_R then _P2_L_R = _P2_L_R - 0.10
     if _P2_U_D < _P0_U_D then _P2_U_D = _P2_U_D + 0.10
     if _P2_U_D > _P0_U_D then _P2_U_D = _P2_U_D - 0.10
    
     if joy0left && joy0fire then missile0x=player0x : missile0y = player0y : goto MISSILELEFT
    
    
     if collision(missile0, player1) && missile0x = player1x then n = 11: player1y = 255 : score = score + 10
    
     if collision(missile0, player1) && missile0x = player2x then n = 11: player2y = 255 : score = score + 10
    
     if collision(missile0, player1) && missile0y = player3y then n = 11: player3y = 255 : score = score + 10
    
     if collision(missile0, player1) && missile0y = player4y then n = 11: player4y = 255 : score = score + 10
    
       if n > 0 then AUDV0 = 15 : AUDC0 = 8 : AUDF0 = 20 : n = n - 1: if n = 0 then AUDV0 = 0
    
     if collision(missile0,playfield) then missile0x = 255 : missile0y = 255
    
    
    MISSILELEFT
     missile0x = missile0x - 1
    
     goto BATTLEFIELD
    
  12. I have almost gotten multisprite collision working the old fashioned way without DPC+ but I hit a small snag.

     

    The collision between missile0 and player1 and player2 works and they dissapear when the missile is at the same x position as them. But it dosn't work so well with player3 and player4. When missile0 collides with either player3 or player4 both of them dissapears.

    
     if collision(missile0, player1) && missile0x = player1x then player1y = 255
    
     if collision(missile0, player1) && missile0x = player2x then player2y = 255
    
     if collision(missile0, player1) && missile0x = player3x then player3y = 255
    
     if collision(missile0, player1) && missile0x = player4x then player4y = 255
    
    

    Entire Code:

     rem Generated 2013-10-19 17:39:33 by Visual bB Version 1.0.0.554
     rem **********************************
     rem *<filename>                      *
     rem *<description>                   *
     rem *<author>                        *
     rem *<contact info>                  *
     rem *<license>                       *
     rem **********************************
    
       set kernel multisprite
    
            set smartbranching on
    
                                      dim _P1_L_R = player1x.a
                                      dim _P1_U_D = player1y.b
                                      dim _P0_L_R = player0x.c
                                      dim _P0_U_D = player0y.d
                                      dim _player0a = e
                                      dim _player0b = f
    
     player1x = 110 : player1y = 70
     player2x = 130 : player2y = 20
     player3x = 30 : player3y = 20
     player4x = 30 : player4y = 70
     player0x = 50 : player0y = 50
     missile0x = 200 : missile0y = 200
    
    
    BATTLEFIELD
    
      player0:
       %00011111
       %11111111
       %00111110
       %11111111
       %00011111
    end
    
       player1:
       %00011111
       %11111111
       %00111110
       %11111111
       %00011111
    end
    
       player2:
       %00011111
       %11111111
       %00111110
       %11111111
       %00011111
    end
    
       player3:
       %00011111
       %11111111
       %00111110
       %11111111
       %00011111
    end
    
       player4:
       %00011111
       %11111111
       %00111110
       %11111111
       %00011111
    end
    
     _COLUP1 = $0E
    
     COLUP2 = $40
    
     COLUP3 = $D4
    
     COLUP4 = $64
    
     COLUP0 = $1E
    
     COLUPF = $0E
    
    
    
     playfield:
     ................
     ................
     ................
     ................
     ................
     XXXXXXXXXXXXXXXX
     X...............
     X...............
     X...............
     X...............
     XXXXXXXXXXXXXXXX
    end
    
    
    
    
     scorecolor = $0E
    
     drawscreen
    
            if joy0right then _P0_L_R = _P0_L_R + 0.30
            if joy0left then _P0_L_R = _P0_L_R - 0.30
            if joy0up then _P0_U_D = _P0_U_D + 0.30
            if joy0down then _P0_U_D = _P0_U_D - 0.30
    
     if joy0left && joy0fire then missile0x=player0x : missile0y = player0y : goto MISSILELEFT
    
    
     if collision(missile0, player1) && missile0x = player1x then player1y = 255
    
     if collision(missile0, player1) && missile0x = player2x then player2y = 255
    
     if collision(missile0, player1) && missile0x = player3x then player3y = 255
    
     if collision(missile0, player1) && missile0x = player4x then player4y = 255
    
    
    
    MISSILELEFT
     missile0x = missile0x - 1
    
     goto BATTLEFIELD
    
×
×
  • Create New...