Homefront: The Revolution announced!

At last! The game I worked on during my 2 years at Crytek UK has been announced with an amazing trailer. Big congratulations at the Nottingham team for the huge effort put into this project. What a bunch of incredibly talented people, I’m really honoured to have been part of the project. I mainly worked on emergent AI systems for NPCs and animation. Unfortunately, you cannot see much of that on this trailer. Read On →

Ludum Dare #29: Beneath the surface

As I mentioned here a few days ago, last weekend I entered the 29th edition of the Ludum Dare game jam, which had Beneath the surface as a theme. To be completely honest, I was only bothered to work on the project for about 4 hours each day. That probably explains why is my worst game jam entry so far. Beneath the surface is a very simple, classic text adventure where the player needs to escape an underground cave by using commands in the form of verb object like: Read On →

Ludum Dare #29: I'm in!

I’m up for Ludum Dare despite not being too sure about whether or not I’ll be able to invest enough time on it. The last couple of editions eluded me, so I didn’t want to miss yet another one. Given the time constraints, I might even go for just a text adventure. Or maybe not, who knows. I’ll decide in the morning, once the theme is announced! Tools of the trade. Read On →

ListenerSet using variadic templates

Important: variadic templates are only available from C++11, make sure your compiler supports it. Who has never used the Observer pattern? As long as you have been involved in any medium sized project, chances are you have come across it at some point. The problem It is extremely common to have an event generating system other components would like to subscribe to. However, oftentimes I see code to manage a collection of listeners being unnecessarily duplicated on a per system basis. Read On →

Castilla: La Mancha University talk

Oh $deity, it is hard to be back after a 5 day break! Following a healing long weekend in Madrid, yesterday I went over to Ciudad Real to deliver my presentation titled “How to break into the Games Industry with Open Source Software” at the engineering university school. I would dare to say it was well received. A zero total count of rotten tomatoes thrown at me shall be good enough of an indicator to back up my previous statement. Read On →

Talk at UCLM

Next April 22nd I’ll be giving a talk at Castilla: La Mancha University (Spain). I’ll be addressing the students enrolled in their games development course who bother attending to listen to whatever I’m going to say. The talk will focus on how open source projects help you get into the industry, which is something I’ve been writing about lately. But I guess I’ll end up talking about tangential matters such as student life as well as my experience at Crytek and Sony. Read On →

Libgdx has >1M LoC project

Don’t exactly remember how, but last night I came across Code Analyzer, an open source Java desktop utility that counts lines of code. Out of curiosity, I downloaded the runnable jar file and tried it with Libgdx. I was very much aware that Libgdx was a pretty big project but certainly didn’t expect it to be that large. At the time of writing the HEAD of the repository contains 1.048.646 lines of Java, C and C++. Read On →

Contribute back to open source projects

Developers love Libgdx, it’s an extremely efficient, easy to use, open source, feature rich, cross platform framework. It has a huge community, and a very active repository. What’s not to love? The fact that 1.40% apps on AppBrain use Libgdx backs that up. Have you thought about contributing back? Who, me? Yes and here’s why. So much win The beauty of a healthy community driven project such as Libgdx is that decisions are crowd-sourced and code is always peer reviewed. Read On →

Fix your timestep in Libgdx and Box2D

Fix your Timestep is a fantastic article by Glenn Fiedler that explains the different ways to tick a physics simulation. Show some self-respect, go read it and check some of his other articles on physics and network code. Some might be 8 years old but still totally relevant. Essentially, it covers different approaches to pick a delta value to pass through to the physics engine along their strengths and weaknesses. The topic is complex but has an undeniable impact on games’ behaviour. Read On →

SionCore, a small game engine

Today I created a repository on Gihub to keep track of my code base and I named it SionCore. This wasn’t made overnight, it’s the result of several small game projects, such as game jam gigs and Math Maze. Slowly, it became obvious that some components were highly reusable and game agnostic. That is why I thought it would be good to make it public. Who knows, maybe someday someone might even contribute! Read On →

Using Ant behind a proxy

