Search Unity

RPG style Turn Based Battle System

Discussion in 'Assets and Asset Store' started by MrDude, Jun 15, 2014.

  1. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    blog.jpg
    Today I present to you my Turn Based Battle system. The ultimate goal of this kit is to make a single battle system that can be configured to be completely different battle systems for different type of games, basically giving you a one stop solution for all your turn based battle needs!

    The kit will be updated with more play styles and games modes but already offers quite a lot of customisation options. For instance, you can create any number of spells you want and each spell can use any SFX prefab you already own... Like Jean Moreno's stuff? Like Unity's default particle examples? Perhaps you have some you made yourself? Excellent, just drop them in the prefab and you are good to do...

    The kit offers cinematic camera transitions for magic casting and allows you to play two different animations and spawn two different effects per spell (if you like) so you can create a cinematic "wow" piece before the attack. As for the attacks themselves, this kit contains the world's most simple AnimationController EVER. If you have a Mecanim ready animation, you can use it with the kit... Creating new attacks can be done in under a minute but still offer you copious amounts of customisation options afterwards...

    I am really happy with the way this kit is working at the moment and I would love to keep going on and on and on about it but instead of boring you to death, why not have a look at the demo and see for yourself what this kit can do. ..?

    One thing to note, though, is that the kit currently contains two attack modes: Per Faction and Immediate. The demo only shows Immediate mode. PerFaction mode allows you to configure your entire faction and go back and make changes to your choices and only after all characters have their attacks and targets selected does the attack begin.

    Some points I should note for you to notice, though, are:
    - Characters can take up one or more tiles and are positioned in the centre of their allocated tiles so you can have petite ninjas or massive hydras, don't matter.
    - Some attacks occur in front of the target, others take place from your home tile. There is also a third option, which is to attack from the centre of the battle field. You select this globally but each move can override the default via a drop down field.
    - Special effects can spawn on the attacker or the defender
    - Each attack can deliver one or more blows
    - Damage displayed on screen is via a Photoshop made font so you have total creative freedom

    Enough, talk... enjoy...

     
    Last edited: Mar 26, 2016
  2. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Oh, just for interest sake, when I say it is "customisable", check this out...

    SS0401.jpg
    One of the included prefabs has a grid size of 3x2, with tiles highlighting at various colours, has multiple enemies and multiple camera angles...

    A few quick modifications to the prefabs and you have a grid size of 1x1, one camera angle, no visible grid and only one enemy per side... notice the difference..? ;)
    tbb5.jpg

    Turn based Street Fighter style fighting.... errr... moving on... ;P
     
  3. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    Just what I was looking for! Awesome Plugin. It reminds of me of those fond days of Dragon Warrior and Final Fantasy. (The originals!)
     
    Last edited: Jun 23, 2014
  4. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    I was quite surprised to find that i had no replies to this post, I must say. Just as surprised to learn that I DID have a reply but the forums are back to not sending me a notification thereof... :(

    Anyway, yeah, the original Final Fantasy and games like Suikodden were my main inspiration but my intent for my first alternate battle system is to create a clone of the Enchanted Arm game's battle system.

    Anyway, the beta has been uploaded the the Asset Store so hopefully it will be available soon...
     
  5. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
  6. erik_malkavian

    erik_malkavian

    Joined:
    Jun 25, 2014
    Posts:
    2
    Was really nice. I would like a little more camera control but perhaps that is coming up in future updates. Thanks for creating this option and I am looking at this to replicate a PnP type of game.
     
  7. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Hi Erik

    You are more than welcome to make feature requests in here. Some of what is in there is because of a customer's request. I want to make this kit be everything people could want in a battle system and the only way to do that is by finding out what people want so... post away :)

    Current camera features:
    - Automatic creation and placement of the camera to display damage on top of all other elements
    - Unlimited camera angles during battle (Just duplicate an existing marker, drag to new location, hit save)
    - You can make your own camera animations using Unity's Animation window and apply them to any spell you want, thusly creating cinematic spell casting events (4 sample animations provided)

    That's about it for cameras at the moment. What would you like extra?

    I actually found an oversight in my current kit in that it doesn't charge you MP to cast spells so I will fix that first but the first major update I am planning to release for the kit is the inclusion of a RealTime battle mode. More on this later...
     
  8. Falagard

    Falagard

    Joined:
    Jan 8, 2014
    Posts:
    43
    Very interesting kit you have here.

    I'm looking at creating a Grandia style turn based system, or another newer example would be Child of Light.

    In this system, turns aren't explicit, instead there's a waiting period per character... A number of seconds until their next turn. This can be influenced by attack speed or buffs - such that a characters default wait time might be 30 seconds but can be decreased by casting a speed up spell. After the wait period, you can choose an action and each action also has a duration or casting time. The casting time may take 10 seconds for player A, and in the meantime Player B casts a shorter spell which only takes 5 seconds, and his fires off before Player A's.

    How difficult would it be for me to modify your kit to work in this way?
     
  9. Falagard

    Falagard

    Joined:
    Jan 8, 2014
    Posts:
    43
    Hello? Haha
     
  10. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Hi Flaggard

    I am so sorry for this incredibly long delay in answering your question! I had no idea there was any new posts on this thread. No emails, no notifications, nothing.... Really sorry about this!

    To answer your question, this sounds very similar to the third attack mode I was busy implementing into the kit. Currently there is Immediate Mode in which the character attacks as soon as you have decided what action to take and then his turn is done for that round. Then there is Per Faction mode in which you get to choose your entire team's actions and you get to go back and change your actions until you are happy and then they each attack in turn.

    The third attack mode I wanted to add (and you will see I already started and commented it out for this release) is Real Time attack mode. In this mode, each character gets a cool down period after each move. As soon as his timer bar is charged you can use him again. The enemy would work in the same way so it can get rather hectic but you would then have the choice of fighting with one character the entire battle en pick and choose who you want when you want.

    Each additional battle mode brings with it it's own complexities and it wasn't till I started actively debugging the first two that I noticed all the unexpected ways in which they complicate each other. That was why I removed that option for now. I would say any new battle mode would be a rather complex thing to add, I'm sorry to say.

    There is just too much stuff to keep in mind. For instance, how to determine when the battle is won or wether a character should go into the battle queue or just go into battle. What happens when two characters charge in, one kills the enemy and then the next character tries to kill a destroyed object... i.e. a NULL object. Or what if the player and the enemy attack each other at once. It will look silly if the player rushes to the enemy's tile and attacks but the enemy is currently on the player's side of the board attacking an empty tile over there yet both attacks on empty tiles cause damage on both ends...

    See what I mean? One does not really see those type of errors till they happen and then one goes "Oh, yeah, but of course! I had to take into account THAT" :)

    The good news is that I have more planned for this kit and this real time battle mode is one of the things on the road map. For now, the first thing I plan to do is recreate the GUI. This OnGUI method works but it makes it a bad idea for mobiles. Fortunately, the current gui system is separate from anything else so you can easily remove the gui component and create your own using something like nGUI if you want to but I will be creating an official version myself and would like to have that available by the first update... then I'll worry about expanding the kit as I have planned...

    So stay tuned. Keep your eyes peeled and one of these days that battle mode you asked for will be included. If it is not exactly how you envision it, I can always do a poll and find out if more people want it. If there is enough interest I can always add it in there. So , again, stay tuned ;)
     
    Last edited: Aug 3, 2014
  11. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Oh, and by the way, for those who are interested, it is going on sale tomorrow so be sure to check it out! :D
    50% off for a limited time only! Get it while you can! :D
     
  12. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Stephen Allen helped me out these past few days while I made a few modifications to the kit to make it compatible with Unity 4.3 and as a result the kit is now running on his Vita. I just had to share a screenshot with you all :D

    I will be updating the kit a little later today to now work with 4.3 as minimum version. Vita1.jpg
     
    Last edited: Aug 6, 2014
  13. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Some more shots...

    Again thanks to Stephen Allen for linking me to the Vita key mappings page and for testing out the code for me. We all appreciate your efforts :D

    Vita4.jpg Vita3.jpg Vita2.jpg
     
    Last edited: Aug 6, 2014
  14. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    If there is anything you would like to see added to this kit, just let me know Wallpaper.jpg
     
    Last edited: Nov 3, 2014
  15. Bionicle_fanatic

    Bionicle_fanatic

    Joined:
    Jun 8, 2013
    Posts:
    368
    This looks very good. Just a couple of things before I buy:

    Do you have to use Mechanim for the animations? Is it possible at all to use the standard Unity Legacy animation system, without going into the code of the plugin?

    Does the terrain-to-tile mapping take into account height, or does a battleground have to be flat? (Not required, just wondering.)

    Does the terrain-to-tile mapping take into account objects? (Like pillars, boulders, etc.)

    Would it work in multiplayer? (Very much required)

    Thanks [;)]
     
  16. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Oh you are gonna hate my answers :(

    Yes, Mecanim is required. The good news is that the way in which this was written I THINK I can actually make this work with Legacy animations very easily. As it is, I currently call Play(animationName) on the CharacterController but legacy also has a Play(AnimationName) function so the only real trick here is determining wether the character has legacy or Mecanim animations and doing either "animation.Play()" (or "animation.CrossFade()") instead of theAnimationController.Play(). So yes, my kit needs Mecanim and you cannot change that without going into the code, but the changes to use Legacy is minor! Very minor! The biggest problem is making sure the different characters have the required animation for doing action X or casting spell Y etc.

    This version of the kit does require the terrain to be flat, yes, but height is something I want to do. Again, not something I think will require a lot of work. the tiles are actually prefabs and you can use anything you want for the tiles. A 2 triangle plane with a square texture on it like above or a two tri plane with a hex image on it. Same thing. You can also create a 3D model of a mountain with a grassy top plane and use THAT. Same thing. Only thing to keep in mind when doing something drastic like that is changing the PositionGrid function to place the stuff appropriately. Then I just need to test that returning to base works correctly so I think it should be okay.

    The main issue here is that the character basically flies from origin to destination and back to origin again. This might look very bad when dealing with heights. This would require some code changes to the "MoveToTargetDestination()" function. Don't you just love how every problem has just one function to fix? ;) :p lol

    Pillars, definitely not. That is a thing I want to do much later on but that is NOT a single function fix, unfortunately. One fo the things I have been asked a lot for is hex grids. I have created support for using hex grids for factions and do the spacing correctly and what not nut for now it is still two sets of grids. I am going to be creating a new battlefield option that uses one large grid that is shared by both factions and once I have that done I can get started working on the grid editor. This would be a graphical editor that will allow you to define your grid in advance and manually set tile x and tile y and tile n to null, thereby effectively removing that tile from the grid and thus this would be what you were asking for. Planned yes, but for way down the line somewhere...

    Multiplayer... this is a sore spot for me. I personally wanted to do a multiplayer option as I was expecting a demand for it but yo are the first and only person to agree with me. I have been strongly advised against making a multiplayer mode and I have been convinced, I am sorry to say, that multiplayer will not be a feature that will be in great demand so....no... no multiplayer until I have had enough requests for that.

    My forum is open if you want to leave feature requests and is a great place to leave details of what you want. Please feel free to use it. It looks very bad seeing I am the only one posting on my forum :p lol

    Sorry my answers were not as spectacular as you might have hoped but I hope this proves useful none the less.... :)
     
  17. OnePxl

    OnePxl

    Joined:
    Aug 6, 2012
    Posts:
    307
    I was kind of assuming some kind of multiplayer would be possible with this. I can control both the player characters and the enemy characters completely, right? Or are the enemies AI only?
     
  18. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    oh, perhaps we are speaking of different things here... I meant multiplayer as in people playing online challenges. Each side you get to specify is human or AI but I haven't tested it with two players yet... Sounds interesting... should give that a go and see if anything goes wrong

    Edit: Just had a test run and no, it doesn't work. Something somewhere is not getting initialized properly. I'll need to give it more of a looking at...
     
    Last edited: Aug 20, 2014
  19. OnePxl

    OnePxl

    Joined:
    Aug 6, 2012
    Posts:
    307
    What I need for my game is one player against the AI, or two players in realtime over the network against each other. Now I figured I could do that by receiving commands from the other player over the network, and replay the moves on either clients.
     
  20. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    I am busy uploading the new version to the store right now. The kit now allows you to use Mecanim and Legacy animations on a per character basis so if you have 5 characters on the map and 3 of them are legacy animated characters, they will play their animations but the remaining two will use the AnimationController assigned to it.

    I also updated the Vita controller class so your project now has access to all the vita's buttons and sticks (minus the rear track pad). As per usual, no configuration required on your end. Just start using it... the turn based battle kit itself doesn't make use of the sticks but if you want to use it in a kit that does, then you now have a standard way of accessing it... just say
    Code (csharp):
    1.  
    2. Vector3 movement = Vector3.zero;
    3. if(tbbVitaInput.circle_button_up) movement.y = jump_force;
    4. movement.x = tbbVitaInput.left_horizontal * move_speed;
    5. movement.z = tbbVitaInput.right_vertical * -move_speed;
    6. characterController.Move(movement);
    7.  
    ...that easy

    Also, I added a DEFINE called TBB so other kits can detect the presence of this kit. Since a lot of my kits depend on the presence of other kits of mine, this will become standard practice of mine from now on.

    in any event, the update is uploading now. Enjoy :)
     
    Last edited: Sep 1, 2014
  21. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    I am just giving you all a heads up that version 1.3 is nearly done and it is a doozy! :) I'll post the current changes from the change log below but the key things of interest in this update are that:
    1. I now use a single grid instead of two separate grids. I still allow you to create the neutral area in the middle of it all and everything still works the way it did before, but the factions no longer contain their own grids and instead only reference the same one from tbbBattleField. This also allows me to do things like cross battlefield movement in future and also simplifies a lot of code that dealt with inverting numbers for opposing sides.

    2. The kit is no longer limited to Player vs AI. You can now have two player or even AI vs AI matches.

    Right, so here is the complete changelog for version 1.3 up to now. I want to add the ability to move between turns before I release it but yeah, enjoy :)

    Now uses a single grid, instead of creating two grids with the values found in tbbBattlefield
    Player can now battle on either side of the battlefield
    Individual tiles can now report what side of the field they are on
    AI vs AI now working
    Human vs Human now working

    Removed the PositionBattlefield function. Grids now position themselves during creation
    Removed the requirement to manually specify PlayerFaction and EnemyFaction and now determine it automatically
    Removed all references to PlayerFaction and EnemyFaction and replaced it with TopFaction and BottomFaction
    Removed some duplicate code being triggered on different components

    Added new class tbbGrid and moved grid related functions from tbbFaction to there
    Added a new drop down field to specify which side the player starts on
    Added a new drop down field to specify which side starts the battle
    Added new boolean field Spawn_all_enemy_party_members so you can spawn all enemy characters each turn, instead of a random selection
    Added 'grid' variabe of type tbbGrid to tbbBattlefield
    Added 'grid' property to tbbFactions but it references 'grid' in tbbBattlefield
    Added 'side' property to tbbFaction to indicate wether this faction plas in the Upper or Lower part of the field

    Fixed a few errors with tile highlighting
     
  22. OnePxl

    OnePxl

    Joined:
    Aug 6, 2012
    Posts:
    307
    YESSSSSS! Thanks!
     
  23. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    The change log for this update is insane... :D This is a heck of a huge update people! Be aware that it will most likely break existing projects!

    Some of the key things to note in this version:
    - Now uses a single grid instead of two halves
    - Supports two player gaming
    - Now allows you to navigate around the grid !!!
    - The spawner now overrides what characters participate in battle so you can now use one prefab for the entire game and let the spawner tell it what to load
    - You can now load all enemy characters each turn instead of a selection
    - I have no exposed an event that fires after the characters have loaded meaning you now have a place to hok your saved stats into the loaded prefabs. No longer will the characters always start with the prefab's settings. You can now load your own custom values into the character's stats!

    And as per always, all of these are optional. Usually just a single click away from enabling or disabling a feature. :)

    New version should be live soon. In the mean time, check out the demo above

    Enjoy :)
     
    Last edited: Feb 10, 2016
  24. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Okay, the update is now live on the store.
    Enjoy :)
     
  25. WitchKing

    WitchKing

    Joined:
    Jan 4, 2013
    Posts:
    13
    This looks very cool, I'll probably buy it, but I've got a few questions first. None of the links to your forum seem to work though and it seems like this thread doesn't get checked much?
     
  26. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Hi WitchKing.

    The forum is dead and buried. There just wasn't any interest in it. Where did you see the forum link ? So I can remove it from there. Sorry for the inconvenience.

    feel free to ask away, though :)
     
  27. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
  28. OnePxl

    OnePxl

    Joined:
    Aug 6, 2012
    Posts:
    307
    I would if I hadn't already bought it! :D
     
  29. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    ;) Will have to think up some kind of special offer for you ;)
    Many thanks for your support! :D So what did you think? Any feedback? Did you leave me a 6 out of 5 star review? :D that would be nice ;)
    I would love to see what you are doing with it so once you get to a point where you can make it public, please send me a screenshot or two and maybe I'll add it to the website with a link to yours... Let me now if you are interested :D

    Again, thanks for the support
     
  30. LNMRae

    LNMRae

    Joined:
    Dec 28, 2012
    Posts:
    48
    Hello, I picked this up during the weekend sale and just wanted to pop in and say it looks great. I love turn-based games, and this looks like it would be an amazing system for an RPG. I haven't had the opportunity to delve into it much yet, but I was curious about the updates you already have planned and I notice that the link posted doesn't work.

    Also, wanted to chime in and say I agree with your choice to leave out online multiplayer, as was mentioned in a previous post. There's lots of networking solutions out there on the asset store, so I guess to me it just doesn't seem necessary?

    Anyway, again, the system looks great. I'm looking forward to using it. :)
     
  31. OnePxl

    OnePxl

    Joined:
    Aug 6, 2012
    Posts:
    307
    I thought I had replied to this, but apparently I did not. Thanks, I appreciate that. I will contact you once I have stuff that's good enough for publication, if you know what I mean. :)
     
  32. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    @OnePxl. Thanks, man. Can't wait to see what you've done! :D

    @LNMRae
    Thanks for the kind words! :D
    Unfortunately, I woke up one day and found my entire site stopped working... I had to redo everything from scratch and didn't do that page again... I had a basic draft on my local system but the complete list was only on there... I never figured I would loose it that way! :(

    Anyway, I'll get around to updating that one day but for now that list is gone, I'm afraid :(
    I'll pm you what I have left of the initial draf of those features
     
  33. eridani

    eridani

    Joined:
    Aug 30, 2012
    Posts:
    655
    Does this system handle ranged combat? In other words, the attacker will stay on his/her square and shoot a projectile (arrow, bullet, magic spell, etc) or raycast toward the intended target.

    From what I can see, it only handles melee combat where the attacker "flies" to the intended target's square to carry out an attack.
     
  34. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Hi eridani

    You can specify on a "per game" basis wether enemies attack from their home tiles, from the target's location or from the center of the playing field. Each move you create, though, has the option of overriding that setting.

    I.e. you can have all your characters fly to the enemy but have the mage do spells from his home tile. Or you could have all enemies do ranged combat and never have any character leave their home tile... except for the knight when he does the uppercut slash or the karate character when he does the 5 point exploding heart technique. :) It's all customisable :)

    As for projectiles, though. How this kit works is that you get to spawn a prefab when you do the move. This prefab can be spawned either at your location or at the target's location but what the prefab actually IS is up to you. So you could spawn a rain cloud over his head and attack him with thunder bolts if you so choose or you could spawn an entire tsunami but you have to spawn it either at your location or at his location. Thing is, I specifically made it a prefab that gets spawned so that you can add your own logic to it. If you spawn a prefab and have it move towards the enemy, then so be it.

    There is only on restriction that you NEED to be aware of. The round will continue until your attack animation is finished playing on your character. So if you fire a rocket and the fire animation is 1 second long then 1 second after the prefab spawned, the next character's turn will begin. You will need to make our animations long enough to give the projectile time to reach it's target.

    Damage is done via a timed delay. You can specify that an attack deals damage only once or that it deals damage 29 or 312 times (or however many times you want) and for each attack, you specify the delay. I.e. look at the demo and notice how, when the red samurai attacks, the damage and the damage sound corresponds to the sword making contact. Also, notice that when you do the magic spell with Nathan, he stands on his home tile, does a summoning animation on his home tile and while he is doing this, his target is being dealt damage 12 times....

    It does not, however, have built in support for ACTUAL projectiles but you can very much fake it, yes. The system does not do only the attack mode you mentioned. It actually has 3 different attack locations: AtOrigin, AtTarget, FromCenter. Also, on a side note, you have two different play modes:Immediate and PerFaction where you either select all your character's move in advance and then they all attack after you have made (and gone back and revised if you want to) all attacks by all team members... or as you select a move, the character attacks immediately.

    I hope that answers your questions. If you have any more, feel free to ask :)
    I tend to check this forum a few times a day (since I don't get notifications from this forum) so I will most likely answer within 24 hours. If you would like a faster reply, just contact me via the contact form on my website. You could PM if you want to but I am not a fan of PMs so I will probably answer your question and give you my email afterwards anyway ;)

    Anyway, enjoy. If you haven't done so yet, play the demo and notice how some moves "fly" to the enemy but not all of them :)
     
  35. eridani

    eridani

    Joined:
    Aug 30, 2012
    Posts:
    655
    Wow thanks for that detailed writeup. You answered my question and then some :)
     
  36. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    :) No problems, mate :)
     
  37. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    It was just pointed out to me today that there isa bug in this latest version of the kit... The damage display system is not working. This is due to me adding a Start() function in the derived class, overriding the Start function of the parent...

    To get the damage system working again, please find tbbAttackInfo.cs and in the Start function on line 91, just add this:
    Code (csharp):
    1. onDamageDealt += HandleDealtDamage;
    Sorry for that oversight. :(
     
  38. mangameproductions

    mangameproductions

    Joined:
    Feb 22, 2015
    Posts:
    1
    Hi!
    very,very,very nice package. Can you help me to build it for android? I want to have auto-selection, selection of enemies by tap and tap on little Images to use Skills. Thanks!
     
  39. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Hi there :)

    I normally do take contract jobs but I am currently already committed to such a job so unfortunately I can't help you customise the kit right now, sorry to say. The good news is that the kit does run on mobiles but the only real problem here is that I didn't make the controls touch ready. I.e. you must use the enter button, not a click, to select your characters. I did help another customer, a few months ago, to get the kit mobile ready and really, all it took was to add an extra GUI.Button() just before I draw the background image and that was that... the kit was ready for mobile use.

    Also, in slightly better news: As I said, I am currently busy with a contract job for a client so I don't get a lot of time to work on my own projects right this minute, but what free time I do get I spend updating my kits. One of the kits I am updating is this one. Very soon (hopefully :p) I will be releasing a Unity 5 update which will completely remove all OnGUI support and replace it with UGUI instead. This means that everything is clickable and the kit will then be completely mobile ready and even give better performance since it will have far fewer draw calls... It also has a few other changes like getting rid of the demo scene from the current version and replacing it with a new one created using assets from 3DForge ( Thanks to Cobus for that! :D )

    So just keep your eyes peeled and you will get a nice little update soon enough :)

    As for the other things you said you wanted to do like select a character via tapping, the good news is that I tried real hard to create this kit as an SDK, not just a running project. I intended for people to be able to just plug out parts they don't need and plug in new and custom parts where they wanted. As such, stuff like selecting characters is a single function call... I currently call it using the Enter button, you would call it using a raycast... (of course, I use the arrow buttons in advance to select the character via an array but you will have to create a loop to first determine which character you clicked on, but that is minor). Have a look at the input class and see how I select the characters. I truly made it as easy as I possibly could for people to add new functionality.

    Of course, if you get stuck, you can always email me, but just have a look at the input and the GUI classes first... You might just be surprised by what you find :)

    in fact, if you want to be a little clever, why not replace my GUI class with your own? Dupliacte mine and keep the copy safe in case you need to change it back then just modify that script to work a little differently: Right now I create a bunch of panels that represent the characters and i have you select the character via arrows. How about you just replace that entire thing with a button of the character's face and make pressing the button select the relevant character? Once a character is selected I have you choose the action via a list and then select the actual spell via a sub list... why not just draw everything I place in the list as icons and make clicking on them do the same as what I do when you hit enter? Might just be a quick solution to what you want to do...

    Good luck with that :)
    Screen Shot 2015-02-16 at 10.43.36 PM.jpg
     
  40. Tom_Timothy

    Tom_Timothy

    Joined:
    Nov 21, 2013
    Posts:
    132
    Now supports grid navigation per turn

    Do you mean people can assign movement speeds and move from grid to grid like in games final fantasy tactics and such?
     
  41. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    I actually based this part on Enchanted Arms. Currently you get to specify how many tiles the character can move and then during his turn those are highlighted to indicate which are available.

    As you move, if your character takes up more than 1 grid space it will show you if you attempt to move to a tile that you can't move to. You then hit enter and, yes, your character is set to that tile. However, I don't currently animate the transition from tile to tile. Characters are just repositioned immediately...

    Eventually I want to copy Enchanted Arms movement system where your movement is not set as a radius but as a pattern from your current position. I.e. some can cover the entire board, others can only move on (if you think of Checkers) black tiles, others in a T shape, Others in an S.... Basically give you an editor to determine patters in and then assign those to a character. Right nowI use a radius system so when that part is added I would keep the radius and simply remove certain tiles based on the pattern. Then, as a character gets upgraded you can just assign him a new pattern file with greater radius and thus extend his movement. That is the plan.

    Hope that helps.
     
    Last edited: Jul 25, 2015
  42. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    My apologies to all who have been waiting for the next update. I know I m taking quite long with this... but I think you will thank me in the end! :D

    As I mentioned before, I am redoing the GUI to work with Unity UI and making it touch ready so this can run on mobiles right off the bat. Initially I thought this would be a straight port that will take me a day or two at most but then I found a few differences between OnGUI and Unity UI implementations that required a few workarounds and while I was busy doing this I started creating an entirely new UGI interface instead of just hacking the OnGUI one to work.

    The result is much cleaner and much simpler to follow along as code is split by component... anyway, not going to ramble too much, just wanted to say I am currently busy on updating this kit and the Unity UI update will be completely new and so far it is working beautifully.

    Just a little more patience, please :) Thanks
     
  43. Vygar

    Vygar

    Joined:
    Dec 20, 2015
    Posts:
    23
    RuinedCityBattle.jpg I've been working with this kit for the past couple of months. I'm brand new to Unity and this kit has proven to be a wonderful introduction to developing games. I haven't quite decided what to call my game yet though it is progressing nicely!
     
  44. Vygar

    Vygar

    Joined:
    Dec 20, 2015
    Posts:
    23
    Here's another of the squad selection scene used to choose and configure your recruited units for battle. Ignore the ugly GUIs...WIP :p This project has been a lot of fun and coming along nicely for my first ever video game project. WIP_SquadSelectScreen.jpg
     
    MrDude likes this.
  45. Tom_Timothy

    Tom_Timothy

    Joined:
    Nov 21, 2013
    Posts:
    132
    Is This dead picked this up today really disappointed with it at this point.

    First no reason to have grid movement if we cant make attacks only work at some ranges.

    Second if I try to add two of the same model in a battle it just spawns one whats making this happen?
     
    Last edited: Mar 12, 2016
  46. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Hi Tom

    I agree the current movement is not all that impressive but consider this: 1. It didn't have it before, now it does. 2. You can always MAKE your attacks work any way you want and MAKE this position mean something... As it is, this kit has been hibernating for a long time but it is far from dead. I myself have a project I want to use it in and it needs a lot more features for just my own game. I have just been very busy lately and haven't had the time to do the updates I wanted to... All updates are going very sloooow. Hell even my own website has been "under construction" for months with almost nothing on there...

    This kit is very high on my priorities list and I have a LOT more planned for it... but at the moment I am working 5 to 7 days a week doing up to 19 hour shifts a day on a client's project so I simply do not have the time to do all the other things I want to do. When I am not working weekends I work on updates so yeah, stuff is moving forward, just much slower than I anticipated.

    The current job is nearing it's end and then I will get back to doing all the updates I was busy with before. First on my list of things to do with this kit is finishing the conversion from OnGUI to Unity UI, then statuses like poison or slow etc that persists for a number of turns, then adding attacks that heal (Vygar requested this) and then comes the part I need for my game... The ability to restrict players movement by pattern (like chess pieces having specific positions they may move to) and making each attack also attack only on certain tiles (like all tiles in front of you or only three tiles ahead of you or the three tiles in front of you or only the tiles diagonally opposite you etc). for this I will be creating a visual designer that stores movement and attack patterns for you to assign to characters/attacks.

    So yeah, the kit is not dead. Not by a long shot. Just been hibernating for very long. There is much, much more installed for this...

    Second if I try to add two of the same model in a battle it just spawns one whats making this happen?
    As for your second question... I have no idea...
    Screen Shot 2016-03-12 at 8.20.30 AM.jpg
     
    Last edited: Mar 12, 2016
  47. Tom_Timothy

    Tom_Timothy

    Joined:
    Nov 21, 2013
    Posts:
    132
    Also noticing seems AI only does basic attack is that as intended?
     
  48. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Yes. You have the code, just have a look at how I choose the moves and update to suit your needs. I have no way of knowing how players will configure their characters, wether they want to use tanks that only do projectile weapons or whatever else they might do so I don't attempt to create the most all encompassing AI that exists in all the world. I just do a very basic AI: "Pick a random attack from your basic attacks and do it" (noting that I also only give each enemy 1 basic attack)

    If you have more attack animations for your character, simply duplicate the attack prefab, give it the name of the attack animation, drag that animation into the animation controller and finally, tell your character that move is now available to it. Now it will have 2 attacks to choose from. Repeat for every attack animation you want to give the character. Note that animations that are in the animation controller can be shared by all characters so once it's in there you can assign that move to your other enemies / characters also.

    Even so, the current AI will still just choose basic attacks, not specials. If you want to add that, look at the code and you will see the state machine approach makes it very easy to see what is done where so just find the place where I do the AI and update to suit your needs. ( Actually, just do a search for "AI" and you will be there :) )

    If you need help, feel free to contact me but it should be rather simplistic once you take a look at how things are laid out. Good luck :)
     
    Last edited: Mar 12, 2016
  49. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Fans of games like FF Tactics or Disgaea are gonna love the new map feature where you can either stick tot he flat board as current, design your maps in advance and just load them in at runtime or have the maps generate random maps every round... All still with the same spacing options as before

    Random
    Screen Shot 2016-03-21 at 2.19.10 AM.jpg

    Predefined
    Screen Shot 2016-03-21 at 2.06.54 AM.jpg
     
  50. minibomberman

    minibomberman

    Joined:
    Jan 23, 2013
    Posts:
    1
    Hi MrDude,

    First thank you for your awesome contribution to indie game dev.
    I have a question, were you inspired by the combat system of Atlantica Online ?

    I'm a Junior software/backend dev, and I want to start game development, and your tools sure can help me.
    I want to learn how to make a game with turn based combat system using your code as a support, because there are definitely things that are as I want them to be and others that are not.

    For now I haven't chosen if I want to integrate your assets in my project or start from scratch with the assets as a help.

    My other question was, I read that you're working on this project on your spare time, will you continue to work on it and update it ?

    Thanks in advance for your answers, and thank you for the assets.