Pocket Mirage
2024-12-20
Introduction
This article contains my memories of working on Polish games for the Game Boy Color and Game Boy Advance platforms at Mirage around the year 2000. It is very subjective and written from the point of view of their lead programmer (so it’s very technical in places). It’s been more than 20 years, and I can’t remember some of the information. The facts are a little fuzzy. If you have any comments, objections, or want your data removed, please contact me.
Game Boy Color ( ゲームボーイカラー )
So, where did this whole interest in the Nintendo console come from? Back in the early ’90s, I got a Game Boy on one of my trips abroad. It was all over the ads at the time. In Poland, it was still pretty much unknown. And, of course, the set included Tetris. After a few months of playing, I decided to swap the console for some Amiga accessories because there weren’t many cheap games available. But the sentiment remained…
A few years later (around 1998), while I was studying, I found a page on the web with information about the Game Boy hardware. I started studying the incomplete instructions and breaking down ROMs from games. I wrote a program that can imitate the behavior of a CPU core. A year later, Hash was created-a GBC emulator. It was the first to imitate the “hicolor” mode (more on that later). Unfortunately, it didn’t support sound at all. Since then, I have been creating software that lets you play games designed for other consoles on my consoles. Later (in 2000?), I joined the MAME development team. Even though it may not be obvious, emulation and emulators played a big role in the creation of HoT. You can read more about that later.
Here’s a brief description of what Nintendo’s GBC can do:
CPU
8-bit Sharp SOC LR35092, based on SM83 core. Switchable Clock 1/2 (or 4/8 - as you prefer) MHz
Memory
32 KB RAM, 16 KB Video RAM, 32KB+ on cartridge
Graphics Hardware
LCD screen 160x144 pixels.
Typical “console/arcade” hardware (iirc used for the first time in the game Galaxian). Tilemaps and tiles (8x8 pixels in 4 colors from 8 palettes).
The graphics are divided into squares (called tiles) 8x8 pixels in 4 colors. The tilemap defines where a given tile is located on the screen (each tile can be displayed in multiple places).
40 sprites (called “objects” by Nintendo) 8x8 or 8x16, based on the same tiles as the tilemap.
We have 512 tiles at our disposal. The tilemap has a size of 32x32 tiles, or 256x256 pixels. On the screen we can display any fragment of it with the size of 160x144 pixels (marked in red on the screenshot below). Additionally, there is another layer (also a tilemap), the so-called window, displayed above the background, used in the game (appropriately manipulating the registers of the graphics system) to display the status, map, pockets and dialogues. Generally, it was necessary to use a lot of different tricks and workarounds to obtain the intended effects on the screen.
Sound Hardware
2 square wave channels, 1 noise, 1 playing short samples. Not much, but you could get some really cool effects.
Controls
8 directional pad and 4 buttons (START, SELECT, A , B)
Mirage
While I was studying, I often used IRC (Internet Relay Chat) to talk with other people. On channels related to emulation (#emu-pl, #emu), I met Lech Buszczyński. He used to be the webmaster of ‘Nostalgia,’ and he worked at Mirage Software. After some time, the idea of making Mortyr a Game Boy Color game was born. I made a simple game prototype and went to the main office of Mirage. I met with the then-CEO of Mirage, Tomasz Mazur. The decision was positive. I also got the contact information for a graphic designer. Adam Karol created the graphic used in several Atari and Amiga games ( Magia, Janosik, Jurajski Sen, Poltergeist). His illustrations were also published in the Secret Service Compendium. After some initial talks, work slowly began. It was probably the mid of 1999. I was studying, and Adam was working. We took care of Mortyr after hours. Mirage’s office was in Warsaw. Adam lived in the northern part of the country (Płock). I lived in southern Silesia (Rybnik). Luckily, we had internet, but the bills were very high. Fortunately, Mirage covered a large part of them. We were able to coordinate everything. Later, Adam stopped working and started creating graphics for the game full-time. I suspended my studies. The project grew and took more and more time. At first, Yerzmyey was supposed to be in charge of the sound, but there were problems with his availability. Krzysztof Wierzynkiewicz was hired to work on Mortyr GBC. His music was used in several Amiga games released by Mirage (Rockstar, Wisielec). He could also be found on IRC (he was the webmaster of the MAME hot page). Lech Buszczyński was the project manager, designer, and scriptwriter from the beginning, although someone else on the team often added ideas. Marcin Konicki and Piotr Tkaczyk also helped with the design in HoT. They created, among other things, “interactive” documentation of several levels as a flash application. After working together with Titus Software (the publisher), Paul Leskowicz became the producer on the French side.
When we were making games for Nintendo consoles, Mirage changed a lot (it started as Mirage Media and then became Mirage Interactive). The ways that CEOs (Tomasz Mazur and Tomasz Sychowicz) and their teams work together have changed. The team was made up of the following people: There were four of us: Lech, Adam, Krzysztof and me. We still worked remotely, but every now and then we had meetings in Warsaw. These were at the Mirage headquarters on Obrońców Street. Sometimes people from Titus would come too. During one of these trips, I twisted my ankle really badly. I still have problems with it today. Later on, I set up a small home office in Rybnik, where three people worked at times (Wojciech Wrona, Jacek Cichopek and me). We had computers, a GBA development kit and a TV (to watch MTV, Cartoon Network and Fashion TV ;) . Later, an arcade machine was placed in the office. There were company barbecues in Silesia and Warsaw. In 2001, a month before the attack on WTC, Lech and I flew to the ECTS in London.
We worked together until the end of 2003. Sadly, most of the projects (all of the GBA ones) only became prototypes. There were many reasons. The most important things were that there were already lots of GBA games on the market and that the publisher, Titus Interactive, went out of business.
After we left Mirage, in 2003, Adam and I created about 12 mobile games. Later, Adam returned to work as a graphic designer and was only a bit involved in game development ( Retroguru ). Krzysztof continues to work in the industry and has been creating professional music for years, including for games such as The Witcher, Bulletstorm, and The Witcher. For several years, I continued to work on games, mainly porting classic games from one platform to another (e.g., Sonic and ChuChu Rocket for Sega) so that they could be played on mobile devices. Later, I spent several years working on business applications and cybersecurity. However, I returned to working on games and classic console emulators.
Adam passed away in 2023....
Titus Interactive
The publisher of Mirage’s GBC games was Titus Interactive. Their financial problems heavily impacted the situation in Mirage’s “handheld” division. The collapse and bankruptcy of Titus ultimately blocked the plans to complete and release the GBA games.
Tools and Utilities
What tools were used during the game’s development?
The most important one was the assembler compiler + linker set. We chose the Rednex Game Boy Development System (RGBDS for short). It was created around 1998, and the source code can be found on Github. It’s a free, unofficial (and much better than the official one) toolset. In addition to that, I used UltraEdit with syntax highlighting configured for assembler. I also used Visual C++ to create custom editors and in-house tools.
Working with graphics was a bit tricky. We used the excellent and free TileBuddy to create graphics and edit levels. The Malaysian company GameBrains, which made GBC games in the late 1990s, released some great tools, including TileBuddy and SpriteBuddy. The first one was used for editing tiles and tilemaps, while the second one was for sprites. We adopted TileBuddy right away and paired it with our own event and object editor (MLE – Mortyr Level Editor), which worked without issues. SpriteBuddy was supposed to be used for future projects, but it was never used.
Later on, Adam started using Pro motion, an excellent pixel art tool that is a bit like the old Deluxe Paint. It also offers lots of support for plugins and add-ons. For a long time (up until version 6), I tested this tool as a programmer and I recommend it to everyone.
The graphics went well, but the sound was much more difficult. There were several companies offering their services, but their approach typically involved providing custom-composed music along with a playback library. The costs were usually very high.
The solution was created by Paul Bragiel, who was running Paragon5 at the time. Paragon5 was a company that specialises in developing software and music for the GBC. I had met Paul before (he was very active in the demoscene). He provided us with Beyond Tracker (also known as p5 Tracker)-an excellent tracker that allowed us to compose chiptunes specifically for the Game Boy Color.
All the data stored on the cartridge was compressed. Mirage licensed ProPack (RNC), a popular and widely-used compression tool across many platforms. This allowed us to fit a substantial amount of data into the game while maintaining very short (essentially unnoticeable) decompression times.
To test HoT, I sometimes used emulators. I changed and rebuilt my own (called Hash) to make it better for development work. This resulted in MD Mortyr Debugger. However, the Game Boy Color hardware has many limitations. For example, the video memory can’t be accessed while the screen is being drawn. Many emulators had trouble with this, so it was important to test the game on real hardware.
For this, we used an Xchanger. Though mainly designed for running pirated games, it worked perfectly for development. Of course, it didn’t offer the same features as Nintendo’s official devkit, but it was much easier to obtain (and much cheaper).
Additionally, I had my own C3 (Carbon Copy Card) for testing-a genuine Nintendo cartridge with its ROM replaced by a Flash ROM. The Xchanger “almost” perfectly emulated a GBC cartridge but didn’t fully replicate the behavior of MBC (Memory Bank Controllers). HoT was intended to use MBC5 and support 8 Megabits of ROM, which led to the idea of adding anti-piracy measures.
By setting a specific ROM bank switching sequence, the game would produce different results on a real Nintendo cartridge compared to the Xchanger. I wrote a rather nasty (but removable) self-modifying code stored in RAM that tested the MBC in several ways during key moments in the game and would subtly alter the gameplay if it detected unauthorized hardware. 😉
Unfortunately, like several other ideas, the publisher shot down this anti-piracy plan. It was odd since other games had similar protections. The only downside of my method was that it required testing the game on a CCC, the official Nintendo devkit, or an emulator that accurately simulated MBC behavior (such advanced emulators came out later).
Speaking of the devkit-just to get ahead of things-here are a few photos of this device (which allows you to run, test, and debug games on the console) in its “multiplatform” version (supporting both GBC and AGB):
Testing (which basically meant playing, playing, and more playing) was done by everyone-us, other Mirage employees, and even our families. Looking back now (and after working on other projects), I have to admit that we lacked some “outside perspective”. People who are deeply involved in a game’s development often don’t see its flaws or catch obvious bugs. They know how to play it “the correct way” and tend to overlook alternative approaches, even when they’re illogical.
A solid QA team and a project backed by tons of test scenarios are essential. The publisher did have their own QA team, but from what I remember, the testing wasn’t particularly thorough.
Hands of Time GBC ( Working title: Mortyr )
“I’ll start unusually, with music (created by Krzysztof) from the game . You can listen to it here. I recommend it (especially track 02) as background music while reading this text.
As I mentioned before, the game was supposed to be a mini version of Mortyr for PC (although Titus recommended changing the name to “Hands Of Time”). However, only the general outline of the story was meant to be shared. Instead of an FPS, the version for the Nintendo handheld console became a mix of an adventure and action game. The player controls Sebastian Mortyr, the son of a famous scientist. His father sends him back in time to save the world (as often happens in games).
We have a top-down view, similar to Zelda. The game is quite large: an intro + 8 levels. Each level is divided into blocks sized 256x256 pixels (with a 160x128 pixel section visible on the screen, smoothly scrolling within the block). In total, there are over 200 different blocks. There are a dozen or so characters to meet (and talk to) and dozens of items to find and use. Interactive elements are usually indicated by a red ”!” above Sebastian’s head. Completing the entire game takes some time, though you can use a detailed walkthrough if needed.
In the early levels, you mainly fight soldiers. Additionally, rats and spiders dwell in the underground areas. Later, after the time machine is blown up, the storyline takes a slight horror turn. Ghosts, zombies, skeletons, and similar creatures start to appear. Here and there, you can also find references to other games.
The game was released in two versions, differing in the box and cartridge artwork. The first one-with a black background-was created by Adam. The second was prepared by the publisher, and only this one (?) received final approval. However, after some time, the game appeared with the original artwork. This is likely a reissue or a separate US (or EURO) version. Similarly, RoboCop (described below) also has two different box/cart graphic versions.
A warranty card (!) and a user manual in several languages were included with the game. Below are photos of the English section:
Here’s a little fun fact - besides the above official (and therefore legal) versions, Hands of Time can also be found on several pirate xxx in 1 compilations. Still available on Aliexpress ;)
What happens if you insert the Hands of Time cartridge into a regular Game Boy instead of a Game Boy Color? You’ll see the screen below. This was one of Nintendo’s requirements. The entire game had to comply with a series of regulations, which were checked by Nintendo after receiving the final version. Every game released for an N console had to go through what’s called a Lot Check.
Hands of Time was rejected twice. The first time was due to language errors (in the English version). The second rejection was because of the use of an unauthorized Nintendo logo. Every game is required to display a licensing screen for a set number of seconds at startup, showing a message like “Licensed by Nintendo”. However, the word Nintendo can’t visually resemble the official logo (to avoid implying it’s a first-party Nintendo production). In our case, it looked too similar… But on the third submission, there were no more issues.
The record for most rejections probably goes to another Titus game, the flagship Titus the Fox. After numerous failed attempts, the publisher had to personally negotiate the release terms with Nintendo.
But all of that still pales in comparison to what Apple does today with apps and games waiting for review (also mandatory before being published on the App Store).
The publisher decided on six language versions. At the beginning of the game, the player selects their preferred language. As is often the case with translations, issues arose-mainly with the length of certain words (especially in the German version).
To check the correct display of texts and convert them into the format used in the game, a special tool called TextC was used. It displayed all dialogues exactly as they would appear on the console screen.
The (animated) title screen lets you start the game, rewatch the intro, or enter a code. Unfortunately, there was no option to save your game progress. The publisher was cutting costs, and battery-backed memory on the cartridge (used for saving progress) was seen as an unnecessary extra expense.
Access codes for individual levels can be found below, in the level descriptions. Additionally, KXYU activates cheat mode, and DOXC takes you to the credits.
Before each level, a stylized game map is displayed, highlighting the location of the upcoming stage.
You control Sebastian using the D-Pad. A quick double-tap in any direction makes him run. The A button is used to interact with objects and talk to characters. B lets you fire the currently equipped weapon (there are several, including grenades). Enemies respawn after being defeated, which makes things more challenging. Overall, the game is quite difficult, and it’s easy to die. Helpful items like medkits and “shields” are scattered around - the shields temporarily reduce incoming damage (but don’t block it entirely).
Pressing START opens Sebastian’s backpack. There’s plenty of space: 12 slots for items and 8 for various weapons, including grenades. However, your main tool for extermination is a pistol with unlimited ammo.
At the publisher’s request, the SELECT button brings up a simple schematic map of the current level, showing only the areas you’ve explored. This was meant to help players navigate. Moving the cursor over the map provides extra info about locations (e.g., “Church,” “House”).
In HoT, in addition to walking “on foot”, you can move around by several other means of transport. In three cases (tank (Castle road), transporter (Secret lab), boat (Swamps)) special areas were marked off that cannot be crossed on foot. Only armor (or rather “mech suit”) allowed free movement throughout the entire level (Castle Cathedral). We also have four additional versions of the status bar.
First versions of the game (before the title change) support for a printer (Game Boy printer) was also implemented, which was supposed to allow printing the current map. The printer itself was borrowed from one of the Mirage employees. However, Titus did not like this idea and it was “killed”…
Below are a few words about each stage (plus codes for Easy and Hard versions).
Intro
Introduction. A cutscene showing how the professor and his son get into the laboratory. Sebastian is sent back in time to change history. The whole thing was based on a special scripting language that controls animations.
Castle Road ( DDCA / BXCL )
The road to the castle. The first (and probably the longest) stage of the game. A lot of open space, a few buildings to visit, underground tunnels. In addition, a retractable bridge and a piece of rails. The enemies are mainly soldiers. We also have a piece of training ground to drive through with a tank.
Inner Walls ( ZWJX / VHRV )
Behind the castle walls. A village (or rather a small town). Buildings (a laundry, a hospital) and an airport with hangars. Lots of sightseeing, dressing up, and sometimes scaring people. The 'Evil Agent' appears for the first time, sent to follow us into the past.
Tunnel ( YSEI / XIJH )
Tunnel. A relatively short level - an abandoned tunnel leading to a castle. Using levers, keys (sometimes a picklock is useful) we have to find the exit. On the way, repair the defective mechanism. The enemies are "only" mice and spiders. The former are a bit undersized, compared to the others we will meet later.
The Castle ( QTWW / ZOUY )
Castle. Large level. Lots of rooms (including the most important one - the kitchen, of course). Additionally, we explore the underground / sewers, where we have to find a lost (again) key. The main goal is to get to the secret laboratory.
Secret Laboratory ( EOVU / JVYP )
Laboratory. Finally, our main goal is near. We move around the laboratory and the ventilation system (quite wide ...). The fans are deadly, of course. You also have to watch out for zones with increased radiation (as in every laboratory ... ). Towards the end, a bit of transporter driving, blowing up the time machine and the first meeting with the Evil Agent.
Castle Cathedral ( KLQS / MMNE )
Cathedral. This is where it gets tough. Really tough. Because blowing up the time machine has its complications. Lots of mutants, spiders and collapsing platforms. We need to find a new weapon - a blaster (ammo is replenished near the blue bottles). And kill. Another key element is the mech suit. And a boss to defeat. And then another encounter with the Evil Agent. Slightly changed (mutated).
Cemetery ( APHH / LYVV )
Cemetery. For me, this is one of the cooler levels, inspired a bit by the game Ghosts'N Goblins. Others (reviewers, players) consider it to be very (too much) different from the rest. Amateurs... To quote "I realized the makers of this game were definitely smoking something when they made this level".   Swamps ( ZXOL / PMAI )
Marshes. Here, a partial (???) return to normal. We can (or rather - we have to) sail the boat, collect a few bells and eliminate the boss. We are hindered by zombies and ghosts (which is quite normal). Nothing special. As it is in marshes.
Weapon Labs ( YOTX / LCIO )
Laboratories. The final stage of the game. Locations known from the intro. Sebastian can use teleports (after finding the card). Lots of obstacles, including lasers shooting from the walls
At the end of the description a small bonus. Scans of a few notes/sketches.
The game has received average reviews (from 4/10 to 6/10). To quote the author of the walkthrough:
In my opinion Hands of Time is an okay game. It's nothing spectacular, but it's not infuriating, impossible, or full of bugs, either. Give it a shot. You'll figure out soon enough if it's the sort of game you want to complete.RoboCop GBC
Towards the end of work on Hands of Time (i.e. around December 2000) Titus asked for another game for GBC. In express mode. Heck, lightning fast. From what I remember, it had to do with the elusive license for the title MGM obtained from RoboCop. Other studios cooperating with the publisher were working on versions for GBA, PS2, XBOX, etc. (with poor results..). The publisher wanted to release the game as soon as possible. We had about 3-4 months to work on it. I was finishing HoT and at the same time I took care of RoboCop.Wojciech Wrona (with experience in programming on C64) joined the team. Paweł Kalinowski (long-time Mirage associate, worked on Mortyr PC) was responsible for the game design and level design. Lech was the producer and PM. On Titus’ side, Paul Leskowicz was responsible for production. Adam took care of the graphics and Krzysztof composed the music. In Rybnik, in my home, I created a small office, where Wojtek and I worked on the game code and tools.
We decided to use similar technologies as in HoT. The TileBuddy duo + our own level editor worked well. So, based on MLE, we created (RoboEdit).
Initially, the game used hicolor mode for all static screens. And there were a lot of them: the title screen, the police station (a few screens), pre-mission briefings, TV news. The effect was really cool. Unfortunately, Titus banned hicolor early in the production. I converted the graphics using GiQ to 4 colored tiles in 8 palettes. Dithering, no colors. It looked bad. Adam drew some of the screens from scratch, the rest were left because of lack of time for corrections. Why the sudden change? The publisher stated that hicolor significantly increases battery consumption and Nintendo would reject the game. Indeed, the batteries died quickly, but several games (including Alone in the Dark) successfully used hicolor.
The conversion from hicolor mode to GBC format was possible, among others, thanks to the aforementioned tool called GIQ (Genetic Image Quantizer). It was a fairly simple converter, which, based on genetic algorithms, tried to find the best possible match of graphics settings (palettes, colors, dithering). Its disadvantages were the high load on the system and the operating time. It took several good hours to find the optimal conversion settings. Due to a hardware failure, I was working on a California Access laptop borrowed from Mirage. However, due to a disk failure, it did not stay in my place for long. It did… warm up. The laptop was just a side function. CA was really a heater. A miniature sun standing on the desk and heating the entire office. Starting the laptop + GIQ set (slightly tweaked in the task manager, priority set to Realtime) for the night turned out to be an interesting experience. In order to improve airflow, I placed the computer on a few empty Zip disk boxes (I used the Zip drive to create backup copies). In the morning, it turned out that the laptop, boxes, and desk had become one hot, plastic block. But the graphics came out cool.
Back to RoboCop. A cool and interesting game scenario was created, based on the connections between criminals and the city hall and the control of everything by artificial intelligence (Mind). The locations were drawn.
The game’s “engine” itself was slightly improved: more sprites, smoother background animations (more frames). Unfortunately, there was no time for a basic change - larger, dynamically built sprites (integration with the SpriteBuddy tool was supposed to serve this purpose). The mechanics were very similar to HoT - several dozen scrolling 256x256 screens. The game itself had a completely different, typically arcade character. There was no collecting items, dialogues, vehicles, etc. Just a shooter with a large number of weapons to choose from (obtained / discovered in subsequent levels).
However, something did not quite go as it was supposed to. Robocop is unfortunately considered one of the worse games on GBC. Many flaws and lack of time left their mark on this production. To this day, I am not sure whether Titus sent the correct, final version to production or whether it went to beta. Like HoT, there were two cover versions available.
The entire setting of the game was made in (like the movies) a cyberpunk climate. Each of the missions (except the eighth, the last one) begins at the police station, where you can read the latest news and messages on the terminal, talk to your partner Lewis or check what new things Lazarus has prepared in the weapon lab. Usually, all of the above activities are necessary to start the actual mission. The levels were very diverse, including: a landfill, offices, warehouses, an oil platform. RoboCop’s opponents are mainly gangsters and cyborgs. The game also features characters that we shouldn’t shoot at: policemen and civilians. RoboCop automatically identifies who is who.
Level codes: AGFHGH, UYFVCB, UYGFVJ, BNAJKH, MNJSGG, NBXZHJ, PONBVA, JHBVRP, LKJSHA.
Cheat mode: BACAXL
Rainbow Fish GBC ( Prototype )
GBC’s last foray into Mirage was a project with the working name “Rainbow Fish”. The game was to be created for a Canadian client (it is possible that it was Teletoon the cartoon producer - I don’t remember the details) and based on an animated series (which was based on a children’s book) of the same title. Adam drew some graphics (background - seabed and sprites - various creatures, animated air bubbles, etc.). The code - due to the completely different (from other productions) nature of the game - was written from scratch. Unfortunately, the project was canceled very quickly. Too bad - it was supposed to be a set of cool (designed by Lech) mini-games for younger players, including races, DDR-style “dance”, mazes, puzzles, etc. It ended up being just a piece of code and graphics.
Game Boy Advance ( ゲームボーイアドバンス )
Rainbow Fish was the last project (or rather the last attempt) related to the Game Boy Color. It was already 2002 and the GBC’s successor - Game Boy Advance took over the portable console market.
It seemed natural to switch to a newer platform. A natural - but not entirely easy task. First of all - the demand for official development kits (and consequently - a writing license) was huge. There was a looooong queue for Nintendo hardware. A queue that was shortened at some point - N came to the conclusion that the market was already saturated (even oversaturated) and would not give away any more devkits (of course not for free, the cost was several thousand $). Of course, you could get a devkit from a publisher and connect to it with a license, but having your own gave you full independence. Lech had already talked to Nintendo about the devkit. The order had actually been placed several months earlier. However, for various reasons it was put on hold (if you don’t know what I mean…). After further talks, it turned out that it was, unfortunately, too late. But not entirely. It is not known what arguments Lech used, but one afternoon a Servisco courier knocked on my door (does anyone still remember?) with a package from the main office. Inside was THIS. After some extra stuff purchases (220V/110V converter, SCSI card), I managed to start it up and from there it only got better.
There is another story connected with devkits. One day, a slightly nervous Lech called me, asking if I had ordered something expensive for the company. It turned out that there was a development kit ProDG waiting at customs. I remembered that a few weeks earlier, while browsing the SN Systems website (the manufacturer of ProDG), I had expressed my willingness to test their tools (SNC compiler, system libraries) for GBA. However, testing was connected (which I did not read) with sending (for free …) the devkit. After the test period, you could return it, or buy a license (or use a keygen …). Although it was free, the customs office (after finding a proforma invoice in the shipment) added customs duty and tax to pay. Ultimately, they managed to avoid any fees and the orange / blue box remained in the Warsaw office at Obrońców 2c for a long time.
You could also “go wild” with music. No longer limited to simple sound synthesis, the GBA also features advanced sample playback. Krzysztof created several great modules, which were used in subsequent projects (or rather, they passed from project to project, but let’s not get ahead of ourselves).
AGE - Advanced Game Editor
My first task was to create a good tool for editing game levels. This is how AGE - Advanced Game Editor was created. I wrote it (in C++ using only Win API, without MFC… in retrospect, it was unfortunately a mediocre idea) and improved it for several months. I added missing “features” as I went along. As a result, a really advanced combine was created, allowing editing tiles, metatiles, tilemaps, sprites, collisions, events, color palettes, and many, many other key elements. In combination with the appropriate code on the GBA side (also written in C++ - it was no longer tinkering with assembler like in the GBC times), it gave really great possibilities. Below are three screenshots from the editor:
Sgt. Cruise GBA ( Prototype )
The first GBA project was Sgt. Cruise. A game made for a publisher (Titus …), intended to be a younger brother of versions (PC and Xbox, GC) created by X-Ray Interactive (responsible for Kao The Kangaroo, among other things). I worked on the AGE editor and - together with Wojtek - on the game code. Adam created the graphics. The hardware capabilities of the GBA were much greater - it did not have to limit itself to 4 colored tiles. It could go wild with 16 (or even 256 - depending on the mode) colors. Unfortunately, the project was closed somewhere around 2 playable levels and a whole bunch of prepared graphics (some were used in the VShooter prototype - more on that below). Digging through the archives, I found mostly level maps built for AGE. The rest (code, test versions, character graphics) are still waiting to be dusted off. The game had a comic book-like, slightly (?) mocking nature. In short - it told the story of the adventures (in a sci-fi climate) of Sergeant Cruise. It was a typical shooter modeled on arcade classics: Commando, Ikari Warriors or Shock Troopers. The plan was to shoot, run, fly, and drive a tank. Some of the graphics were also created by Sławomir Bubel, who in the meantime started collaborating with Mirage.
Space Marines GBA ( Prototype )
Sergeant Cruise smoothly evolved into Space Marines - Mirage’s own project with a similar theme. The gameplay was to be improved. The plot expanded. Two characters to choose from (male/female), the third (Minhty the cat), controlled by the game, was to support the player and help in key moments. Lech prepared the entire game concept, documentation and design of the first levels. Adam started by drawing great concept art and the work began.
The nature of the game changed (exaggerations and caricatures disappeared) and the style of graphics changed. A 180-degree turn - all the materials created for Sgt. Cruise went “to the ground”. The point of reference was to be the works created by Dan Malone. Adam created a whole bunch of great looking background elements, sprites, gadgets and animations. The game’s 2D engine was already very developed. I added a few weather effects (rain, fog), a “lightspot” in the underground. We gave up on moving vehicles and flying. Everyone put a lot of work into the project. And that’s basically where it ended… (see Rambo III).
In the meantime, Jacek Cichopek joined the Rybnik team (on Wojtek’s recommendation). He was mainly responsible for the tedious (very) creation and editing of levels. As needed, I added new functions to the AGE editor (including several “desks” between which larger map elements could be copied), but level design / building was still a painstaking job.
It was the summer of 2002. Lech was going to the ECTS fair in London. So we prepared a special version of Space Marines with one playable level:
VS GBA ( Prototype )
VS (Vertical Shooter) was a game - a demonstration intended for the ECTS fair. Part of the graphics (backgrounds) came from the dead Sergeant Cruise project. The rest (explosions, fake status, objects) was done “quickly” by Adam. Programming a simple shooter with vertical scrolling didn’t take much time. Jacek and I put together one level in A.G.E. The general idea was to show the engine’s capabilities and find a potential publisher for the game. In case of failure, the work was to be continued, but with lower priority than other projects.
Haunted Manor GBA ( working title: Willy’s Mansion) ( Prototype )
I initially worked on this title (still known as Willy’s Mansion) alone (using temporary graphics from Bomberman and SC, among others). As a result, a very simple technical demo was created. Then, a separate team, consisting of Janusz Dąbrowski (known from ‘Hans Kloss’ on C64, among others) and Sławomir Bubel, took care of the project properly. The plot of the game was simple: we inherit an old, haunted house from a relative. We have to get rid of all the ghosts and spooks. The whole thing was to consist of 75 levels, divided into 5 zones: garden, house, underground, cemetery, attic. The gameplay mechanics were similar to the classic arcade game Pengo. In short: by pushing “blocks” we kill opponents. Janusz made a working, playable demo of the “garden” with cool graphics by Sławomir. Hedges moved and connected. You could collect keys, kill werewolves and ghosts. The main character in the top hat slightly resembled the one from Heartland. Unfortunately, from what I remember, only the first zone was created.
Rambo III GBA ( Prototype )
During work on Space Marines Titus contacted us and suggested making a game under the license of the movie Rambo III. Another “good change” came and SM was put aside. The code could be reused, but the sci-fi graphics were no longer appropriate for most of them. On the left, a level sketch from a design doc; on the right - a level built by Jacek.
Sławomir Bubel prepared the title screen, Adam Karol started creating new graphics. From cars, helicopters, through buildings, fortifications, underground warehouses and living quarters to complicated sprites (Rambo, Rambo with a bow, Rambo on a horse, Rambo on a horse with a bow… ;) etc.) Krzysztof Wierzynkiewicz made the music. A playable demo was created (with one level)…
And that was the end. Unfortunately, that was the end of the cooperation with Mirage. All projects “went to carbonite”.