Posted by & filed under 12=12, Blog, Ramblings.

So here we are : Σ12 is out now , and if you happen to read this blog entry, I hope it’s because of the game.

It’s been a long and hard journey, but we learned tons of stuff, and still are.
I wanted to write a bit about the game, the process, what went right and what went wrong about this project, so let’s start with a few words about its genesis.

The game was first thought out as some sort of personal training exercise in game design and development. It was part of the OneGameAMonth contest organised by McFunkypants, which isn’t really a contest, but more a tool to provide motivation for all kind of game developers. The idea is that each contestant tries to make one game a month, simple as that, and is rewarded with achievements and some visibility.
So the very first design goals I had set for me were :

  • Learn Unity :

    band4_effect
    Everyone is talking about Unity these days, I wanted to try it. You can see my previous post about the project here. The biggest advantage of Unity for this project being the multi-platform publishing, so if I wanted to realease the game on mobile devices, I could. Well, I could as an independant developer with the free version, but not under the iq12 hood without buying the pro license, and that’s part of the reason we ended up developing the game with the Adobe AIR platform instead, which has the same multi-platform advantages, but iq12 already had all the necessary licenses. As the core logic of the game is quite simple, the transition was mostly painless. The 3D side of things ended up being a little bit more complicated. In Unity, you check a checkbox to automatically adapt your assets to mobile devices limits, the engine itself is quite powerful, and the interface really helps you simplify the tuning of the assets. With AIR, it was quite a bit more complicated. The technology is present, with stuff like the ATF format and its compression and mipmaps, AGAL for optimisation of shaders, lots of options in the compiler, etc., but all of it is still a bit low level for my taste.
    So we relied on Flare3D for the engine wich I think is a good middle ground between accessibility ( fairly high level, respect of most AS3 concepts ), features offered ( 3DSMax plugin, 3D level editor ) and performances. And so think Arnaud, too. The only problem is that it’s not open-sourced, but you usually can contact their team and talk about stuff you might need or change in their engine, and they have always been fairly open to suggestions and are updating their engine regularly.
    Maybe we will switch back to Unity for a later project, only time will tell, but their recent announcement of providing their iOS and Android for free for smaller developers is certainly tempting. I really liked it when i tried it, it just wasn’t right for this project at that time.

  • Try to implement one button controls :

    band1_effect
    Tablets and phone games are all the rage these days, are home of tons of small indie games. So it’s the perfect training ground. I’m personaly not the biggest phone or tablet user , I really don’t like touch controls because they are imprecise and lack feedback, but I wanted to try it anyway to see if I could make it work. On our team, Sam is the one with experience on mobile gaming, so everytime I had questions about how to make something work, I would refer to him.
    For me, the one touch control presented a real challenge : you only have one input for the game, and it happen that this input is also the main output. There are different ways to make that work. That one input can be used in a variety of ways : press, release, drag. We didn’t do multi-touch inputs because when we evaluated as a group my prototype, we tought that the these three actions where sufficient for the game we where developing. Maybe we’ll dig into that later as I’m pretty sure there’s some nifty things to do with multi-touch inputs ( and because I feel it feels more futury for the users ).
    So, one finger ( or mouse ) for the whole game and that’s it, when I’m usually someone that likes complicated inputs, because they often lead to more depth in gameplay , at least when those inputs are well designed. My most played games of 2012 probably where Crusader Kings 2 , Civilization 5 and the new XCOM ( I’m talking about more than a hundred hours for each ), all games with tons of inputs, complicated rules, tons of informations on the screen, etc. So setting my mind on simple controls was one of my first concerns, being realtively inexperienced with it.
    I’m quite happy with the game part of the controls of the final product : there’s only two actions the user can do : rotate the camera and select cubes. This is concise, easy to grasp ( or so I tought, more on that later ), and I would even say intuitive in the way that we did it, that is simple press->drag->release actions that now a lot of our potiental users probably mastered, as those inputs are constantly used on phones and tablets ( scrolling, sliding, selecting, locking/unlocking , etc.). The fact that you use your big fat finger still bothers me a bit and I still feel that the mouse is way more precise, but we managed to make it work I think, with only a few consequences on the rest of the design, the biggest ones being the size of the cubes, and the space allowed to control the camera with the game’s background, wich both had to be carefully tuned to work on the large number of devices we decided to go for. The size of the cubes and the number of cubes present on screen is in a large part a consequence of the finger inputs, the other part being of course the technical limitations of the platforms, like memory and CPU power. My friends gave me the advice of getting a LoL elo boost to improve my performance and skills at the game.
    So in the end, you control the camera by draging your finger on the background, you select cubes by dragging your finger over the cubes, that’s it, and I think it works quite well.

  • Colors !

    band3_effect
    I like colorful games, I really like a good graphical direction, I had the same reactions to the first few next-gen games being all brown as a lot of people, my favorite art direction of 2012 was Journey, a game that blasts your face with colors, exquisite lighting, where every moment of the game is a marvel to look at. I also think that the majority of what I can see on iTunes or GooglePlay propose the same childish and overdone style. So my idea was to make something different, damn the consequences.
    The problem is that I’m not an artist : I doodle, I worked for years integrating and tuning other people’s graphics, but I have nowhere near the experience or talent to be an graphical artist. Working in communications and advertising for years, I’m constantly surrounded by graphists of varying talent, and as a consequence I developed my own eyes for graphical design, and I can be quite critical about it.
    So even if I knew I probably couldn’t do it, I did it anyway, because not having that much experience in graphical creation is one of my personnal frustrations, something I would have like to develop more in my life/studies.
    You can see the limitations induced by my skills in the game : on the 2D side, the GUI is nowhere what I had in mind, is not very good, lacks graphical elements. On the 3D side, there’s only simple things : champhered cubes and planes. I like the game elements, but I’m really not satisfied with the UI : it lacks cohesion, some elements are downright ugly ( the tutorials for instance ). The thing is, there was only so much time I could dedicate to 2D art in this game. We already completely over the time we had initially planned to use on this project, and at some point in it, I had to tell myself that the graphics where going to be the way they ended up, and that I had more important things to work on, like the design, the code, or the music. You can appreciate the graphics and the soundtrack with VR.
    On what I did and I think works are the levels backgrounds, wich are variations of kaleidosocpic effect on 5 colors. I think that really give the game its distinctive image, and it is as colorful as I wanted it to be. It’s simple enough that I could do it, compatible with our technical limitations, and not too agressive on the eye. The 3D elements work quite well too : we needed the simplicity due to technical reasons. Of course, I would have liked to have less limits to put more lights, more complicated shaders, more animations, but when you want the game to run on an iPhone3GS or iPad1, you simply can’t ( the Unity prototype had already way more effects that our final game).
    So , in the end, on that front, it’s a mixed bag. I learnt a lot, moslty that the art is really dependant on the technology and those two aspects really have to go hand in hand. I learnt about my own limitations too, wich is always good and will allow me to allocate my time better on future projects, and I’ll really try to find an artist for my next game, the only problem being money.

  • Music synchronisation

    band2_effect
    I love rhythm games, and I used to play them a lot. Staring with Dance Dance revolution, then Guitar Hero/Rock band ( so much money poured into those ), stuff like Osu Tatakae Ouendan which I found completely fantastic, or, and more to the point , Rez / Child of Eden. The discerning gamer eye can see that there’s a lot of elements in Σ12 that I lifted straight from those games. I wasn’t sure at the start of the concept phase of what the music was going to be used for, but I knew I wanted it to be important.
    I used to consider myself a musician : I learned to play the piano for most of my childhood, and even though I was never that great, I used to play a lot of piano as a stress releavier and as some kind of way to express some feelings. My favourites were Beethoven piano sonatas, that I used to play in my own inexperienced way, that is too fast and too furious, but it was my own interpretation and I liked it that way. Then later I tought myself some guitar, some drums, but with age passing and time getting scarcer, I played lesser and lesser.
    Now back to 2012 and Σ12, I told myself that I was already doing the concept, code and graphics of the game, why not make the music too. That way I could tinker it and integrated it well with the gameplay. So I started composing on a tracker, because at some point of my life I tried and like that method of composition. I mostly like watching the numbers scrolling on the screen, but anyway, I tried it. The result is 5 mini-loops that represent the five backgrounds found in the game.
    I really enjoyed composing, and am quite satisfied with the result. The design of those music was that they had to loop perfectly, be relatively short to not take too much space, and that they played well with the sound effects of the game, wich are themselves instruments. The loops I ended up with are OK, but they are too short, again, like the graphics, due to time constraints. Most of them could and should be thrice as long as they are. They are repetitive and atmosopheric as I wanted them, but way too short.
    One fun thing regarding the music is that you can guess the order in which I composed them by their progressive complexity in their melody : the intro/1st world music as only one intrument playing the melody, whereas world 3, the last I made, has like 5 channels for the melody, with harmonies, more complex patterns, etc.
    Regarding the synchronisation aspect, it got a bit lost during production. The Unity prototype was more precise, particularly on the timing of sound effect which always were in synch with 1/8 or 1/4 of the beat. That got lost, I don’t really know why, in the final game. The animation were also more synchronised with the music. Probably got lost while organising the code. We had some crashing problem due to the way Flash manages the playback of sounds ( we ended up using the SoundAS library ). All in all, the synchronisation has been more emphasised in the gameplay, less in the fluff. That’s one concept that first time players may have a hard time to grasp, but in this game, being in synch with the music is one of the most useful tool the player has to score more points. We probably should stress its importance more in the tutorials. It doesn’t only give you more points, but it also increase the quality of the special cubes spawns.
    Another fun thing is the music for the infinite mode, wich accelerate every 12 combos you make. Composing that and keeping in mind that the pitch would change with the dificulty of the level was a fun challenge, and I find the result fun too, if a bit maniac sounding.

This article is getting kinda long, so I’ll cut it there and continue another day with other design concerns that came later in the development cycle. But these were the primary topics that really are the fundation of the game’s design, and they are in the final product in one way or another, still important.

As usual, be free to comment on the various topics !
See you later !