News

FGJ 2017 Postmortem

Thanks to my friend Jasmine, I was able to participate in the Finnish Game Jam 17 at the Next Games site. It was really convenient because the office is really close to my place. I worked with Jasmine and Áureo at Remedy, and we had been talking of doing something together again. We were open to have other people on the site to join us, but our group seemed quite balanced (2 programmers, 1 concept artist and 1 UX/UI artist) so jammers opted for filling in other teams.

This is my personal postmortem, not the team one. I will focus mainly on my takeaways from this experience, not necessarily on the most important features.

What went right

Schedule: The team was super happy with the schedule. For most of them it was their fist game jam, so I tried to keep our scope and timetable very similar to the one that I use for the Ludum Dare where I participate alone: have the gameplay working at Saturday lunch, RC before going to bed and expend Sunday polishing. As we didn’t plan to work Friday night, we just had dinner together and worked on ideation and finding the right idea for the game.

Theme: I am really happy about our chosen theme “a royal wave” although the approach changed literally overnight.  We wrote all the kinds of waves we could think about in post-it notes and triaged for the best ideas. When I pictured the game, I thought it would be a some cartoony king, but then we were considering using the Old Masters diversifier but then, during the night Aureo was thinking on the style and said “I want to do pixel art” and he moved the mood to something more interesting. For me it was really good that somebody else invested his mental energy on this topics and I think the end result feels much more iterated than my usual jam assets.

Figure out unknowns before going to bed: I actually did some coding the first night. My objective for Friday was just plan the weekend and go home to rest so we can work Saturday at full Steam. But then it wasn’t super late when I got home and I wasn’t that tired and I thought that maybe I can solve a couple of pending questions we had. So I fiddled a bit with Unity and did a first prototype of the controls. I think this was the best use of the first coding hours of the project. Just hack around and figure out everything you need before building the game.

Having more than one programmer: Jesper has done a lot of prototypes and small games in Unity, and he also had a different experience of learning Unity than I have. Even if we didn’t interact much and worked on different parts of the game, having extra coding power is always a relief and gives you some breathing space to invest some time researching and trying new stuff. In this jam I had some time to play around with the Audio Mixer.

What went wrong

My Unity skills: I haven’t used Unity in a while. Although I was able to write C# more or less fluently, I forgot about some really nice things that would have made some features easier (and cleaner) to implement.

I didn’t use Mecanim events even though I know the concept of events in an animation track (and I remembered having experimented with it on Sunday noon). Also I realized really late that Mecanim can handle nested Game Objects so with a single Animator for the carraige, I could have controlled the animation for all the parts.

As a positive point, though, with all this features I am starting to think that maybe Mecanim it’s a practical way of doing 2D animations. It’s not perfect, and the learning curve is a little steep, but I think I am at the point that I know the issues and I don’t loose too much time battling with the UI.

Video: We did the game video at the end and we had to re-tweak the visuals again because we realised there were some differences with the image effects between Win32 and WebGL . That was a error, we should have defined the “main platform” on Saturday and make sure the game looks great for it (specially because of the video).

Not thinking about touch controls: The game plays well with touchpad so it would not be too much work to make it work in tablets, but we didn’t thought about it during the jam (even though Jasmin and me work doing mobile games). I think it would have been a great 15-20 min task that would have made our game much more appealing to try, as it works quite decently on a phone (even though Unity says WebGL is not supported, it works in Chrome in my iPhone 6).

Startup flow: We had some time we could have used to polish and add a better startup flow, but we didn’t had the energy on Sunday to keep adding more features (it’s hard to do a jam between two normal work weeks). I think I need to try to squeeze the startup flow in the Saturday features or design the game with that flow already in mind.

Lost some of the social aspect of GGJ: People on Next Games site were really cool, but as we wanted to work with our team I didn’t “met” any new people. I  feel I lost something by not working with people I don’t know.

Conclusion

I have to give kudos to Ralf Baumann and Next Games for hosting a site for GGJ and to my friend Jasmine for inviting me to join them. I was happy to work with Jas and Áureo again, and I think the game ended up looking quite nice. I am even more happy of introducing Áureo to game jamming, and I hope I will be able to drag him to help me with graphics on the future.

