#1GAM February: weekly progress 2

This hasn’t been a particularly productive week for my One Game a Month quest. Luckily enough, it wasn’t completely wasted as some stuff has, indeed, been done. Coding after work and taking care of so many other things it’s unsurprisingly tough. I"m still looking for that guy who sells hours, so I can append them to a regular day. Except for the art, I pretty much did everything I promised. Actually, it’s better if I make a game first and then worry about the art, as I learned from my Ludum Dare experience. Read On →

#1GAM February: weekly progress

One week ago I posted about the initial game design for my February One Game A Month entry. I believe, it’s time to report back with the work I’ve done during the past seven days. Actually, I’ve realised how good an incentive is to leave written proof of what you intend to do in advance, forcing yourself to deliver just to avoid the public humiliation. What I have so far Without further ado, here’s the update. Read On →

#1GAM February: game design

It’s February already! What kind of madness is this? Anyhow, that means it’s time to start working on this month’s entry for One Game A Month without further ado. This time I promise not to shamelessly make a port of an existing game and go for a brand new project instead. Shall this initial design article serve as the compromise I"m making to see this game to completion. I believe the following game concept to be simple enough for it to be achievable within a short month like February. Read On →

Beware memory allocation

I bet you already know that keeping memory allocation under control in real time applications is absolutely essential. Bad memory management in non garbage collected languages, say C++, results in irresponsible footprints. $deity forbid we incur in a std::bad_alloc exception! That can be a deal breaker for mobile phones or consoles. However, the other family of languages is what really haunts me. In Java, for instance, the consequences of not giving a monkey’s about memory won’t necessarily make your game crash. Read On →

2D Character creation and animation. For dummies

Hang on a second… An art article written by a programmer? How do you dare? This is madness Well yes, so deal with it. Life is hard for us programmers, who can’t always find a committed artist (rare species) to work with in our projects. Yet we stand as heroes, eager to create games. It saddens me how often we see ourselves forced to produce low quality assets, I"d never call that art. Read On →

#OGAM: Freegemas HTML5

The HTML5 version of Freegemas is a project I’ve wanted to get around to finish for a long time. Finally, it greatly pleases me to say, it’s done and you can play it right here, right now. Play Freegemas Freegemas HTML5 runs on any browser that supports WebGL. If you"re an unlucky Internet Explorer user, you then deserve to be deprived of the joys Freegemas has to offer. Anyways! As some of you may already know, my work here consisted in simply porting the original Gosu game to Java and libgdx so it"d run on JVM desktops and Android. Read On →

One Game A Month

Your quest is to try to create one new game each month. This challenge is meant to help you on a personal level. There are no prizes, signup fees or rules. It might sound crazy optimistic, but you CAN do it. These are the opening lines on the One Game A Month website, an initiative by Christer Kaitila aka @McFunckypants (author of The Game Jam Survival Guide). I came across this insane quest just over a week ago and I’ve given it a lot of thought before accepting it. Read On →

Will they steal my code?

Creative people usually make a big deal out of authorship and honestly, who can blame us? We"re passionate about our work! Producing something that doesn’t entirely suck entails sweat, tears and numerous sleepless nights. The open source world is inherently tricky and raises many concerns regarding ownership. Open source is a tradeoff The story of our lives isn’t it? Making your project open source is a tradeoff. On one hand you are more likely to achieve certain level of exposure. Read On →

New to games? Just make games

Disclaimer: this text is aimed at games programming beginners. Diving into games development for the first time is exciting but offtimes confusing, a great piece of advice would be: just make games. Get things done, period. I’ve often found myself researching which available technology would suit my requirements best, as if I needed a sophisticated tailored tuxedo. The fear of finding a dead end was as powerful as counterproductive. Such a time wasting approach. Read On →

Programming books, personal picks

A friend recently asked me about which either general or games specific programming books would I recommend. The true and legendary must read. I answered him directly as I was feeling lazy about posting a comment on each one of them but here I am now. Nevertheless, before going straight to the list, please bare in mind that just like any other best of [insert year here] collection, this is simply a matter of opinion. Read On →

Talk: How do I get into the Games Industry?