Many Java projects use Ant to automate their build process. Libgdx, for instance, is among them. One could possibly say Ant is the Java version of Make. Targets, dependencies and other settings are defined in XML scripts. Downloading dependencies while your machine is behind a proxy might prove problematic. Luckily enough, you can specify your proxy settings inside the Ant script. <setproxy proxyhost="host" proxyport="port" proxypassword="password"/> Users behind a proxy would now be able to download dependencies with Ant. Read On →

New look

Let’s face it, the old theme was extremely 2005. It was about time this blog got a proper facelift. Since I’m no designer, I put together all my creativity and went for one of the featured WordPress themes, Twenty Thirteen. But that’s okay because the awesomeness of my content makes up for the lack of innovation. Ha! Now seriously, I thought a colorful and yet simple style would do this place some good. Read On →

Smart enums in C++ or: "what is this madness?"

Needless to say, C++ is a glorious language. Sadly, the attention it gets on the blog is far from representative of my appreciation towards it. Despite it being my main language at work, I only tend to talk about Libgdx side projects around here. Well, enough is enough! Truth be told, over the years, standard after standard, C++ has become a behemoth of a language. As Scott Meyers likes to say, it’s actually a set of languages. Read On →

New beginnings

It’s been almost a full quarter since the last blog post, shame on me! How could I dare commit such outrageous atrocity, right? To be completely honest with you, I hadn´t been so busy in a very long time. In a spark of madness, after Math Maze was done, I partnered with a publisher to start writing a game development book. Let me tell you right now, combining a full time job and a side project full of deadlines is a hazardous cocktail ready to blow up in your face, making you require serious reconstructive surgery. Read On →

Math Maze postmortem

After approximately 5 months of work, Math Maze went live on Google Play on September the 2nd, so I thought a little postmortem was in order. For those who are not aware, Math Maze is a very simple brain teaser math based game. The player has to move a purple block across a labyrinth towards the exit. However, there are numerical conditions blocking the way. In order to traverse them, the purple block has to combine itself with operations. Read On →

Learning LibGDX Game Development

Just a quick update this time. A while back I mentioned that I had been doing some technical reviewing on a LibGDX book, and now it’s finally out. Learning LibGDX Game Development by Andreas Oehlke explains the basic features of the mighty framework whilst building a simple platformer from scratch. Even though it isn’t an advanced read, it"ll surely help whoever doesn’t have a huge deal of experience in games development and wants to give LibGDX a try. Read On →

Math Maze 1.3 update

I’m pleased to say that Math Maze 1.3 is finally out on Google Play. This release has quite some more juice than the other ones as it’s the first to feature new content. Here’s the complete list of changes. 5 new levels (total of 40) including the new % operator. Polish locale thanks to my friend Konrad. Bug fixes (first one I found post release!) The module operator gives the remainder of the division and it’s pretty cool because it allows me to add a new layer of complexity to level design. Read On →

Math Maze 1.2 update

Quick update just to let you guys now that Math Maze 1.2 is now live on the Google Play Store. This is yet another update with tweaks motivated directly by incredibly wise and valuable user feedback. Here’s the small list of changes: Added option to disable vibration Now allows to move app to the SD card Increased help text size I cannot thank enough those who are taking the time to play Math Maze and write a small review or send me an e-mail afterwards. Read On →

Math Maze 1.1 update

I released Math Maze 4 days ago and, even though it’s not on any top list of any kind, I"m getting loads of positive feedback through Twitter and Google Play itself. Only 17 ratings but averaging a total of 4.9 stars. Some of the comments might not even come from family nor friends! Impressive, isn’t it? My intent was to make changes as per user feedback and so, today, Math Maze 1. Read On →

Math Maze 1.0 is now on Google Play!

Today Math Maze 1.0 went live on Google Play! Woohooo!! If you don’t know what Math Maze is, please check its dedicated page on this blog. Go, download it, share it with your friends, like the Facebook page, drop me feedback and give it some shiny stars (preferably 5 of them). You won’t be making me rich because it’s a free download and doesn’t feature ads of any kind. However you might help me boost my insatiable ego… Or something like that. Read On →

Holidays: Math Maze update

