Setting up a complex skills system?

0 favourites
From the Asset Store
Set of 200 hand drawn skill icons. All icons are of a high quality.
  • In my game, "Psi," my player has a basic attack and, by the end, about 10 different skills available. I am wanting to have three power levels for each skill that the player selectively levels up. I am also wanting three selectable attack buttons that the player can assign whichever powers they want to. Do I need to separate all of these things I want to do or can I address all of them at once? What is the best way to handle powers that get leveled up selectively? Thank you!

  • There are many ways you can do this and the best option depends on your game design.

    You must tell us first what is your PSI game all about. Is it platformer, top down shooter or what, then we can respond more appropriately.

    I will give you a simple example for flying shooter case:

    • create a global variable called "weapon" as numbers.
    • in event sheet, in your key press event (for example "press Spacebar") , have the following events:
    • - if global variable is 1, create instance of object Bullet at player's sprite
    • - if global variable is 2, create instance of object Laser at player's sprite.
    • - if global variable is 3, create instance of object Bomb at player's sprite.

    The above is simple event to handle a ship having multiple weapons but only one can be used at a time.

    Should you want to use a different weapon, you might perhaps use an event like this:

    • if keyboard key 1 is pressed, set global variable "weapon" to 1.
    • if keyboard key 2 is pressed, set global variable "weapon" to 2.
    • if keyboard key 3 is pressed, set global variable "weapon" to 3.

    Now with this, the player can select weapon with a key press of 1,2, or 3, and fire respective weapon with spacebar.

    If you understand all above, proceed. Else please say so that you still need assistance and we could assist you further.

    Now, if you understand all above, you probably have a general idea with simple weapon switching mechanic in event sheet right now. This could be done similarly with skills in your game.

    To do the remaining thing, such as "unlockable skill", "player using skill in specified button", "mapping skill to specified button", "power levels in skills", etc. ,these could be a little challenging if you never play around with programming before.

    On the basic level, if you understand why do we have variables, and how to use them in the events, you could simply use number variables for simple indexing to refer to each skill like I did above.

    But before I say anything else, tell me first, what is your game genre and what are your character's behaviors for each skill. Because if we dont have more info, we will not be able to assist you in finer details. As of now, I can only provide you with a rather very general idea of weapon/skill implementation above, which might not be able to answer to what you really wanted.

    Also add my name "@keroberos" in your next reply so I can see if you need further assistance.

  • Thank you very much, "Psi" is basically a beat 'em up about a woman with psionic (mental) powers in a future world infested with zombies and killer machines. Here is a picture example of the basic layout (I am using test characters right now):

    <img src="" border="0" />

    As I said, I want to make touch controls and I'd like to have a virtual joystick and 3 separate attack buttons--one to be used for her basic attack (of which there are 2 options) and the other 2 would be from her store of abilities of which there would be more or less, depending on how far the player has progressed in the game. Some of her skills would be offensive, range attacks and some would be defensive. I would like the player to, at least, be able to swap out skills between levels or maybe even on the fly so I, of course, don't know how to do any of that yet.

    Once again, thanks for your help.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You want a virtual joystick for a beat'em up game on touch screen? Hmm...perhaps you may wish to watch this first:

    Now, before continue making assets for your game, let's go back to the brainstorm phase, and ask yourself the following questions:

    1. What could be better ways to have player play beat em up game on touch screen? I'm not saying it's not possible but you better think about controls scheme and how overall experience should be. Beat em up games are heavily tied with arcade stick back in the days so imagine tapping non-stop when you punch enemies? Would that give you the same sensation with arcade buttons? You are literally ramming buttons when you are beating the crap out of your enemies. But on touch screen, without physical feedback like physical buttons, won't feel right.

    2. Can you use something other than touch screen? Or alternatively, could you have some type of gameplay that is more suitable for touch screen?

    Please consider these two big pictures before proceeding further or you will be in a world of hurt.

  • Hello guys!

    What a lovely question :D Was not going to make a complete example,

    but decided that it might be interesting to do:)

    At first I thought I know exactly how to implement a simple skill system.

    Then I've tried to prototype it.. Well, turned out that it was a real challenge. Finally got it running :D

    Not the most ellegant solution, overcomplicated I guess,

    and I have no time to comment or fix it now, it is. DEMO here.

    Guess it's a kind of a generic skill/technology system.

    Might be hard to understand, so feel free to ask any questions,

    I'll answer as soon as possible. Also I'll try to polish it later and comment the capx.

    But till then.. Have fun reverse-engineering:P

    I hope it helps your game,PSI, your screenshots look great:)

    P.S. think I'll make a little tutorial if I manage to simplify the code)



  • , technically, it's a ranged beat 'em up. It really just shares the same layout as a beat 'em up, with false 3d perspective. I play beat 'em ups on my tablets all of the time and enjoy them so I know it can be implemented properly.

  • Hey George, thanks for sharing! That looks like exactly what I'm looking for. How much coding did you have to do to get to this point? I will study this and try to wrap my newbie brain around it. More questions forthcoming, I'm sure!

  • PSI name me one of the beat em up games you enjoyed on tablet please.

  • JJList your demo doesnt run on my smartphone's stock browser and chrome. Mind fix it for PSI? Thanks. I'll let you take it from here.

  • Oh yeah, it's not intended to run on mobile devices :) It is an idea of how to implement a skill system, not a complete solution on PSI's needs;)

  • , the game that my game is mostly modeled after is Zombieville USA 2. Other beat 'em up style games that I play on Ipod are "Double Dragon," "Bloody Harry," "OMG, Pirates!" and "Arson and Plunder." I also play the old X-men beat 'em up on my android tablet. My favorites out of this bunch are Zombieville USA 2 and Bloody Harry. I think each of them would set you back 99 cents.

  • PSI You're welcome, I'm glad I could help)

    ..How much coding did you have to do to get to this point?..

    If you mean this particular example, it took about.. 4-5 hours maybe?(I know I'm slow :P)

    As for my overall coding expirience, it's none to little) maybe a couple of months of non-intense C2 studying and basics of OOP long time ago:)

  • "Arson and Plunder" has novel level design and it scales the characters, the farther back in the layout they go.

  • I am wanting to design my game for PC and iOS and perhaps android. Should I try to do all of this at once or should I start with one platform and change it later to fit another?

  • I haven't tried mobile platforms yet, so not sure..

    But making a polished PC project and then porting to other platforms seems like a nice idea to me:)

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