You are playing Mike Tyson's Punch-Out!! From the Nintendo Super NES games on play retro games where you can play for free in your browser with no download required.
• • • • Community ▼ • • • • • • • • • • • • Resources ▼ • • • • • • • • • Other ▼ • • • • • • is software designed to make developing games easy and fun. Driver Kip 3100 Windows 7 here. It features a unique 'Drag-and-Drop' system which allows non-programmers to make simple games. Additionally, experienced coders can take advantage of its built in scripting language, 'GML' to design and create fully-featured, professional grade games.
Content that does not follow the is subject to deletion, so please become familiar with them. Hey gang, I just started using Game Maker and I'm currently working on the intermediate tutorials. (I don't even have a programming background) I don't mean to overreach but I have a game design and one of the chapters of my story requires a boxing match. I am sure that without any help, I would sit down, crunch the logic and make it anyways but if anyone has any advice about the game mechanics, please let me know. I myself will be studying similar games for reference.
I am x-posting in the Game Maker community if anyone is wondering but reddit is my go to for just about everything these days. If anyone is wondering I need to animate the player fighting a deezed duck.
Lol • • • • •. I would recommend a loop AI for the opponent. Set a variable 'think' to designate as a random number between 0.5 seconds and 1.5 seconds (these would be in units of 'frames' in your code so it would be 15 frames to 45 frames at the default 30fps) Then have like 4 possible 'attacks' for the opponent: quick jab, hook, squatting uppercut, and a special attack Then, set a timer for the AI boxer to 'think' about which attack to do. Randomly select a 'think' interval, and set your 'attack' timer to go off after waiting for the amount of frames designated by 'think.' After the attack is completed, reset the loop by having it select a 'think' amount, and reset the animation to it's idle.
Logic would look like this (idle animation) [idle for 'think' time] [jab] [hook] [uppercut] [special (if under 50% HP, else go back to idle)] [go back to idle] Hope this helps! Edit: Also, be sure to leave enough 'follow through' on the AI opponent's attacks for the player to be able to punish it with an attack. Oh man, that's so clear! The only thing I see that would need to be debugged is the disruption caused by player's attacks. Originally, I was thinking about the 'chance' variable. So with that I can give the AI a chance to block as well. But I would also need to give the player a variable to break the block.
So a combo is not impossible to execute, and then the user would be able to feel a sense of having pummeled the AI. I was also thinking of implementing an alarm into the AI's punches so that a counter-attack based on the key press being within a certain limit of time could be executed, I was thinking that with counter attacks, the user could really feel the pressure from their sense of timing. For the fight itself, is there anything else in boxing that could be used to make this more interesting? I would make the idle stage block any attack from the player. In punch out, most of the opponents would require proper dodging to leave the opponent open to an attack. Some of them had 'tells' that would let the player know where to dodge or when they are open for a preemptive attack.
These are easily added in as a few frames of animation on the attack. Take for instance a right hook. The attack will have three stages: • Wink with right eye • right hook • follow through The wink will be only a couple frames to tell the player which attack is coming, the hook must be dodged at the correct timing, then the follow through leaves the AI opponent open to a counter attack for a second or so. Now, for the player to combo you should give the AI opponent a ' stunned' state with an expiration timer, and a ' stun amount' that designates how many times they can be re-stunned. For instance player counterattacks opponent.
Opponent is now ' stunned.' Stunned animation plays for 20 frames, and then resets to idle where they will block all attacks. Every attack on the stunned opponent will reset the stunned timer back to 0 so that it will count back up to 20.
' Stun amount' starts at 0 and maxes out at 5. Every time the opponent is stunned, it will count up 1.
When it hits 5, it will reset the opponent to idle and block all attacks. Stunned amount resets at the beginning of every idle loop, in order to ensure that the variable doesn't carry over should the player mess up a combo. Logic would look like this: [Stunned] ('Stun Amount' +1) wait 20 frames [Attacked before 20 frames] [Not attacked before 20 frames] [ Is 'Stunned amount'. That was super insightful. To be honest, I come from an English Lit background so unpacking a game like that is super familiar.