Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[fighting game] Kinetic Damage [Released]

Discussion in 'Made With Unity' started by n0mad, Mar 18, 2009.

?

Which real martial art would you love to master ?

  1. Muay Thai

    54 vote(s)
    15.4%
  2. Ninjutsu

    76 vote(s)
    21.7%
  3. Taekwondo

    35 vote(s)
    10.0%
  4. Tai Chi Chuan / Qi Gong Jin

    22 vote(s)
    6.3%
  5. Jeet Kun Do

    30 vote(s)
    8.6%
  6. Pencak Silat

    8 vote(s)
    2.3%
  7. Boxing

    22 vote(s)
    6.3%
  8. Shaolin Kung Fu

    77 vote(s)
    22.0%
  9. I don't like martial arts / fighting games

    26 vote(s)
    7.4%
  1. CharlieSamways

    CharlieSamways

    Joined:
    Feb 1, 2011
    Posts:
    3,424
    You should have made a poll option:

    'I don't really care, as long as the moves look awesome'

    :)

    Keep up the awesome work

    -Charlie
     
  2. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    Thanks Charlie :p
    I counted, there is a total of 1694 different animations clips :)
    (well, I effectively handmade half of them, 847, as there are mirror clips)
     
    Last edited: Apr 4, 2012
  3. golden_gate

    golden_gate

    Joined:
    Jul 22, 2009
    Posts:
    81
    Awesome game! The combination of martial arts and your environments provides a fantastic gaming experience. Obviously the actual game design and play is important but I have to give you some "props" for your creativity in the environments. The environments are well thought out and have a good sense of purpose.

    At first I thought the "Sea Box" was my favorite but then it was the "Business Center Ruins". I'm lovin the bot in the background...All of the environments bring some value to the game.

    I can't wait to play this!
     
  4. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    Thank you golden-gate :)
     
  5. golden_gate

    golden_gate

    Joined:
    Jul 22, 2009
    Posts:
    81
    I like your poll but I noticed I did not see capoeira.

     
  6. Games-Foundry

    Games-Foundry

    Joined:
    May 19, 2011
    Posts:
    632
    Hey n0mad, just wanted to say kudos for running the various optimization tests and publishing the findings as you go, and for your dedication on your project. Good luck with everything.
     
  7. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    Thanks :) I've got a few more to post when I'll finish the AI, but overall the code creation part is generally coming to an end, though.

    Yeah, that Honor of the Dragon scene is a classic :p
    In fact there is Capoeira in the game, but I just mixed it with boxing and street fighting, to provide a style a bit more original than the usual capoeirist we're getting in every fighting game. It's called "Break". Polls choices can't be changed though, and I wish they were, as Pencak Silat choice is obsolete, it has been replaced by Krav Maga.
     
    Last edited: Dec 8, 2012
  8. golden_gate

    golden_gate

    Joined:
    Jul 22, 2009
    Posts:
    81
    Thanks for posting the snippet of the break moves. I also went to the Kinetic Damage Facebook page and watched the combos video. You have an excellent skill of making these combo moves ... not only for break but all the different modalities.

    I really liked the Krav Maga (4:35, 4:48) combo moves..

    The name of your game is dead on target. Kinetic Damage reminds me of one of my favorite episodes of Fight Science.
    His kick from the ground--> 99 mph... 1800 lbs of force (see at 16 seconds beginning of the clip_



    BTW... The environment for the Tai Chi Chuan (3:10) is very entertaining. The combination of the girls dancing in the background on the same level of the fighters and the larger image/sprite of the lady elevated is cool... When I looked closer I saw the guys on a low elevation either cheering the fight or the dancers :)
     

    Attached Files:

  9. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,239
    Looking good and gooder :) The controls look really well done (love the concept of the effective control circle on the bottom left), and the moves too. And thanks for posting all those coding tips: going through them to see if I can learn something new :p
     
  10. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,239
    Checked your custom List<T> class, and at least for what concerns loops it looks much slower than normal List<T>.
    These are my results (executed outside of Unity in a Console, and setting the environment so that the test could be the more accurate possible - using only the second core, with highest thread and process priority):
    200,000 calls to foreach over a 1,000 elements list.
    List<T> : ticks: 6,681,702 - ms: 2,707
    CustomList<T> : ticks: 12,362,610 - ms: 5,009
     
  11. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    I loved that episode ! It was really technical, and didn't try to "market" any of the said martial arts, but pragmatically compare their weaknesses and forces with spot on tech tests. Was really great, I wish they would go more in depth with these tests :)

    I'm glad you like it ^^ I had to tone down the strobes a bit, as a bunch of friends said they were blinking way too much. But I just tried to represent this really craziness feeling of when you're in a club, with frantic strobes, people cheering and sexy, sweating ladies all around. I always thought these visual ambiences were matching the adrenalin level of when you're in the middle of a competition fight, where you're blind of anything except your opponent, but still hearing the crowd here and there, all while trying to keep a pumping rythm down the whole fight :)

    Thanks ! I reiterated the whole scheme a lot, in order to keep both visual clarity and full control. It was a real challenge, as there are 8 active buttons on screen (2 punches, 2 kicks, direction pad, + grab opponent, activate specials and pause which are not yet demonstrated). After many trail errors, I finally opted to put some buttons directly on some HUD elements that were not designed to be buttons. Which led me to rethink their look a bit in order to turn them to something more intuitive, all without breaking the global design chart. I'll show the full HUD in a few weeks.

    That's interesting ... I'm kind of surprised, as my tests were showing a really faster Contains(). So parsing with foreach would be slower, but Contains() would be faster. This surprises me aswell, as logically, foreach uses the same O(1) for dictionary than its ContainsKey(), and O(n) is without a doubt faster than List's O(n). Maybe it's because of your test having a lot of elements in the list, therefore using its indexing to optimizing the parsing ? I don't know, I clearly lack of higher technical knowledge to make any affirmation without full tests ... Maybe we should start a new thread about it to deeply analyze both classes (I admit I shared it as a tool to freely use and test, I'm not using it a lot actually, but Contains() showed to be really faster than with List<T>).

    I'm also using it for its unique members feature, as opposed to list where you can have several duplicate values.
     
    Last edited: Apr 9, 2012
  12. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    Hey nomad, cool updates!

    Question, what do you use for your recording, I saw that you are were recording from the Unity Gameplay tab in the combo video. What program did you use for good quality?
     
  13. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Keep it up man, I want you to finish. If I were you I would tell the world what I was doing and build up a fan base early.
     
  14. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    I'm using FRAPS. I searched for cheap free video capture tools, but they were all very clunky. FRAPS is 30$ which is very ok for the quality and smoothness it provides. I tested it in a RAGE session (ID software), a pretty graphically intensive game, and playback was flawless.
    Then I'm using basic Windows Live Movie Maker to assemble the vids.

    Thanks Hippo :)
    I'm close to make a full disclosure about the whole game mechanics, but not yet. I really want the presentation to be professional, with concise videos highlights like your regular AAA videogame blog dev, so I'm waiting for everything to be in a final state.
    Until then, I'm providing full feedback in here, and on the Facebook page (10 more likes to go before page going official ^^), so that people who are really interested in the product can have a centralized place to ask questions and see progress ;-)
     
  15. Roidz99

    Roidz99

    Joined:
    Jul 8, 2010
    Posts:
    198
    VERY nice ,love the dynamic background stuff thats going on
     
  16. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,239
    I'm in C# since approximately a year (came to Unity from ActionScript), so you have certainly more technical knowledge than me :) But I have a tester I'm using intensively to determine best approaches for HOTween (and my game). Just to check it out, I made some more tests. Contains is - as expected - way (WAY) more faster. But looping through a simple List<T> is still faster (tried it also with only 100 repetitions over a 100 elements lists).

    Here are the last results (I tried using both lists that contained just ints - WInts - and lists that contained objects - WObjs):

    200,000 calls to foreach over a 1,000 elements list, with stripped out loops.
    ListWInts_ForEach > ticks: 4.362.787 - ms: 1.767
    ListWObjs_ForEach > ticks: 4.836.573 - ms: 1.959
    CustomListWInts_ForEach > ticks: 8.383.892 - ms: 3.397
    CustomListWObjs_ForEach > ticks: 10.513.075 - ms: 4.260
    ListWInts_Contains > ticks: 1.442.627 - ms: 584
    ListWObjs_Contains > ticks: 2.625.434 - ms: 1.063
    CustomListWInts_Contains > ticks: 20.383 - ms: 8
    CustomListWObjs_Contains > ticks: 55.102 - ms: 22

    That said, I don't want to interfere too much :) If you want to start a thread about it I'll join, but otherwise I hope I wasn't just being annoying, and will make some more tests of my own, to see if loops can go faster (my brain is completely into tests in the last days, so I recon I might be boring :p).

    P.S. using european dots to separate thousands in the results instead than "," :p
     
    Last edited: Apr 10, 2012
  17. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    That's great analysis Izitmee, thanks :)
    So foreach is 200% speed for List<T>, but Contains() is 4800% to 7300% speed with CustomList<T> than List<T> !
    That's really interesting ! Thanks to your tests, I think I'll keep using CustomList<T> over List<T> for Contains() intensive lists :eek:

    Don't worry there's nothing boring in such tests, trying to milk the fastest ways to compare data is essential in mobile dev, as lower hardwares are still kind of slow nowadays. The more speed we got, the more devices we can support ;-)
    I don't really have the time to start a new thread about it in the Scripting forum, but I'll sure try to contribute if one pops. Might be interesting to make a mega thread comparing all data C# classes and test their speed differences with basic methods like Contains() and foreach().
    Until then, I'm going back to work !

    Cheers
     
    Last edited: Apr 10, 2012
  18. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,239
    Ehe, cheers, and thanks for justifying nerdiness ;) Have a good work :)
     
  19. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,239
    Hey n0mad, sorry to bother you again with tests. After this I promise I'll stop (and eventually open another post, if I feel particularly nerdy - or better: MORE particularly nerdy, since I'm being already nerdy enough :D), but I thought you might be interested in the last test I made, before choosing when to use your custom list :p

    I made two additional tests: creating a list/customList, and adding stuff to a list/customList, and it looks like the regular List<T> is approx 1023% faster with Add.

    Results (as usual, 20,000 tests, where _Create just creates a new list/customList, while _CreateAndAdd creates a new list/customList, and then adds 1000 already existing elements to it - taken from an existing array):
    ListWInts_Create > ticks: 11.803 - ms: 4
    ListWObjs_Create > ticks: 14.278 - ms: 5
    ListWInts_CreateAndAdd > ticks: 5.846.476 - ms: 2.369
    ListWObjs_CreateAndAdd > ticks: 7.427.549 - ms: 3.009
    CustomListWInts_Create > ticks: 21.432 - ms: 8
    CustomListWObjs_Create > ticks: 30.611 - ms: 12
    CustomListWInts_CreateAndAdd > ticks: 44.030.067 - ms: 17.841
    CustomListWObjs_CreateAndAdd > ticks: 75.991.060 - ms: 30.792

    Anyway, if using Contains a lot, with a list that doesn't change terribly much and never contains the same element twice, custom list should still be the best solution :)
     
    Last edited: Apr 10, 2012
  20. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    Thanks that's very nice findings :)
    I'll reconsider using it then, it's tricky to know which use scenario fits best !
    Anyway there's absolutely no bother don't worry, it's just that I'd like this thread to stay focused on the game development, rather than derived discussions, so that people who want to find a particular explanation about a developed feature are not drowned into derailment :p
     
  21. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    Hey guys, here's a vid of myself having fun with the AI :)




    This is just a basic AI, integrating placement, distance management, striking/comboing and defense.
    But of all the duties I had to achieve with this game, AI is by far the most difficult to produce properly.
    Trajectory calculation, anticipation, temporization to avoid request bombing, ponderation to avoid overpowered intelligence, etc ... I thought I was going crazy, really ! Anyway, it's shaping pretty good (which means no bug and fun to play with), and the base AI framework is now operational to let me add some more options easier.
    Performance wise, the whole AI routine is not exceeding 6 ms per iteration (which I capped at 60 ips to avoid unecessary calculations), so it should be around 10-40ms on mobile. No big load on CPU then. The optimization part was really tough too, as fighting games are relying on decisions that could matter under a 30ms window for experienced players, and 10ms for hardcore ones.
    So in order not to bomb the CPU with such a high rate, I had to create much larger temporization windows (100ms-300ms), and calculations/estimations of the best strike to do under that margin, without making the AI completely slow reacting or underpowered. Therefore the way to go with such a constraint was to find hugely accurate prediction routines. Was damn hard, but after a lot of trials and errors, now it's working.

    Incoming AI features : counters, analyzing, baiting, special strikes management, mind games (basic ones, but still interesting), and dynamic strategy adjustment. It should be over by the end of the month. After that, will be left scenario, multiplayer, and ... release :)
    Kinetic Damage is still expected to be released by mid 2012 (July-August-September at most).

    Cheers
     
    Last edited: Apr 17, 2012
  22. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi,
    Hey, that is a mean AI !
    Keep it up nomad, little more to go.
    -Ippokratis
     
  23. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,239
    Wow this was such a fascinating video to watch after what you wrote. Eager to see your next AI steps :)
     
  24. golden_gate

    golden_gate

    Joined:
    Jul 22, 2009
    Posts:
    81
    I just viewed the "Humanized CPU" video on facebook. The movement of the fighters are very fluid and dynamic and continuous....very natural.

    The only thing I wonder is how the "Humanized CPU" could control itself in the "Night Mantis Club" with all those beautiful dancers :cool::cool: Could the "Humanized CPU" turn into a "Replicant" like in Blade Runner;)

    Keep up the good work!!
     
  25. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    Hahaha :D
    And suddenly : "Here comes a new challenger !", "Rick Deckard !"
     
  26. Bluntweapon

    Bluntweapon

    Joined:
    Feb 24, 2012
    Posts:
    158
    And he would win by shear awesomeness.

    Just stumbled onto this thread, impressive work you're doing there Nomad. It's people like you that moves Unity forward.
     
  27. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    Thank you BluntWeapon !
    I'm actually working on finishing the AI, and it's shaping how I was wanting it to become (a human fighting gamer recognizable behaviour). I'll post vdeo in a few weeks :) After that, remains the solo game match maker, and multiplayer, and release :)

    Cheers
     
  28. glom1envisage0

    glom1envisage0

    Joined:
    Apr 3, 2011
    Posts:
    167
    The abstract artistic style is very prominent and personally what I think more games should have; uniqueness. This is a game that should be on store shelves. My only suggestion would be to perhaps implement some bump mapping and/or increase the polys if feasible. Also, the music sounds a tad bit too "cool" if you know what I mean(might just be me, I'm not a huge fan of techno) but is well composed never the less.
     
  29. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    Thanks glom1envisage0 :)
    Implementing better graphics is part of my plans if the game meets enough success so I can work on it a few monthes later after release. I don't want to promise an AAA level quality though, but I clearly got some stuff I'd like to bring (for free) to the game after release, as right now I'll lack of time to implement them before my budget runs out. Polys is far more difficult, as it would require to rework litterally hundreds of models.

    For vids, I wanted not to put Philippe's most pumping tunes, because I thought it wouldn't really fit to a "visual narrative" mood (aka explanations, tests, etc). But thank you for your compliments, I will transmit them to him :)
     
  30. Bluntweapon

    Bluntweapon

    Joined:
    Feb 24, 2012
    Posts:
    158
    Aww, don't nag the guy to refactor his game this late into the development cycle :D He has a plan, and he's sticking to it. Good to know you're keeping up support for the game after release though.
     
  31. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
  32. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    Okay, I got some good news (for ancient hardwares) : After many, many hours of optimization, including :
    - centralizing each action property (name, range, power, duration, etc) inside one unique Dictionary
    - extracting and storing some important prediction data via Editor scripts (like the one in the previous post) so I don't have to calculate at runtime
    - reviewing and rewriting a brand new Coroutine system, including Coroutine Queuing, Leak management, Parameters management (while maintaining a Coroutine Stop() function), and Sorting / Access Management
    - Writing my own Physics prediction system, by caching translation inputs and optimizing Bounds calculations
    - The biggest of all : converting every single String reference to animations actions in my framework to Enums (there were like several hundreds of them, I had to create a code generator for it not to take ages). Plus creating Lookup Dictionaries for these in cases where I needed to compose action names by string concatenation, as C# System.Enum functions are goddamn slow (they use reflection, beware if you're using Enum.Parse, Enum.GetName, Enum.IsDefined, etc).
    - And many more details

    I've know reached a frametime of 1 milisecond on my PC. Which means a very small one on mobiles too. This frametime includes complex AI calculations and predictions, so the solo game will be interesting while not pounding down lower hardwares.

    $frametime.jpg

    We can also see that the used RAM is not so big, which is good for older hardwares and hickup prevention.

    I think I cannot optimize the framework anymore now.
    On a sidenote, the cool additional benefit I'm taking from all those optimizations mania is that it forced me to create a certain number of tools, ranging from import automation, code generation, lookup functions and class derivation.
    With all those stuff I end up now with, I will be able to iterate the gamedesign towards higher grounds, like deeper mechanics, or online play without lag (I can actually predict and rollback up to any point in time with little to no overhead, by looking up data from action chains, beziers and translation requests).

    Now I can focus on content and quality control properly.

    edit : this speed is also consistent :

    $frametime2.jpg
     
    Last edited: May 12, 2012
  33. a_insomniac

    a_insomniac

    Joined:
    May 3, 2012
    Posts:
    4
    I'll provide a more detailed reply once I return from get my jaw repaired after hitting the floor! Awesome work so far WOW. Keep it up!!!
     
  34. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,239
    Superbly awesome news :) And my admiration for your work (and the way you share it) reached a new peak.
     
  35. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    Thank you so much for your support guys :)
     
  36. BusterBlader

    BusterBlader

    Joined:
    Apr 23, 2012
    Posts:
    79
    i like this very cool game :D
     
  37. ppan

    ppan

    Joined:
    May 11, 2012
    Posts:
    53
    Totally agree.
    But you working since 2009 on it? Wow. Are you doing this full time? How do you get the money to survive?
     
  38. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    Thanks :)
    I was working from 7:00 p.m (19:30) to 2:00 a.m (02:00) from January 2009 to April 2011 on top of my dayjob, which I then quitted to be fulltime on it :)
    Since then I'm working from 10:00 to 22:00, 6 days a week.
    About funds, I put some money in a sealed bank account for 2 years before April 2011 from my dayjob wage. Plus some savings I already had. I'm now running out though (budget will be over on 1st september), so I will find a new way to fund the game until it's released (very possibly by getting a new dayjob and starting again to work at night). But as I'm aiming at a September release, this should not be an issue if I continue to work hard.
     
  39. ppan

    ppan

    Joined:
    May 11, 2012
    Posts:
    53
    Oh man... I am impressed.. You are one of these hard guys who just need a pizza and 10 coffee a day to survive.
    I wish you all the best. Hope your game is successful one day, you earn it :)
     
  40. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    Haha that could be true if pizza didn't make me instantly fat :p
    Thank you, I really appreciate such support :)
     
  41. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,239
    Totally out of contest but... oh man! You mean you gave up on pizza? I can only imagine how hard it must be. Now your work on Kinetic Damage looks even more heroic :)
     
  42. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    But now that we've been talking about pizza, I'm having a harder and harder time to resist go buying one :p
    Oh screw weight control, tonight will be pizza + beer + Tera :p
     
  43. a_insomniac

    a_insomniac

    Joined:
    May 3, 2012
    Posts:
    4
    I read your post about how you are trying to support yourself. Have you thought about putting this project on KickStarter if you are going to continue fulltime development?
     
  44. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    This could have been a solution (as there are EU alternatives to Kickstarter), but I'm afraid I wouldn't have anything really convincing to offer to backers (besides a full copy of the game when released, but Kickstarter ended setting the bar much higher than just offering the product).
    Don't worry, I'll find a way :) By september, it will be probably finished enough to be released without a problem, and if it's not, I'll just work at night again on top of a dayjob ^^
     
    Last edited: May 16, 2012
  45. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,458
    Keep this going man... I can't wait to finish up school so I can return to working on my game... also will there be an Android version?
     
  46. MABManZ

    MABManZ

    Joined:
    Sep 29, 2011
    Posts:
    144
    Keep up the good work n0mad I really hope your game is successful. I'm seriously considering quitting my day job to work on my game too, but I haven't saved nearly as much as you I would only last a few months :(
     
  47. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    Thanks for the cheerup guys ^^

    @Neptune : Yes there'll be an Android version. I hope that Project Champion never ends in a "good memories" titled dvd rom ! :p
    I really would like to see it finished, there's a lot of potential in your work :D

    @MAB : one trick used by some indies is to create a much simpler game, done in like 3 monthes max, and use its revenues to live 100% on it so they can work full time on a bigger project :)

    Anyway, big cheers to you guys, keep your dreams real !
     
  48. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,239
    Now I'm so happy you'll be releasing for Android too :)
     
  49. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    It will be submitted at the same time than the iOS one, indeed ;-)
    Also, as I tried to optimize it to the max, the Android's version fate will still suffer from fragmentation problem, so I can't guarantee the game will run smooth on every device. I've tested it on a Galaxy S 1, and it's running smooth (30-50 fps depending on graphic settings, will update benchmark soon wih latest build). So as Galaxy S II seems to be the most widespread device, there shouldn't be any problem.
    I've made a graphic settings slider, going from "low" to "standard", letting the user disable some stuff in fights that could impact the overall experience (like alpha textures, some background objects, etc).
     
  50. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    Hi guys,

    I just spent some time to make an indepth AI explanation with commentary, to clarify how I created the structure of the AI framework.
    I included written subtitles too because of my awful frenchy accent.
    Just click on the "CC" button ;-) (also contains AI processing infos)





    Note that this only showcases "normal" strikes. Special strikes will be, well, special (= more strategic than simple glorified normals), and will add yet another layer of thinking into how you'll have to fight. They're already coded, but not yet showcased/explained.
     
    Last edited: May 21, 2012