0 Favourites

How do I make a proper action platformer?

  • Hear ye hear ye,

    Many moons ago I liked Strike Force Heroes so greatly that I made quite a few

    sprites and animations for what I was hoping to release as a new game. I wanted

    to make a game like it and use the sprites but i've got too far ahead of myself and

    now many sprites exist but the method to make the game does not.

    Looking at the Construct 2 poster image donning the front page, I assumed it

    perfect for my cause. Several hours later of cued googling, watching tutorials and

    whatnot, I learned not to assume.

    Basically, how do I make a fleshed out action platformer like SFH with an A.I, an

    external cash and inventory system, a level select, cutscenes, dialouge, the works.

    I'm willing to learn whatever the heck it takes.

  • It's all possible, but learning to create it will take time, patience, a lot of trial and error and more patience and especially time..

  • It's entirely possible, but as Little Stain says, it'll take time.

    The game you've described may seem simple, but it's actually very complicated, and a single feature alone would take days of planning for a new comer to have even a rough idea.

    The question is also very broad, it's akin to asking "How do I make a proper car?" - we all know about cars, but to actually make one you need a combustion engine, axles, suspension, gearing etc.

    It would be more practical to break down your game and solve one problem at a time.

  • It's entirely possible, but as Little Stain says, it'll take time.

    The game you've described may seem simple, but it's actually very complicated, and a single feature alone would take days of planning for a new comer to have even a rough idea.

    The question is also very broad, it's akin to asking "How do I make a proper car?" - we all know about cars, but to actually make one you need a combustion engine, axles, suspension, gearing etc.

    It would be more practical to break down your game and solve one problem at a time.

    Right then, if possible please direct me to any of the following:

    -A.I Tutorial for the type of game i'm making.

    -Upgrade/purchase/currency/exp system.

    -Weapon equips coding related to above.

    -How to make characters that have heads and hands moving like in raze.

    For the rest i've seen most of the tutorials and I feel I would be able to figure out.

  • Here is a link to a few gun sprites I just made:

    (Not even close to the number of others i've made, this is a testing set.)

  • About the AI:

    What should your enemy do and not do and when and when not?

    About update purchase etcetera:

    Do you want a menu in which this is done or does the player upgrade his gun when walking over, should the player be able to switch guns at all times or just at certain places/times in the game?

    How and when does the player gain experience and how do you want this displayed, what does experience mean for the gameplay and how do you want this implemented?

    About Weapons equip coding:

    Instance variable weapon

    if player chooses handgun

    set variable weapon to handgun

    • if player variable is handgun

    trigger once

    set group handgun to active

    in the group handgun have all the events that are diiferent from when the player has another weapon.

    About character:

    Either create animations for all you want or have the hands head pinned to the player sprite..

    Another option would be to use an external program like Brashmonkey's Spriter to animate the player from loose parts and insert the whole in Construct2

  • About the AI:

    What should your enemy do and not do and when and when not?

    They should fire when player is in sight, move towards player when not, have minor stupidity (Inaccuracy etc).

    Very basic A.I to tide over till an update/sequel.

    About update purchase etcetera:

    Do you want a menu in which this is done or does the player upgrade his gun when walking over, should the player be able to switch guns at all times or just at certain places/times in the game?

    How and when does the player gain experience and how do you want this displayed, what does experience mean for the gameplay and how do you want this implemented?

    A menu akin to that of Strike Force Heroes upgrade system. Exp gain is from enemies killed. It must transfer no matter a win or loss and is displayed as a bar. Experiences preceedes levels which will allow players to buy upgrades and unlock passive bonuses. Cash is just for purchases.

    About Weapons equip coding:

    Instance variable weapon

    if player chooses handgun

    set variable weapon to handgun

    - if player variable is handgun

    trigger once

    set group handgun to active

    in the group handgun have all the events that are diiferent from when the player has another weapon.

    The problem is I plan to have helmets, armor, special ammo, and presets to weapons. Very simply put

    like strikeforce heroes.

    About character:

    Either create animations for all you want or have the hands head pinned to the player sprite..

    Another option would be to use an external program like Brashmonkey's Spriter to animate the player from loose parts and insert the whole in Construct2

    The problem is I cannot figure how to pin AND angle AND rotationally flip the hand + head sprites. I've tried.

  • Whilst you have to buy it (for the insanely low price of $25) I'd say Spriter is absolutely necessary for this project - the skin feature alone will save a lot of dev time.

  • It's all possible..

    Maybe you should use arrays for your weapons and use functions to calculate everything you want..

    What I would do is start making the basics you'd like and come here when you have issues that can be solved..

    Like the pin example, you say you've tried, so maybe you can upload a capx in which you have the problem so we can work on that?

    It's much easier to solve a problem, than to create a game..

    About the enemies:

    Give them line of sight behaviour or detect the distance between player and enemy..

    If player is not in sight move towards player..

    Minor stupidity would just be adding a bit of random to the shooting angle and such..

    Experience would either be a global or instance variable

    on enemy destroyed - add 1 to variable

    set experienceBar to experienceBar.width + 5

    A menu would be created visually from info in an array..

    Because you have so many possibilities I think learning about arrays is inevitable..

  • How do I force the sprite to mirror as soon as it hits a certain angle?

  • sprite is within angle - sprite set mirrored..

  • Construct 3

    Buy Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Buy Now Construct 3 users don't see these ads
  • Don't know how to get that to work; a little more detailed please?

    Also, how would I add a pickuppable gun/a menu where you can select the gun you want before the game?

  • For the mirrored sprite upon hitting an angle, this ought to work:

    For the pickupable gun and the menu, those are two separate things

    One approach just to get the simple pickup/gun fire working might be to:

    • Create a Global Variable 'PlayerHasGun1' or something similarly named
    • When Player collides with the gun sprite in the game, set this Global Variable to true
    • Destroy the gun sprite they collided with
    • Spawn a new gun sprite at a particular Image Point attached to your player sprite so that it moves around with the player
    • Make an event which says something like "if 'PlayerHasGun1' = true, when player presses (fire key), spawn bullet with acceleration 50 at image point 2 on the gun sprite
    • (Note: you also need to create separate events to check for any bullet collisions with enemies, and if collision is detected, destroy them)

    If you are going to have several types of guns, it may be worth having an array instead. Then you can look up certain positions in the array in order to see whether or not the player has that gun currently available.

    On that note, for the menu and gun selection, I would...

    • Create a global variable 'CurrentlySelectedGun' or something similar
    • Create a new layout before your game just for the gun selection.
    • Set up your sprites with an 'active' animation (gun available) and an 'inactive' animation (gun not available)
    • On the start of the layout, have the game check your gun array/global variables to see which guns the player has
    • Then you can set the sprite animation to either the 'active'/'inactive' animation dependent on which they have unlocked.
    • You can also then disable those sprites as clickable or not clickable (enabled/disabled) according to whether they've unlocked them
    • Then once a player clicks on a particular gun, you can set the global variable 'CurrentlySelectedGun' to whichever gun they chose and tell it to go to the game layout
    • At the start of the game layout, have the game check the value of 'CurrentlySelectedGun' and spawn the correct gun at an image point attached to the player according to which they have selected

    ...It sounds complicated, but actually, working your way through this you'll pick up a lot of the basics you'll need to complete the rest of the game if you get stuck I can try to make a quick .capx prototype for you to follow.

  • I would suggest you do some step by step tutorials first. They don't take long and will give you a basic understanding of how C2 works. Then think about one little piece of your project, like, how to make a sprite mirror and flip and rotate. THen pick another little piece, and so on.

    I have used and learned 3 different game development softs (Game Editor, 001 Engine, and now C2). C2 is very powerfull, the few bugs I encounter are not hard to work around and are quickly fixed, and the design is very slick and well thought out. It is also very versatile. However (and this is not a complaint), it does not handle game-style specific things like equipping weapons/armor, transitioning levels, inventory management, making bullets come out of guns, etc. Those things are all possible, but not done for you. 001Engine for example is a tile RPG engine and does those kinds of tasks for you, but if your game is not the same type as the type 001 is geared for, it feels restrictive very quickly.

    I'm telling you all this because I think it will be helpfull to narrow your focus down to figuring out how to do the little basic things first. Once you have those under your belt, the bigger stuff will become much more apparent.

    The other thing I would advise is that as your project gets more complex, it is vitally important to keep it organized. Use Groups and Comments like a madman. Make sure that before you close your project for the day, ask yourself "If I don't get back to this for a month, will I be able to pick up where I left off?"

    Sorry this doesn't directly answer your questions, but Mr E Bear 's car analogy is dead on.

  • For the mirrored sprite upon hitting an angle, this ought to work:

    For the pickupable gun and the menu, those are two separate things

    One approach just to get the simple pickup/gun fire working might be to:

    • Create a Global Variable 'PlayerHasGun1' or something similarly named
    • When Player collides with the gun sprite in the game, set this Global Variable to true
    • Destroy the gun sprite they collided with
    • Spawn a new gun sprite at a particular Image Point attached to your player sprite so that it moves around with the player
    • Make an event which says something like "if 'PlayerHasGun1' = true, when player presses (fire key), spawn bullet with acceleration 50 at image point 2 on the gun sprite
    • (Note: you also need to create separate events to check for any bullet collisions with enemies, and if collision is detected, destroy them)

    If you are going to have several types of guns, it may be worth having an array instead. Then you can look up certain positions in the array in order to see whether or not the player has that gun currently available.

    On that note, for the menu and gun selection, I would...

    • Create a global variable 'CurrentlySelectedGun' or something similar
    • Create a new layout before your game just for the gun selection.
    • Set up your sprites with an 'active' animation (gun available) and an 'inactive' animation (gun not available)
    • On the start of the layout, have the game check your gun array/global variables to see which guns the player has
    • Then you can set the sprite animation to either the 'active'/'inactive' animation dependent on which they have unlocked.
    • You can also then disable those sprites as clickable or not clickable (enabled/disabled) according to whether they've unlocked them
    • Then once a player clicks on a particular gun, you can set the global variable 'CurrentlySelectedGun' to whichever gun they chose and tell it to go to the game layout
    • At the start of the game layout, have the game check the value of 'CurrentlySelectedGun' and spawn the correct gun at an image point attached to the player according to which they have selected

    ...It sounds complicated, but actually, working your way through this you'll pick up a lot of the basics you'll need to complete the rest of the game if you get stuck I can try to make a quick .capx prototype for you to follow.

    This is wonderful! However, I still have issues with the silly sprite flipping thing. Perhaps you can have a look?

    (This is purely a build to test/create mechanics, the sprites are all ad-libed.)

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)