Oh my… The posting rate has dangerously decreased lately! Before you judge, know that there are a couple of very good reasons for it. First and foremost, I"m on holiday, back in Cádiz, my hometown to enjoy a little bit of sun and work on my tan. It’s a small charming beautiful city with amazing beaches and prohibitively delicious places to eat . Fun fact: its 3000 years of history make it the oldest city in southwestern Europe. Read On →

Book: Learning libGDX Game Development

A few months back, I was contacted by Packt Publishing to see whether I was interested in being a technical reviewer for an upcoming libGDX book, to which I gladly accepted. Titled Learning libGDX Game Development, goes through all the basic features while building a multi-platform project from scratch. Andreas Oelhke, author, has done what I believe to be a pretty good job, mostly thanks to the incredibly practical approach he’s taken. Read On →

Math Maze closed alpha

Math Maze is what’s been keeping me busy after work for the past three months and now it’s dangerously approaching a state I"m happy with. Woohooo! Is your head agile enough to succeed at this math based brain teaser game? Reach the exit of the labyrinth as fast as you can by using operations that will open the conditional blockages. Freshen up your mental calculus without even realising! I just wanted to make a really simple Android game so as to be able to polish it without giving up my job nor my social life. Read On →

About Epic dropping UScript

Last week I went to Develop in Brighton with work, had a great time and attended talks full of insight, so lucky me! While that might very well be a whole post on its own, I want to focus on Tim Sweeney“s interview on the past and future of Unreal Engine and Epic Games. More specifically, on the fact that they"ll be dropping their widely used scripting language entirely towards Unreal 4. Read On →

Exploit Tiled's command tool

Most of my spare time for the last month or so has gone to an Android pet project, which partially explains the lack of activity around here. However, such project gave me a little idea for a short tutorial flavoured article. Level design, practically a synonym of iteration Everybody knows how essential iteration is for games development. Ideas tend to look awesome on paper, yet most of them perform poorly when implemented. Read On →

Freegemas cloned in Google Play. 4 times

That I know of… For those who don’t know, Freegemas was my first libgdx project, which I made in a couple of weeks to learn how to use the framework. Actually, I"m not to take the credit as it’s a silly Java/libgdx port of a game made by an university mate, José Tomás Tocino. Freegemas was originally written in C++ using Gosu and both versions were open sourced under the GPL license. Read On →

Ludum Dare #26: Results

Very early this morning, and after 20 days of voting, Ludum Dare #26 came to an end, giving way to the much anticipated final results. How did I do? Without further ado, these are the scores for Lightbyrinth compared to those of my previous entry. Category Position Percentile (2346 entries) Score Compared to #LD24 Graphics #242 90% 3.57/5.00 -7.03% Mood #326 87% 3.18/5.00 +19.10% Audio #400 83% 2.97/5.00 +10.02% Overall #457 81% 3. Read On →

Managing groups of Assets

Games are resource intensive applications in terms of both memory and CPU time. Offtimes it’s necessary to render hundreds of different sprites on screen whilst playing and manipulating dozens of sound effects samples. Logically, those assets need to be stored in memory and such precious elixir doesn’t come for free. Fair enough, you can probably afford to brainlessly waste some memory on PC when working on small projects but in the world of mobile devices is just the complete opposite. Read On →

LD #26: Lighbyrinth Postmortem

Last weekend was as sleep depriving as rewarding. While I could have easily been surrounded by the joys of procrastination and beer, I went for Ludum Dare #26, as announced in my previous post. Lightbyrinth is the result of that and, despite its flaws, I"m fairly happy with the outcome. Please don’t embarrass me by looking at the source, I was in a 48 hour rush. Lightbyrinth is a light based maze which tries to stick to the “Minismalism” democratically voted theme. Read On →

Ludum Dare #26: I"m in!

Ludum Dare #24 was my first game jam, an experience I found most enjoyable. Sadly, I couldn’t make it to its 25th edition. However, unless something major happens, I"m totally in for Ludum Dare #26 which will take place next weekend. Aiming at respecting tradition I shall post my arsenal of choice, unsurprisingly, they are as follow. Environment: Java + Eclipse. Libraries: libgdx & friends, maybe something from my codebase. Read On →