Chrisoft::Bullet Lab Remix
Meet the power of open source!
Notice

All development of Bullet Lab Remix ceased in 2017, and as of August 2023 there's no plan to resume. In fact it's probably never going to resume unless I literally have a brain tumor.
Overview

BLRIII menu screenshot
Bullet Lab Remix is an open source game project and an attempt to further develop styxtwo's BulletLAB (Original link, dead). Level design is heavily influenced by the Touhou Project. However, this is a strange game with its own style.
(Surprisingly, this game has native Linux support!)
System Requirements

Bullet Lab Remix supports almost all modern i386/amd64 computers. See Readme in the game folder for details.
Development Status

[20150912] Bullet Lab Remix III is now in its main development phase.
[20150614] Bullet Lab Remix III first development phase finished... The whole development folder can be found here.
[20150217] Bullet Lab Remix II 1.0.0-0 completed! Get source code Here!
[20130828] Bullet Lab Remix I 1.0.3 (stable release) Released!
Distribution

Click here to visit the download folder. All versions -- from BLR I o BLR III Test Bed are there, including the original modded flash version.
To get the source code, please check out the project git repository. I unfortunately no longer have the sources for the modded flash version, but any decent Flash decompiler should be helpful here.
Screen Shots

View Screen Shots Here (not maintained and outdated).
Untold back story of the project

The year was 2012. I was a high school freshman deeply sucked into the Touhou rabbit hole. (yeah, yeah, I know. Weeb and nerd stuff. But calling me a weeb isn't appropriate since I myself is Asian...) One day when I was randomly roaming on the Internet I noticed the game "BulletLAB". I played it for a bit, and thanks to my Touhou addiction I cleared the entire game in medium difficulty on the same day. It turns out if you are accustomed to Touhou-level bullet hell (well, I wasn't even that good back then, only playing the normal difficulty. And it was all down hill from there), this game is pretty much a walk in the park.

"This game needs some desperate help," so I thought. So I busted out my flash decompiler and adobe flash (both pirated, of course). Before long a modded version came into being. Basically I buffed the sh*t out of certain levels and, cough cough, totally play tested all of them (not the truth lol). I also removed momentum from player movement completely since that's a completely foreign concept to Touhou players.

But soon I found myself strangled by the poor performance of Flash. The game quickly slows down to a crawl when there's too many bullets on screen. I had to move on to something other than flash.

Coincidentally I was playing another shooter game called "Beat Hazard" at the time. I learned about the 2D game engine "HGE" by going through its game files. Soon enough I started rewriting the entire game using HGE and C++.

By the following year (early 2013), the first iteration of Bullet Lab Remix entered maturity. Thanks to the hardware accelerated nature of HGE, it ran at a solid 1000 FPS on my crappy laptop. And no - the code does not look good, thanks to my competitive programming entrenched ass.

At around the same time, I started daily driving Linux, which gave me the motivation to port the game to Linux. I found out hge-unix, a port to hge to any platform supported by SDL. Without much trouble, a Linux port was soon released. Unfortunately I didn't learn how to write a makefile until years later, so for quite a long time these games are built with a shell script.

Soon after I started the development of Bullet Lab Remix II, this time almost exclusively done on Linux. I took a much more liberal approach designing the levels, that is, completely unhinged from the original game and taking direct inspiration from Touhou. Some levels are even just blatant rip-off of Touhou spell cards. The game took shape fairly quickly and entered finalizing phase in 2014, at which point however I got stuck in trying to come up with in-game music for it. Untalented and unfamiliar with music production tool, it wasn't an easy task for me back then.

While I was busy worrying about the music, I also ported HGE to DirectX 9 on Windows, which turned out to be a trivial task as DirectX 9 kept almost everything from DirectX 8 and is more or less a find-and-replace job. I also started experimenting with extending the feature set of HGE, giving it basic support for rendering 3D-transformed sprites and 3D objects, as well as truetype font rendering. With these new features I started working on a new secret project called BLRScriptTestBed in which I tested all these new library features and laid down the foundation of what was supposed to be the level scripting engine used in BLR III.

But time was merciless. Before I could come up with a single track of my own, my free time is almost up -- it was the final year of high school and I'm soon facing the National College Entrance Examination (more notoriously known as "Gaokao"). I had no choice but to give BLR II a rushed finish. I pulled a few (2, to be precise) tracks from modarchive.org, chopped them up as the tracks, and called it done.

In the final year of my high school, during which I had to actually attend classes instead of doing my competitive programming nonsense, I was planning for the third game non-stop. I had an entire notebook that contains nothing but level design, code design and supposed story line for BLR III. All that effort turned out to be in vain though, because the third game, as you already know, is never finished.

When I started college in 2015, development of BLR III briefly resumed for a bit. Curiously the first thing I decided to do is to fork HGE, perhaps because I decided that I've outgrown this purely 2D-oriented engine. The original fork wasn't too much of a divergence from the original at all. I just unified the original HGE code base and hge-unix's code base, merged my added 3D and truetype functionalities, and called it my fork. Later the fork was given a major API overhaul, migrated to GLFW instead of SDL and rewritten in OpenGL 3.2, at which point I gave it the name "SMELT".

Development continued fairly smoothly until late December 2015, when I decided I need to start a new project (now known as QMidiPlayer). I was super passionate about this new project, so passionate that I already have a prototype with 3D MIDI visualization by mid January 2016 (which is also implemented using SMELT). This new project quickly took precedence over everything about BLR III. With that and my decreasing interest in danmaku (or bullet hell) type games in general, unsurprisingly, BLR was neglected to its final demise.

If you ask me if I've ever got anything out of this project, I'd answer that with a definite yes, despite that there are few people outside of my tiny circle that know the existence of this game. Besides the priceless experience dealing with accelerated graphics and a few other programming tricks, the most significant self-discovery from the project is that ... I should probably never work on a game on my own again.

Ah yes I forgot to apologize for the terrible l33t haxxor style of the page. Average 16yo behavior.

Copyright Chrisoft 2015  About  Site Map