I will try to book the FGJ18 weekend so I can join again next year. What I have yet to figure out is what I want from it. Will I join some group of people I don’t know or will I try to work with some friends? Maybe help the group of the kids from Gamedev-club? I have some months to think about it.

Ludum Dare 36 Postmortem

This weekend I participated in Ludum Dare 36. During past couple of weeks, I invested some time preparing all the tools (and stocking my fridge) and making sure I had all bases covered during the jam. With a great experience in LD35 I was expecting this one to be even better. This edition will be a little different, because there won’t be ratings (I’m fine with that, although I like to be able to have some KPI about my performance).

The selected theme was Ancient Technology which I didn’t really like a lot, even though I got some interesting ideas. My second best choice was doing another puzzle game using the abacus mechanics, but in the end I opted for doing something around “writing” and the result is Decypher.

What went right

Ideation: As I mentioned in my previous LD postmortem, I wanted to invest more time researching and pondering different games before started making one. I am happy with the result because, for once, it looks like my game really fits the theme in a non-obvious way. Even though Egypt was a quite used setting not many people have thought of the glyphs as a “technology” (only 3 of 881 as of today)

Art direction: I also was not happy with the look and feel of my LD35 game. Not because of my skills pushing pixels, but because I felt the game didn’t had a cohesive look. I think this entry got much better in that regard.

First, because I limited the glyphs palette to 32 colors. I started with the Windows 16 colour palette and I added some extra tones I needed. I know if I had been practicing more pixel art I could have been able to limit myself to that palete but I don’t know how to get different tones with dithering.

Also, the idea being a Win 3.11 program kinda felt really thematic (you can say it’s “ancient technology”) and it really made the UI super simple to make. I could have done a better work with the fonts, but I didn’t want to spend too much time finding replacements.

Time: This was probably my most relaxed game jam, which was really good because I was on a housewarming party on Friday and I was a little tired over the weekend. I did maybe too much cuts to my original idea. Initially I thought about implementing a chat window where you would get messages from a group of archaeologists trapped in a pyramid but on Sunday I preferred to chill and just polish and make content for the game that I had and not add more stuff.

What went wrong

Writing is hard: I was doing quite well this jam, as I found a simple idea that may work, the art style was getting into shape and I didn’t had too many programming problems as I this game is basically game UI (which is something in which I have lots of experience). Luckily I decided to start writing the content on Sunday morning and I discovered that… OMG I don’t know anything about game writing!

I have written some gags for a local radio show and some articles got published in the spanish version of Eurogamer but trying to write narrative is harder than I initially pictured. I had a rough idea about a love story between the guy writing the hieroglyphs and a girl called Dalila, but it wasn’t really nothing so special that people would want to read it just with text boxes. So I was committed to put the content into the puzzles and its solutions. That is easily said than done. I think I got a couple of interesting answers, but trying to do something fancy and smart may not be suitable for somebody without previous writing experience. Specially, with a 48 time limit.  

No music: I had been trying Bosca Ceoil and I like how easy is to use and the results you can achieve. I planed to use it to do the music but when I had the idea, the project kinda asked for no music, as it was mimicking a software program. Maybe I could have put it just for completion or to use the extra time, but I didn’t think those were good reasons.

Too simple: In the end, my idea worked in the sense of being feasible. And the scope was the right one for a 48-hour compo. But I feel the game mechanics weren’t particularly strong. It’s the actual definition of a puzzle, because when you know the answers the game has very little replayability.

I’m happy to do toys in gamejams, specially because I know that the average play time of entries is very low so I kinda prefer to make vignettes instead of trying to achieve long projects that I will keep developing as a side-project.

Conclusion

I may seem too hard on my performance this jam, but I think that is because with it being quite relaxed, as the idea I settled ended up being easier than expected and me becoming quite used to Unity, I got the feeling that I may have squeezed something else. Still, I don’t regret taking it easy this time, because even if I tried to push some extra features I didn’t had anything on my task list that I felt it would really improve the game.

