What classic game would you like to clone?

Discussion in 'Off Topic' started by Abrexas, Dec 8, 2018.

  1. Abrexas

    Abrexas Member

    Joined:
    Aug 10, 2016
    Posts:
    58
    Hey guys!

    My name is Steven French and I make clone tutorials on my YouTube channel. I have a heaps of fun making theses and I try to keep the code pretty simple for new developers to learn. But I have a question for y'all!

    Which classic titles would you be interested in seeing a tutorial series on? Typically, I just make the code on the first level/stage of the game as to keep the series short, so keep that in mind =P

    I think I'll be working on Tetris next as it's a pretty simple one to bang out. In the mean time, I would love to get some suggestions on other titles!!

    Many thanks and much love!!
    https://www.youtube.com/channel/UC09fDF0UwNmUBcyje0MBehA?view_as=subscriber
     
    Niels, immortalx and Evan Malinowski like this.
  2. Toque

    Toque Member

    Joined:
    May 25, 2017
    Posts:
    635
    Wow. Just found theses. Can’t wait to watch some.
     
    Abrexas likes this.
  3. Evan Malinowski

    Evan Malinowski Member

    Joined:
    Apr 17, 2018
    Posts:
    228
    How about Pac-Man but only using Tiles?
     
  4. Abrexas

    Abrexas Member

    Joined:
    Aug 10, 2016
    Posts:
    58
    Glad you like the idea! I don't have many up yet but I have heaps of free time so expect more soon!
     
  5. Abrexas

    Abrexas Member

    Joined:
    Aug 10, 2016
    Posts:
    58
    Only using tiles? Even for Pac and the Ghosts? That would be tricky haha. But could be a good challenge?
     
    Evan Malinowski likes this.
  6. Artwark

    Artwark Member

    Joined:
    Jul 11, 2016
    Posts:
    351
    How about Tetris?
     
    Abrexas likes this.
  7. immortalx

    immortalx Member

    Joined:
    Sep 6, 2018
    Posts:
    114
    I'd be interested in any of the pseudo 3d racing games of the past. Even back then it was very impressive and I think many would find interesting how it can be implemented in gamemaker.
     
    Abrexas likes this.
  8. Abrexas

    Abrexas Member

    Joined:
    Aug 10, 2016
    Posts:
    58
    Tetris is quite likely to be next. I found some assets I can use and I've made a similar game before.


    Oh man, I've had a few ideas about that style of game but that definitely seems like a challenge. No clue how they were able to pull it off back then haha.
     
    immortalx likes this.
  9. Smiechu

    Smiechu Member

    Joined:
    Jul 14, 2017
    Posts:
    607
    RujiK, TinyGamesLab and Abrexas like this.
  10. immortalx

    immortalx Member

    Joined:
    Sep 6, 2018
    Posts:
    114
    Abrexas likes this.
  11. Abrexas

    Abrexas Member

    Joined:
    Aug 10, 2016
    Posts:
    58
    Yo that looks incredible!

    Many thanks! I'll probably code through Tetris on twitch later today :)
     
  12. Penthar Kingsland

    Penthar Kingsland Member

    Joined:
    Dec 9, 2018
    Posts:
    0
    Hey... New here

    You know what's stupid... i have a HP Chromebook and cant install Fortnite or a Game Maker

    Just for now i use Scratch...
     
    Last edited by a moderator: Dec 9, 2018
  13. Abrexas

    Abrexas Member

    Joined:
    Aug 10, 2016
    Posts:
    58
    That's a bummer! Game Maker is a hella fun tool.

    Have you tried Godot Engine? TBH, I kinda like it even more than GM, but I'm far more familiar with this platform haha.
     
  14. Evan Malinowski

    Evan Malinowski Member

    Joined:
    Apr 17, 2018
    Posts:
    228
    Polybius
     
    Abrexas likes this.
  15. Abrexas

    Abrexas Member

    Joined:
    Aug 10, 2016
    Posts:
    58
    Literally never heard of this game before, but a quick google search tells me that you might be on to something! haha
     
    Evan Malinowski likes this.
  16. Psycho_666

    Psycho_666 Member

    Joined:
    Dec 5, 2017
    Posts:
    63
    I want to clone patapon. It's abandonwear at this point. Sony ain't bringing the PSP back and it seems like the PS4 is no place for fun little rhythm games, so patapon is dead. Still one of my favorite games for its unique style and charm.
     
    Abrexas and Ladi_Pix3l like this.
  17. Ladi_Pix3l

    Ladi_Pix3l Member

    Joined:
    Jul 9, 2017
    Posts:
    307
    Collaspe!!! if anybody remembers this. I'm sure it's still around but I would like to clone one or make my own rendition of it. I just don't understand how puzzles work unfortunately
     
  18. ethian

    ethian Member

    Joined:
    Apr 19, 2018
    Posts:
    254
    I don't know what classic i would like to clone...
    All what i think about this is to clone games that are not actually classics instead of games that are actually classics... sorry...
     
  19. Jeff Short

    Jeff Short Member

    Joined:
    Nov 6, 2018
    Posts:
    8
    Not sure if it's a traditional "classic" but I've always wanted to do a shining force clone.
     
  20. HeWhoShallNotBeNamed

    HeWhoShallNotBeNamed Member

    Joined:
    Nov 9, 2018
    Posts:
    24
    My first thought is Chrono Trigger, but since you're looking for something a little more simple that you can show in a tutorial, how about the old NES game Balloon Fight? Does anybody remember Balloon Fight?
     
  21. K12gamer

    K12gamer Member

    Joined:
    Jun 21, 2016
    Posts:
    87
    PONG, Break Out, DIG DUG

    Also...if you make a playable demo with Pause Menu, HTML 5 auto Fullscreen and High Score table...
    It would greatly be appreciated.
     
  22. TheouAegis

    TheouAegis Member

    Joined:
    Jul 3, 2016
    Posts:
    5,870
    I got started on Castlevania III long, long ago. I just peek at its (the NES game) code every couple of weeks until my ADHD kicks in. lol Or I dabble in cleaning up my code, because I've rewritten it so many times - another aspect of ADHD.

    I've been working kinda on PuyoPuyo (the NES version). Have the chaining algorithm done, just working on game mechanics.

    I have most of the code done for my Pac-Man clone but haven't finished it because I got distracted (ADHD) with trying to make a random Pac-Man maze generator that I was satisfied with (and haven't found yet).
     
  23. Siolfor the Jackal

    Siolfor the Jackal Member

    Joined:
    Jun 21, 2016
    Posts:
    523
    Love Castlevania III. So good.
     
    Abrexas likes this.
  24. TheouAegis

    TheouAegis Member

    Joined:
    Jul 3, 2016
    Posts:
    5,870
    I'm pretty sure he meant only using tiles for the maze and the pellets, not for Pac-Man and the ghosts, oh and the fruit. an empty path has a tile value of 0, naturally; a pellet has a tile value of 1; anything higher than that is a wall tile. You could make Pac-Man, the ghosts, and the fruits tiles, but that's not necessary at all, as you would still need a whole slew of variables to keep track of the same things objects could take care of easily. The maze and pellets don't need to be updated every step, so they don't need objects.

    Every step (i think), Pac-Man or the ghosts update an array of all the tiles around them NESW. Every 8 pixels the ghosts track Pac-Man's position and attempt to move toward him. The fruit was just random movement every 8 pixels, I think. Pac-Man didn't need to have all four directions checked every step, since he only can move in the direction that the player says; and the ghosts and fruit don't need to be checked every step because they can only move when aligned to the grid anyway; it was just easier for them to loop through all the objects and update their tiles every step.
     
  25. Abrexas

    Abrexas Member

    Joined:
    Aug 10, 2016
    Posts:
    58
    Damn, I wasn't getting notifications here so I'm a bit behind haha.


    My buddy does picel art for me whenever we do game jams. He's been itching to make a rhythm game, so I'll run this by him. If not a clone, I could definitely make a version of this for a jam, and I typically stream the code process over at twitch when I do them.

    Collapse would be great! I'm working on a larger project atm, so I was hoping to grab a small game to work on. This, or something like it, could be it!

    Please, drop them ideas at me! I really do get a kick out of cloning classics, but a few modern titles have been coming to my mind lately. Very likely that I will end up bouncing back and forth haha.

    Never heard of Shining Force, but I will definitely be doing a turned-based game at some point. But it likely wont be for a while =/

    BALLOON FIGHT! This has been on my list for a long while now! I hope to not disappoint haha.

    I have the html5 export, which I utilize whenever I do game jams. I can definitely toss that in to one of the clones soon!
    High score table is easy to do locally, but I've had issues with it while using HTML5. So that might depend on what I learn first haha.

    To a lesser extent, I know the feeling! I often create a desire to create a certain mechanic and before finishing the actual game I feel satisfied enough and move on haha.

    When it comes to NES/SNES my mind goes straight to Super Ghouls And Ghosts. I replicated the movement mechanic for a jam I did last year. Hella complaints that it was too hard XD

    Yeah, I think you're right. And pretty spot on with your thoughts on implementation.
    Although, you might not have known, the various ghosts have different behaviors. I've forgotten which is which, but one will move directly towards Pac, one will chase but avoid direct confrontation, one will try to predict where Pac is going to move next, and I don't recall any others. Hella neat and I didn't realize until researching for making a clone of it haha.
     
    Psycho_666 likes this.
  26. Abrexas

    Abrexas Member

    Joined:
    Aug 10, 2016
    Posts:
    58
    Tetris is done! :)

    Part 1 of 5:
     
  27. Psycho_666

    Psycho_666 Member

    Joined:
    Dec 5, 2017
    Posts:
    63
    Abrexas likes this.
  28. TheouAegis

    TheouAegis Member

    Joined:
    Jul 3, 2016
    Posts:
    5,870
    Going off Ms. Pac-Man (because it was better programmed), they spawn in the ghost house and just bob up and down over a range of 8 pixels. At the beginning of each step, it checks if the number of pills when the maze started minus the number of pills remaining is equal to the required number of pills to free each ghost and then sets the ghost to move toward the middle of the ghost house and then up out of the house. Since Blinky starts out of the house by default, he goes into flee mode and makes his way toward the top-right corner; each ghost has each of the four corners as its destination for fleeing. Every time each ghost is aligned to the grid, it gets a target position: Blinky targets Pac-Man directly, Pinky targets 3 cells ahead of Pac-Man, Inky targets abs(PacMan.x - Blinky.x), and Clyde is just messed up (lol) in that he targets Pac-Man directly like Blinky unless Pac-Man is less than 2 tiles away. But other than that, all the ghosts share the same code, so you can pretty much dump it all into one script and leave it at that.


    @Siolfor the Jackal INSIDER TIP: The original Castlevania has an unintended bug in the Crow's code. Castlevania III had a bunch of typos too, but none as "game-breaking" as this one.
    https://castlevaniadungeon.net/forums/index.php?topic=8633.msg190703#msg190703
    I might post a video of the bug and the fix if I ever figure out how to make videos on my computer. lol
     
    Abrexas and Siolfor the Jackal like this.
  29. TheouAegis

    TheouAegis Member

    Joined:
    Jul 3, 2016
    Posts:
    5,870
    I've been playing the Shining saga Sega Classics app lately. Shining Force was the first TRPG I played and I fell in love with it instantly. I asked for it for Christmas and my dad got me SF2 instead. I was disappointed; I still love SF1 the most for its art style, but I did eventually beat SF2 a couple times. But if you "cheat" like I did and just Aura-grind her, you can basically solo the rest of the game with Karna.

    Shining The Holy Ark is my all-time favorite Saturn game, although I'm not a fan of Shining In The Darkness (still playing that right now, though). Once I finally remember to download the translation guide, I'll go back to playing Shining Force III. I liked it enough even without a translation, but didn't want to get too far in without one.

    The rest of the Shining games are a disappointment (although I did beat Shining Wisdom), but then again, most of them weren't by the same company.


    But if we're going to go remaking TRPGs, I'd personally like a remastered version of Wachenröder from the Saturn. Its crappy graphics and weak gameplay hamper it, but the cut scenes were just simply beautiful in a steampunk, grunge way. And the soundtrack wasn't too shabby either. I mean, I actually beat the game without playing any other games between sessions, so for me it was definitely entertaining enough despite having no clue what anyone was saying (it's Japanese).

    I also like Sakura Taisen, another TRPG but with a dating sim adventure game added in. Was kinda fun trying to sweet talk a little girl who brought her teddy bear along with you on a [play] date to a theme park just so I could get a combo attack out of her on the next mission. lol Again, hard to do without knowing Japanese, but I did get pretty far into the first one (I have both).

    And of course, who could forget (unless they never played any of them) Front Mission? They make me rage soooo hard sometimes, but I always go back to them. There's just something so attractive about the grittiness of the games' world. And wanzers. Forget Mechwarrior, I love Front Mission's mechs sooooo much more.


    OOOH! I'd love to see a remake of Wario Land 3D! lol
     
    Last edited: Dec 18, 2018
    Siolfor the Jackal likes this.
  30. Abrexas

    Abrexas Member

    Joined:
    Aug 10, 2016
    Posts:
    58
    You're really looked into this, I love it! Thanks for the info.

    Have you tried using OBS to record? I use it for my streaming and tutorials and it works really well for me. And it's free ;)
     
  31. TheouAegis

    TheouAegis Member

    Joined:
    Jul 3, 2016
    Posts:
    5,870
    I'll look it up.
     
    Abrexas likes this.
  32. Exabella

    Exabella Member

    Joined:
    Dec 25, 2018
    Posts:
    17
    If I could somehow merge Chrono Trigger and Fallout: New Vegas into a single dystopian open world game that would be :rolleyes:
     
    PlayerOne likes this.
  33. Abrexas

    Abrexas Member

    Joined:
    Aug 10, 2016
    Posts:
    58
    That is a supper ambitious goal, but a great one! haha
     
  34. Megax60

    Megax60 Member

    Joined:
    Jun 22, 2017
    Posts:
    38
    Ninja gaiden nes, at least the 3 final bosses
     
  35. Abrexas

    Abrexas Member

    Joined:
    Aug 10, 2016
    Posts:
    58
    That could happen! I'd probably bail on any story/dialogue bits and just focus on replicating the mechanics, but that's definitely going on my list.

    I think my next clone will be either Super Mario Bros or Contra.
     
    MissingNo. likes this.
  36. MissingNo.

    MissingNo. Member

    Joined:
    Jun 25, 2018
    Posts:
    45
    I agree with Super Mario Bros, yes there is a lot of Platformer tutorials out there but it would be neat to actually learn how to program Marios slippery physics and
    to program stuff like the hidden 1 up blocks and multi coin blocks as well as the hammer brother movement patterns.
     
  37. Megax60

    Megax60 Member

    Joined:
    Jun 22, 2017
    Posts:
    38

    The thing i hare most is the rng bros, those hammers are not fun at all
     
    MissingNo. likes this.
  38. MissingNo.

    MissingNo. Member

    Joined:
    Jun 25, 2018
    Posts:
    45
    Yeah I agree, still would be fun to see gml of them because they have a bunch of different behaviours such as jumping between layers of blocks.
     
  39. TheouAegis

    TheouAegis Member

    Joined:
    Jul 3, 2016
    Posts:
    5,870
    The original Hammer Bros probably weren't that complex. I could probably get that code in the next couple days.
     
    Abrexas likes this.
  40. Niels

    Niels Member

    Joined:
    Jun 22, 2016
    Posts:
    760
    Zeliard
     
  41. Abrexas

    Abrexas Member

    Joined:
    Aug 10, 2016
    Posts:
    58
    Never heard of it. But a quick google search has me thinking it wouldn't take too long to clone a chunk of it. I'll consider this one for sure.
     
    Niels likes this.
  42. Niels

    Niels Member

    Joined:
    Jun 22, 2016
    Posts:
    760
    It was a excelent zelda2'ish dungeoncrawler.
    I once started a zeliard inspired game in gamemaker, but I kinda got stuck on the seamless room wrap part

    LGR has a review of the game and called it a hidden gem:

     
    Abrexas likes this.
  43. TheouAegis

    TheouAegis Member

    Joined:
    Jul 3, 2016
    Posts:
    5,870
    So I didn't finish translating all the code for the Hammer Bros. There's a lot of stuff shared between enemies and so it's a pain to sort out what code applies to the Hammer Bros and what applies to, say, a Blooper. Then there's the whole issue of some code I haven't yet found uses for. And there's even some code I question the usefulness of. Also they handle collisions separately from the rest of the state code. But basically, it amounts to something like this:
    Code:
    enum states
    {
        move = $00,
        jump = $01,
        fly = $02,
        stun = $04,
        attack = $08,
        dead = $20,
        axed = $40,
        slide = $80
    }
    /*
        NOTES ABOUT STATES
      
        Stomping enemies sets to states.stun
        Shooting enemies with fire or knocking them away sets to states.dead|states.fly
        Hammer Bros and Lakitu are always set to states.dead when stomped
        Spiny Eggs are states.fly|states.jump
        Buzzy Beetles and Koopa Troopas go to states.slide when kicked
        Bullet Bills are states.jump when alive
        Cutting the bridge sets Bowser to states.axed (otherwise he's dead)
    */
    
    var rand;
    rand[0] = irandom(255);
    rand[1] = irandom(255);
    
    if !(state & states.dead)
    {
        //If not ready to jump
        if alarm[0]
        {
            alarm[0]--;
          
            //If not ready to attack
            if alarm[1]
                alarm[1]--;
            else
            {
                //Throw a hammer...maybe
                alarm[1] = $30 - $14*HARD_MODE;
                var n = rand[0] & 7;
                if !n
                    n = rand[0] & 8;
                if !hammers[n] && !global.instances[n div 3 + 4]
                {
                        hammers[n] = $90; //not sure yet what this is for, seems to be multi-purposed
                        with instance_create(x,y,obj_Hammer)
                            owner = other.id;
                        state |= states.attack;
                }
                else
                    alarm[1]--;
            }
        }
        else
        {
            //Jump up or down, depending on location on the screen
            if state & 7 != states.jump
            {
                var n = 0;
                //If over halfway down, jump to the highest possible platform
                if y > $7F
                    vsp = -6;
                else
                //If essentially in the top half of the screen, jump down a little ways
                if y < $70
                {
                    vsp = -4;
                    n = 1;
                }
                else
                //If in the middle, jump wherever
                if rand[0] & 1
                    vsp = -4;
                else
                    vsp = -6;
              
                state |= states.jump;
              
                //If jumping down in hard mode, there's a 50% chance to jump all the way down
                if HARD_MODE
                    n &= rand[1];
                else
                    n = 0;
                //Set the collision timer
                alarm[2] = $20 + $17*n;
              
                alarm[0] = rand[0] | $C0;
            }
        }
      
     
        if global.timer & $40
            hsp = -$B0/$100;  
        else
        if !CHASE_TIMER
            hsp = -$60/$100;
        else
            hsp = $50/$100;
        if x < Mario.x
            image_xscale = 1;
        else
            image_xscale = -1;
    }
    
        /* This next block used by all enemies, condensed for Hammer Bros here */
      
    //                if state == states.stun | states.jump
    //                    grav = $20/$100;
    //                else
    grav = $3D/$100;
    y += vsp;
    vsp += grav;
    if vsp > $47F/$100
        vsp = 4;
    /* add friction, but it's 0 in this case */
    x += hsp;
    
    I left out a bunch of stuff, since this was just to get an idea of how they worked. The collision checking happens at some point outside the scope of this code. The code is pretty messy, in my opinion. Anyway, there are a couple key points here. When an enemy dies, it just does movement code and that's about it. There's some stipulation I saw in the code to suggest otherwise; maybe it was for Bowser - whatever, I didn't delve into it because it didn't apply here. So assuming our Hammer Bro isn't in his death state, it counts down a jump timer (alarm[0]). If that timer hasn't gone off yet, it then counts down a hammer timer. If the hammer timer fires, the Hammer Bro picks a random piece of pre-allocated instance memory to try to create a hammer in; if that memory is already occupied, then he won't throw the hammer. ....I'm not sure why it's so complicated, but I guess it has something to do with how two Hammer Bros co-operate with each other. Anyway, when the jump timer goes off, the game checks the Hammer Bro's y-coordinate. If farther than halfway down the screen, he will do a high jump and land on the highest possible platform. If he's in the upper half of the screen, he'll try to jump down to the farthest platform. If he's in the middle, he'll randomly jump up or down (or just up if a platform is directly above him). In hard mode, there's a 50% chance to jump all the way to the ground floor from the highest platform. A collision timer is set based on the outcome. Now, the thing about old console games is they used a game timer that just constantly counted up. In my code, I refer to it as global.timer. The Hammer Bro will change direction every 64 steps (roughly 1 second) unless his chase timer has gone off, in which case he'll just run after Mario. I apparently overlooked the code that tells the Hammer Bro to change movement when Mario jumps over him, but whatever. Anyway, then the Hammer Bro moves as one normally would.

    Now the way jumping across platforms is handled, from what I can tell, is when he jumps, the collision timer (alarm[2]) is set to either a low value or a high value. When the Hammer Bro detects terrain (e.g. breakable bricks) below him, it then checks if that collision timer has gone of yet; if the timer hasn't gone off, he just keeps falling through the block, treating it as a one-way platform; but if the collision timer has already gone off, then he will land on the platform. If you noticed, he always jumps high with a short collision timer when low on the screen; that way he is less likely to fall off the screen.
     
    MissingNo. and Abrexas like this.
  44. Abrexas

    Abrexas Member

    Joined:
    Aug 10, 2016
    Posts:
    58
    Homie, this is amazing!
    First of all, how did you access the original code that you analysed/translated? Super interested in how you were able to look into the actual mechanics, as I've been basing all of my clones off of fell haha.

    Secondly, I imagine the Hammer Bro's reason for checking a pre-allocated instance of memory is to reduce file size. This single instance wouldn't save a whole lot, but this tactic could be useful if used more throughout the game. They had hella small memory sizes after all, so them bits were valuable haha.
     
    MissingNo. likes this.
  45. MissingNo.

    MissingNo. Member

    Joined:
    Jun 25, 2018
    Posts:
    45
    What is fell? Was that a grammar mistake or is it some abbreviation I'm not aware of?

    Yeah Miyamoto has gone on record saying that once they got near completion of the game they wanted to add another easier enemy instead of the Koopa being the normal enemy.
    So they came up with the idea of Goomba, the problem was that they didn't have much space left to work with so they just made one sprite and flipped it back and forth
    to give the illusion of it walking. So as you can see space was very limited.
     
    Abrexas likes this.
  46. Edwin

    Edwin Member

    Joined:
    Jul 15, 2018
    Posts:
    166
    I'd clone River City Ramsom, but there is already a good sequel made by great team.
     
    Abrexas likes this.
  47. Abrexas

    Abrexas Member

    Joined:
    Aug 10, 2016
    Posts:
    58
    I meant to say 'feel' =P
     
    MissingNo. likes this.
  48. spitler

    spitler Member

    Joined:
    Jan 9, 2019
    Posts:
    2
    Jet set willy would be good, because it is basic and you can add assets to it at free will.
     
    Abrexas likes this.
  49. Mert

    Mert Member

    Joined:
    Jul 20, 2016
    Posts:
    165
  50. Gamebot

    Gamebot Member

    Joined:
    Jul 3, 2016
    Posts:
    148
    How about old school comodote 64 games such as Choplifter and omega race. Those are pretty easy as far as setup.

    The era includes donkey kong, congo bongo, pac man, up n down, root beer tapper! Love em all.
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice