Sunday, February 2, 2014

From Unity to Flash

This weekend I've made some serious progress with the character editor. As a proof of concept, here's an updated mockup of the character creation screen where you can choose your vampire clan. 

I'll work a bit more on some body details like more scars for the Nosferatu, maybe a mystic necklace for the Tremere and earrings for the Toreador. Also I have to try facial animations for dialog and humanity rolls (what's the point of having a big portrait of your character if it shows no emotion). However, facial animations mean that all types of mouths require at least an idle pose and a talking animation. Same goes for the eyebrows, where we will probably need happy, sad, angry and surprised poses. And that surely means a ton of additional pixel work to do. But first I have to mock it up and see if it's doable in a reasonable amount of time. This pixelart spike, speaking in agile terms, will optimize my efforts (since I can toy with the idea, learn from it and then work efficiently once I'm comfortable with the system). Also it's a lot of fun to do.
On the technical side, I've just made a ground-breaking decision which will probably not matter that much to the final player but I have to explain it anyways. I have abandoned development in Unity, porting all the code to Flash. The main reason to make such a drastic change is development speed. Learning my ropes in Unity was taking too much time and energy. It's great to learn a new technology, but it's not not so great when you really want to deliver your game as soon as possible, with the highest degree of quality. Since I have a solid understanding of ActionScript 3 and Flash, I just switched now when the code base is small (just around 10 classes, really really small). Here's a screenshot of my new environment and the combat prototype running.

During my brief learning experience with Unity I have noticed some development problems that hinder productivity when you're working with Unity. I'm sure they are all solveable, but I just couldn't get through them so maybe it's a good time to rant about it. 
Unity offers no built-in debugger. You can use some plug-ins, but that requires Unity and Visual Studio running at the same time. But programmers just don't like multi-tasking. I want to make my game, debug my code and see how it all plays out, all in one place. And that's one of the things that Flash allows you to do. Using a good IDE such as Intellij IDEA, you can code, debug and commit to SVN, all in one place. Also, I've decided to use a 2D library (Flixel) to deal with the most basic pixel operations. You can see a small preview in the screenshot above.
So it's time to wave goodbye to Unity and C#. It was nice meeting you. But now it's time for Flash. Ahhh!


  1. De verdad vas a hacerlo en AS3? pasa tio, mejor unity, así es multiformato y aprendes a resolver esos problemas.

  2. ¡El mal ya está hecho, Flash se ha apoderado de mi! ¡Vade retro, satanás! xDDD
    Na, es coña. En realidad me pasé a AS3 porque trabajo muuuucho más rápido y no necesito ni la mitad de lo que ofrece Unity (así que no pierdo nada que realmente vaya a utilizar). En cualquier caso, como soy un tipo muy previsor, trabajo utilizando los mismos patrones en AS3 y en C# con lo que si la versión final la quiero hacer en Unity o en otra tecnología no cuesta nada traducir. Lo importante es ver el juego avanzar semana a semana, independientemente de la tecnología subyacente :D