I’ve recently been to Spain, not only to spend some quality time with family and friends but to deliver a presentation at my home University. It was basically about how the Games Industry work, how we make games at Crytek UK and what should a Computing Science student do in order to find a job in such a field. Anyways, it was quite nice coming back to where all this began and I"d like to thank my professor Manuel Palomo for making this possible. Read On →

GLEED2D level loading system for libgdx

Update: the system had been moved into the official libgdx repository as an extension but then it was removed. Gleed doesn’t support basic features such as relative paths for textures. I"m happy to announce that I’ve made my first contribution to a relatively big open source project. I feel honoured to contribute to the brilliant libgdx framework with these humble loader and renderer for GLEED2D levels. Hold on, what the hell is that? Read On →

My projects migrated to GitHub

I’ve been a busy bee lately but here it comes yet another post with a piece of not so relevant news related to my projects. Even though I’ve always been kind of sceptical about GitHub, I’ve finally decided to migrate most of my projects. After getting a bit deeper into the libgdx community over there, I’ve come to see the benefits of this self proclaimed social coding platform. Forking, pulling and giving/receiving feedback is easy and motivating (kind of a must when working on side projects). Read On →

Ludum Dare #24 results are live!

Ludum Dare #24 voting round is over and Evolution – The Survival of the fittest did… Okey. To be honest, this doesn’t come as a surprise at all if you look at the postmortem I posted right after the jam ended. Here are the results for my entry. Graphics: 3.84 #87 Humor: 2.62 #201 Audio: 2.68 #272 Mood: 2.67 #352 Theme: 2.63 #469 Fun: 2.21 #619 Overall: 2.45 #628 Coolness: 40% #719 Innovation: 1. Read On →

ID generator, avoiding string comparisons

Disclaimer: IDGenerator is being used in SionEngine and it’s an useful but rather simple approach to the problem described in the paragraphs below. Needless to say that in games development we care very much about performance. It becomes an even more critical issue when we"re dealing with non native languages such as Python, C# or Java (being the later my case in these dire times). One of the countless things that can negatively impact performance in games are strings comparisons. Read On →

Abstracting platform specific code in libgdx

One of the main reasons I"m working with libgdx is its multiplatform capabilities. With very little effort you can target desktop (Windows/Linux/Mac), Android and WebGL able browsers. The problem comes with the “little” in the previous sentence. The developer is supposed to share the code base between all targets but sometimes it"s necessary to provide platform specific behaviour, maybe because a feature is not available in every device or just to adapt the product better to the target. Read On →

SionEngine, a libgdx based system

Note: I’ve decided to remove the repo for now as I feel that it’s still too rough around the edges. Other open source projects that share this codebase are, however, available on my GitHub profile. I’ve been working with libgdx for a few months now and I love every aspect of it, except maybe the fact that it’s only compatible with Java but don’t worry about me, I"ll survive. Being able to target desktop (Windows/Linux/Mac), Android and HTML5 with very little effort it’s just too awesome. Read On →

LD#24: Evolution Postmortem

Play the game! Ludum Dare #24 is over after an exhausting crazy weekend but, above all, it´s been a ton of fun. Joining the Dare has proven to be an excellent idea and I believe it"d be right to say it’s has not gone too bad after all, considering it was my first time. Here’s a little postmortem on the experience. Evolution – The survival of the fittest The competition’s theme was Evolution so I went for a classic 2D platformer starred by a funny caveman who has to get through the level while killing dinosaurs by jumping on them or throwing rocks which he collects himself. Read On →

Ludum Dare #24: I'm in!

This weekend I"ll be joining Ludum Dare #24, the crazy 48h solo game making online competition. Pick the tools of your choice but everything has to be made from scratch, and according to a theme selected by the community through strict democracy. Last edition got over 1000 submissions, so it looks really promising. I"m gathering with a couple of friends from work in some sort of LAN game jamming party and there will be food aplenty, fun times. Read On →

Indie Game: The Movie

It’s the sum total of every expressive media of all times made interactive, how is that not awesome! I recently watched with a few friends Indie Game: The Movie, a documentary that shows the development process of a few independent small budget games and what drives their authors to work in such a competitive industry. I was fairly excited about watching it since the trailer highlighted some of the reasons I chose this career path. Read On →

