Saturday, November 24, 2018

Araknoids DEVLOG #1: Spider Animation

Couple years ago, I saw this excellent GDC talk about an indie's approach to procedural animation. I was amazed at the wide range of possibilities based on clever usage of procedural techniques. It stuck with me since then.

I started researching the subject recently, with the intent of improving Spider Engine's animation system. I explored Inverse Kinematics, and implemented the FABRIK algorithm. Here it is, running on a 6 bone structure:



I used this technique on a more complete example, and created a walking creature, with a procedural walk cycle and an IK simulation on each leg.



This is how the concept of Araknoids came to life. At this point, I knew I wanted to make robot spiders that steal each others legs. It's just the logical conclusion from here!

Fake Inverse Kinematics using Key-frame Animation

I invested more in the animation system and decided to replace the IK simulation on spiders with simple key frame animation. This is relatively faster and will scale better to simulate more spiders with more legs. Here is how it works:

I created different key poses in the Spider Editor. A pose is simply a hierarchy of entities.
3 poses representing the extension states of a leg
I implemented interpolation between them (by interpolating the local rotations of each entity), and orienting the root entity to wherever the "IK" target is. The final result is acceptably close to what an IK simulation would give, and reacts smoothly and naturally to changes in the "IK" target's position:
Interpolating between poses using the "IK" target's relative Z position as a factor

Orienting the leg towards the "IK" target

Interpolation + Orientation = Fake IK in 360 degrees!

This is pretty much the technique used for animating spiders in Araknoids! Here is a preview of applying this technique to an actual in-game character:


Thank you for reading! I will post more updates through the development.

Here are handy links to follow the progress:

- Araknoids home page: araknoids.com
- Youtube: Araknoids on Youtube
- Facebook: https://www.facebook.com/franticsoft/
- Twitter: https://twitter.com/franticsoft





Showing Araknoids at MIGS and MEGA

We showed Araknoids at the MEGA festival on November 9, 10, 11, and then at the MIGS conference on November 12, 13.


I'm glad we participated at those events, as it forced us to prioritize, clarify the concept, explore an Art style, and ship a playable prototype to the public. Specially at MEGA, which was open to the general public and all age groups (MIGS was more for professionals and students). I was specially thrilled to see parents bonding with their young children over the game. Hundreds of people played it, but I particularly remember some: There was this 3 year old girl that kept coming back, and would make a huge scene each time her parents wanted to take her. There was this groups of 4 teenagers that came several times and played against each other, they were very intense and fun to watch. Seeing people bond over the game is just immensely motivating!

We produced this prototype in about a 2 months. I spent the 1st month coming up with the concept, building the mechanic, and the tech for procedural spider locomotion. Then my friend Abdel agreed to join, and we worked over the 2nd month on mostly the graphic part.

We didn't have time to do a lot of polish, but what we had was enough to show. Will people enjoy playing as spiders? Is the game fun? Is it balanced? Talking to hundreds of people who played (even re-played) the game certainly helped answer some of that, and helped clarify the direction for the entire project. Here is a preview video and couple of screenshots.









Friday, October 19, 2018

Araknoids is coming soon

It has been a long time since the last update :)

I was quite busy trying to build a project that could realize the potential of the Spider Engine. It was (and still is) a challenging exercise, but after a long search, tons of discussions, and more importantly the artistic contribution of an extremely talented friend, I can finally announce Araknoids!

I describe it as a multiplayer, "last-spider-standing" experience.
You play as a spider that gets bigger by stealing opponents' legs.
You die when you have no more legs!

I will not say more because this will be playable at MIGS and MEGA early November.
If you are in the Montreal area during these events, please come try it!


Tuesday, June 12, 2018

See you at BIG 2018!

I will be at BIG 2018 in Brazil starting June 25th with a delegation from Quebec. I will show demos of the Spider EngineSee you there!


Wednesday, May 9, 2018

Spider Engine in Beta


My new game engine, the Spider Engine, is in beta testing!

It's my humble attempt at making a creation environment that is as accessible as possible, without sacrificing power and flexibility.

Motivation


I enjoy creating worlds using software, but I hate the process when it involves keeping track of too much code, having to read tons of documentation, or using friction-full technology. Life is short, and creation is fun, but no one dreams of spending their life in front of a computer fighting against technology!

Spider Engine came to life because there is a lack of user-friendly real-time creation environments. Creation software are complex to make, and there are design trade-offs at every corner. Each decision affects the overall flexibility, performance, functionality, and user experience aspects, to name a few. The balance is really hard to strike, and there are tons of software trying to cover all bases, but in my opinion, none of them do it just right. I don't think Spider does it right either (engines can never be right, they can only compete in popularity), but I think it's a firm step in the right direction.

Technology


Spider is entirely web-based, no installers, no downloads. This was one of the hardest decisions to make, coming from more than a decade of C++ experience in the video games industry. I had to learn the ways of web programming pretty much from scratch, as the last time I did anything remotely web related was at college. But at the same time, I couldn't have done it any other way, because in my opinion, being accessible on the web is a must for modern software. Instantaneous access, cloud save, team collaboration, ease of sharing on social media, are all things we expect from software we use and the web is the ideal platform for that.

In addition, Spider was built with visual scripting in mind. However, it is not one of those "Create games with no code" environments. You will still have to write code to get certain things done right. You decide what level of abstraction you need, depending on your project and your performance target (yes, code blocks have a small overhead, so in performance critical parts it's better to use one code block with a lot of code instead of connecting several mid-sized code blocks). The closest environment that is based on this idea that I know of is Unreal Engine. But Spider has a big advantage in terms of iteration speed, because Javascript compiles light years faster than C++ (Thanks several decades of arms race between browser vendors!). This leads to a tight, real-time, iterative and efficient creation loop that I'm very fond of, and I think will help teams create quality products in less time.

Check out Spider Engine and let me know what you think!




Monday, March 13, 2017

Racing game prototype in progress, codename: Overdrive!

Overdrive is a prototype of an action-racing game. Some ships and special effects were made by the talented @gonthiermike. It has a hyper fast pace, butter smooth performance, and a combat mechanic.

Overdrive is one of the few projects not made with our proprietary tech, it was made with Unity.
If you played VLAD: Heavy Strike you might recognized some of the ships we refurbished :)




Wednesday, February 10, 2016

Source code release!

I'm releasing the source code of VLAD: Heavy Strike and Starports Space Defense to public. It represents about 5 years of work, and consists of the games, engine, tools, and pipeline developed during those years.


I loved every minute working on this tech. I'm satisfied with the level of maturity it has reached, allowing to release 3D games on mobile, even multiple releases (iOS, Android, and WP8) in the same month (November 2013!).

Let me know what you think of it I'd love some feedback on it!