I learned a great deal about my skills in this one, as I will try to avoid heavy story games in my following jams, at least until I have been able to learn something about writing (I have the FILM CRIT HULK screenwriting book in my reading list).

And, of course, it was really fun to think of a game without any kind of preconceived idea or genre I wanted to try.

Ludum Dare 35 Postmortem

Back in April I took part of Ludum Dare 35, the game jam you can do comfortably from your own home. I didn’t really thought too much about it beforehand, just saw my friend Belen preparing for it and I decided to give it a try. It’s not my first Ludum Dare, so I had a clear idea of timelines and how to organise my time.

I set my expectations really low, my only objective was to do a puzzle game because it’s something I’ve been curious about lately. When the theme was released, the idea of mixing Triple Town with Werewolf came to mind really fast, so I open Unity and started to code furiously. 

I was able to release something which I was quite happy (without not too many hacks I believe): Crops of Carnage.

As I am writing this postmortem with the ratings already published, I can say that this was probably my most successful Ludum Dare in terms of score. The game was #68 in Innovation, #110 in Humor (probably because the male character is super funny), #131 in Fun (the score I am more proud of) and #189 Overall (best rank so far).

What went wrong

Art direction: Back in 2012, I missed having better art skills because I always felt it was the weaker part of my entries. Nowadays I am not professional artist by any means, but I have read a couple of drawing books and I watched some videos about colour and composition. Also I learned a lot about drawing from my friend Áureo. This time I got the basics ok: using references, I know how to choose colors better and I was using a software made for pixel art (Aseprite) which made me a little more productive.

My mistake this time was that I followed all the tricks I had been learning without thinking about the overall style and the amount of work the assets would take. The problem of making animated and (relatively) high color sprites is that you still need a lot of time to crank them. Maybe I should have used a more symbolic/tabletop look and feel for the game.

With so much time doing the main sprites, I had almost no time to work on backgrounds so the game doesn’t look as cohesive as I would like.

Music: As I had zero preparation, I didn’t do any preparation for the music. I have very little practice with music software, so it’s something I need to experiment  a bit before the jam, so at least I know how I can input the notes into the software and look for some good (and free) synths.

For this entry I decided to skip the music because I didn’t want to spend time browsing and setting up stuff during the jam.

Scoring: I had the idea really fast, and the first set of rules was really natural, but then I found that the game didn’t really had a goal nor there was a proper scoring system for it.

My initial idea was to make the game about how long can you make your town last, but that ended up being too confusing. So I tried reverting the score, switching the game completely, because you want to fill the board as fast as possible, which seemed to require a little more skill and gave you an objective you could use to guide your placement choices.

Randomness: Another problem with my design is that the breeding and killing rules had quite complex interactions, because the tokens are evaluated in the placement order and the bumping could make a token change position, it’s very hard to foresee the implications a placement, and that makes hard for the player to feel empowered when his move results in a big play (or a terrible one).

The randomness also limits thinking ahead, so is very hard to become skilled in the game. You can experiment and learn the rules, but then it’s very hard master because there is a lot of hidden information (like the order in which tokens will be processed).

Theme: After seeing the cool Belen’s brainstorming notes she posted on Twitter, I really miss not investing a little bit thinking about ideas. The werewolf thing ended up being used a lot in the jam. I would have liked to do something a little bit more original.

What went right

Unity: This was my second game jam using Unity. I have some experience with the engine and, although I am no expert with it, I am quite productive with it. I have to confess that I use Unity as a glorified SDL, because I use very few plugins from the Asset Store (just DOTween to ease making animations from code) and I don’t use the physics or any advanced features.

I think Unity was the right choice, because I spent most of the time of the jam writing the code for the logic of the game, instead of trying to get the rendering or the input right. Also, one of the reasons why I chose Unity was because I wanted my target platform to be…

WebGL: If I had to point the best choice I made this jam was that I decided from the get go that my main publishing platform had to be WebGL. I wanted as many people trying my game as possible, and the Unity WebGL exporter worked flawlessly. With the game working in the web exactly as in the Editor.