Urban Race has been freed

A few months ago I developed Urban Race, a very simple (and quite lame) time attack racing game using XNA. It was a University project so I couldn’t release the source until it was graded but then, I totally forgot about it. Recently, a reader asked me to publish the source and here we are. Please, bare in mind it’s for educational purposes, it was developed in one month without previous knowledge of neither C# or XNA and it’s not intended to be a fully playable product. Read On →

Localisation for libgdx projects

Warning: Libgdx now counts with localisation support, rendering this approach obsolete. Edit: I just added UTF-8 support Localization is a key aspect in games, specially if you want to reach a wider audience. I recently ported Freegemas to the libgdx platform and, as the original one, I wanted to ship it with multi-language support. There is no such a thing as gettext for Java and I didn’t see the Android internationalization system as a good fit in a multiplatform development. Read On →

Getting started with libgdx, Freegemas!

I can’t believe it’s been almost three months since I started at Crytek UK, time has passed amazingly fast! Nevertheless, I’ve managed to get some stuff done game development wise. I’ve always wanted to jump into mobile and that’s what I’ve been doing during the last couple of weeks. May I present you Freegemas libgdx edition! It’s basically a libgdx port of the original Freegemas, a simple Bejeweled like C++ Gosu puzzle game developed by José Tomás Tocino who I have to thank for the neat original code and the excellent art. Read On →

I just got hired by Crytek UK!

I can finally say it out loud: I just got hired by Crytek UK as a junior programmer! In case you were wondering, yes, they are the same guys that pulled the Crysis saga together using their jaw dropping CryEngine, and now they"re working on games like Homefront 2. Their British studio is based in Nottingham, so I moved here a couple of days ago and I really like the city so far. Read On →

Recent projects and future changes

Lots of stuff has happened since I last posted something here. Crazy Eramus life, you want to do everything: projects, social life, studying… So, logically, the blog has been a little bit left behind. I just wanted to post a quick update about the two university projects I’ve been working on recently: Laterdroid: Read it Later client for Android created using the official SDK. Urban Race: time attack racing game developed using C# and the XNA framework. Read On →

Getting started with XNA: Urban Race

As if I didn’t have enough work, I recently started another project which has an early deadline. For the Advanced Games Programming module here at Kingston University we have to develop a game for Windows and Xbox 360 using C# and the XNA framework. The final deadline was in a month counting from the start date and, halfway through the development, we had to show a demo. That’s how Urban Race began just a week ago, in this post I"ll talk about the game and my first impressions on XNA. Read On →

Official open source PlayStation Move library

Just a quick update: Sony has released moveme, an official and open source PlayStation Move API that enables developers to create Windows and Linux applications controlled using Sony’s famous wand. You can read more about the library in the following paragraphs. They have published a C/C++ version and a C# one. Within the Google Code repository you can find the sources for all the versions, some sample programs and a brief but accessible documentation. Read On →

Flocking behavior demo

I’ve just finished this simple flocking behavior demo based on the 3 Reynolds rules: separation, cohesion and alignment. It was part of a coursework for the Strategy & Intelligent Games module I"m taking here in Kingston University. I know it’s not precisely pretty but at least the boids are moving in a nice way. It’s written in C++ using the despicable Open Scene Graph library (such an uncomfortable API). Read On →

Evolve: submitted prototype

I’ve been working quite hard in Evolve, the PSP First Person Shooter prototype I"m developing for the Advanced Games Programming module here at Kingston University. The submission deadline is getting dangerously closer and I’ve had to crunch a little bit to get the basic features I wanted to include and be able to write a report on the game. In the following lines I"ll give my impressions on the development and at the bottom you"ll find a doubtful quality trailer. Read On →

Evolve: early stage demo

Yesterday I had an in class demo at university of my PSP First Person Shooter prototype, Evolve. The professor was impressed with the software engineering behind the system so, apparently, it went quite well although the project is in a very early stage of development. As always, I was in the games lab (it’s becoming my second home), so I recorded a video of the demo to keep track of the process. Read On →