Editorial  When you purchase through links on our site, we may earn an affiliate commission. Here’s how it works.

Editorial: A developer's diary on recreating Pokémon: Crystal for the GBA

As much as I hate tooting my own horn, I really take pride in a project that has been under development for the past five years. This project is Pokémon: Liquid Crystal – a Pokémon Crystal remake for the Gameboy Advance (GBA).

What is Pokémon: Liquid Crystal?

Pokémon: Liquid Crystal is a ROM Hack of Pokémon: Fire Red which was initially started by my friend Kristian, who had pretty much completed around 25% of the game’s overall development when he had appointed me to being the co-owner and developer of the project. Nowadays, there are other people on the team who are great assets and will be mentioned later on in this editorial.

The workload between us was quite simple really. Kristian was in-charge of coding, scripting and the assembly and disassembly of our ROM. I was in charge of the graphics – so everything you guys can see in the screenshots below are redrawn from existing images or drawn completely from scratch in Microsoft Paint. We also have a music composer under the name “Magnius” who remixed and recomposed all of the original 8-bit melodies into 16-bit midi’s that we would then use to re-create the greatest unofficial Pokémon game of all time.

The game itself is a Crystal remake and much more. The original Crystal version offered 251 obtainable Pokémon to catch, two regions to explore and 16 badges to acquire. Pokémon: Liquid Crystal, however, offers three regions to explore, 20 badges to acquire, 386 Pokémon to obtain and the same story as the original but with extra twists and story plots. This meant that we had to rid the ROM of all data from Pokémon: Fire Red – which then gave us a brand new, newly-formatted ROM. This space was then used for music, assembly routines, maps, region layouts and general graphics.

The problem with Pokémon games

There is a growing list with Pokémon games which mainly consists of the same story in each and every game, the same predictable events, collecting the standard eight badges and often too many rival battles with the same trainer. We took all of that on-board in-order to motivate us into creating a completely unique experience which compares to the experience Gamefreak give players.

The pros of new Pokémon games

New Pokémon games allow us to understand the mechanics of whatever Gamefreak decides to implement. This includes things like day and night features and overall graphics. We are now at a stage where we can actually port nearly everything from a DS game into a GBA game – providing space on the ROM is sufficient enough to do so.

Why did we even bother?

Well, it was based on the fact that at the time (2007), Nintendo and Gamefreak had just announced Diamond and Pearl for the Nintendo DS and refused to comment on the possibility of a Gold and Silver remake. Kristian and I had decided that regardless of whether Nintendo would remake the fan-favourite game of the franchise, we would re-create the experience anyway.

Obviously, a fundamental difference was that Gamefreak was developing its Pokémon games for the DS and still is – which was obviously quite a step up from the GBA. This meant that everything had to be top quality in Liquid Crystal and almost on-par with the presentation on the DS, so I embarked on a year of creating pixel art in many different styles. Soon after, I came back to overhaul the ROM’s graphics to what you see now, an almost 2.5D-esque look and feel much like the DS games but without the polygons.

Programming and scripting the game

Pokémon games utilize a programming format which is considered scripting because of being more or less in English. Scripting contains commands which are used to execute or create events in the game and this is Kristian’s strong point. Scripting allowed the game to have official, authentic events in a traditional Nintendo style and is probably what has taken the most time to progress through.

The graphics

You could say graphics, are my forté. I live, breathe and bleed graphics – I’ve always been an artist despite never choosing to study it and some of the greatest artwork I have ever created is inserted into Pokémon: Liquid Crystal. Pokémon games structure graphics very differently, depending on where they are used. Sometimes I find myself drawing 16-bit images and other times, I’m drawing 256-color images – so the work load is intense, especially when aside from the Pokémon sprites, I work on some interfaces and general graphics.

Music composition and implementation

The graphics held its own unique feel and still does nowadays, but the music did too. In-fact, the music was probably the biggest implementation that we decided to include in the ROM hack. Originally, nobody in the development scene understood the instruments and voice groups that the Pokémon games would use, which would mean that if you imported music into the game that didn’t match the initial song, drum beats and instruments would “beep” like an 8-bit track.

Our music guy, Magnius, put together some research and figured the voice groups out, whilst Kristian figured out how to expand the song table to give us an unlimited amount of song entries. The songs were then all re-composed or remixed by Kristian, Magnius and myself and we soon found ourselves with the ultimate Crystal experience with decent sounding music. An example of Magnius' work can be heard below:

The assembly and disassembly of the ROM

Although Kristian has done various ASM routines in Liquid Crystal, a programmer by the name "Jambo51" applied some more advanced ASM routines to our project. This allowed us to have multiple encounter themes in certain events from the game, night versions of all existing themes which work in real-time and the ability to battle yourself - as seen in the video below:

When was the last release?

The development discussed so far may seem straight forward but this took four years. Last Christmas, we released beta 3.1 which was the most successful release we’d ever had. Last release, we fixed a lot of bugs and even implemented a day and night system which no Pokémon games on the GBA ever had.

Where are we now?

This year, we’re at a stage now where we’re just finishing off the remaining parts of the game. The game should actually be finished by August - or dare I say winter at the latest. When I checked our downloads page last week, beta 3.1 had over 15,000 downloads. The music is near-enough done, but the graphics and scripts still need work because Kristian and I tend to revise and change them with every release so each beta feels like a new experience.

Want to play it?

Well, due to the risk of possibly breaking some form of infringement under the Pokémon brand name, I can’t directly link to the ROM - even though I have and continue to do on my blog, it is against Neowin’s terms and conditions. However, Google and YouTube is your friend, so just type in “Pokémon: Liquid Crystal beta 3.1” and I’m sure you’ll get the pre-patched ROM by some means. 

Pokémon: Liquid Crystal is for the Gameboy Advance, so unless you own a flash cart for the GBA or DS, you’ll need an emulator to play it. If you have trouble finding the game, get stuck in the game, or simply want to report a bug, feel free to contact me and Kristian on Twitter or alternatively, visit the official development thread for more information on how to play the game.

Remember, if you have paid for it in the past or are required to pay for it anywhere from this point on, you are being ripped off - this ROM hack is intended to be free of charge.

Report a problem with article
Next Article

Internet hall of fame announced by Internet Society

Previous Article

Windows 8 Release Preview coming first week of June

Join the conversation!

Login or Sign Up to read and post a comment.

17 Comments - Add comment