Feedback: I have to give big part of the merit of the success to Kabutor. He was kind enough to try multiple versions of the game and give me player feedback and some design suggestions that helped me focus my time on what was the bigger fire of the gameplay at that point.

I didn’t had any release plan, but as soon as I had something worth trying I pushed a build to my server. It wasn’t fancy, just FTP the contents into a new folder and tweeting something about it.

Iteration: I think that if this game is a little more polished than my other jam entries is not because of Unity or my skills but because it’s the first jam where I had time to do any kind of iteration.

In my other jams, I spent most of the time making the game take shape and there was no time to try to rework something that wasn’t working. For me a game jam is an opportunity to try genres I haven’t done before, so of course there was plenty of things they weren’t working at first try.

Making a new puzzle game mechanic (even if you start mashing two ideas) takes a lot of time. The gameplay is still very flawed, but at least I had time to try to shaping it into a funny gimmick that you can fiddle around for 5 minutes. Making a game right from the get go is feasible if you can use some other game as reference (and then you still may want to tweak it a bit), but if I try to do something new I will want to have time to just iterate and polish.

Conclusion

It’s hard not to be happy after a game jam. You learn a lot by pushing yourself to do some project, and the 48 hour limit requires a little bit of mastery and scope management that I have to confess I haven’t groked at all.

From the technical point of view, I use Ludum Dare to play a bit with toys. In a past game jam I did a game in Game Maker to have real experience so I could help the kids in Pelitalo. For the next one I want to try the new Unity 5.4 release.

Creatively game jams are also great to take a do something different after being so focused on the same game at work for months. Jonathan Blow calls this taking a working break.

Something I want to try the next game jam (probably Ludum Dare 36 at the end of August), is to have a deliverable version as soon as Saturday night, so I can spend Sunday tweaking and improving the game. To achieve that I will invest more time beforehand looking at references of possible art styles that require few work and try to add sound and a first version of music earlier than I am used too.

Gamelab 2016

I am back in Barcelona for my summer holidays, but before chilling out for a couple of weeks I attended the unofficially called “Barcelona videogame week”: Hello World, Gamelab and Indie Developer Burger Awards. This year, Unai has been organizing a small technical track and bringing Mike Acton to Barcelona.

Unai asked me if I could give a talk there. I haven’t been in Supercell long enough to be able to talk about my experience there, and I was quite busy last month, so I started taking it my previous UI talk and tried to structure it much clearer and remove some sidetracking. Also, as the focus of the talks was native and C++ development, I tried to give also the view of somebody who has written its UI library.

I gave this talk in English (due to the request of some of the attendants) so if the video becomes available at some point I will share it here.

 

Freakend 2015

I made a talk in Freakend 2015. It is an event, organized this year by Diego, where a bunch of Spanish game developers get together in a cabin in the mountain to share experiences and enjoy good food and beers (and this year I brought some Finnish Salmari too).

I thought which topic could I use for my first talk, and I thought that dead mobile platforms, although fun, may be of less use than collecting some useful good UI practices I learned after working in that field for a while.

I gave the talk in Spanish (and there is a video of it), but all the slides (except the title) are in English.

Rollerjam

I came to the gamejam with the idea of working with my coworker Joonas, who was going to do the art. I wanted to use this jam to put my Game Maker knowledge to a test, because I had been helping the kids and doing the tutorial with them previously but never really had to do a “real” project with it.

Rollerjam - Title screenAs soon as we saw the theme of the project was sport and the extra point was co-op, we had the same idea. Joonas had been talking me about wanting to do a game about roller derby for a while. Specially after seeing the movie Whip It. On Friday night I streamed the movie from Netflix and it was a great idea because I was instantly motivaded. I could easily foresee an Ultimate Team with the skater with their awesome looks.

After a couple of days of furiously coding in Game Maker (with some pause for coffee, food and helping some jammers with coding problems) this is the result. I am not 100% happy with the controls and some game stuff, but I have learned a lot about Game Maker by doing this jam game and putting my skills to the real test.

Download the game for Windows (10MB)

Rollerjam - Instructions splashRollerjam - Gameplay