Project Index

2022 2021 2020 2019 2018 2015 Quick Links


The First Cell is an overhead shooting game programmed entirely in 8086 assembly for the IBM PC/XT, its successors, and the many, many clones to follow. If you have played anything like Robotron: 2084 or Crystal Quest, this should be simple to pick up on.

Version 1.0a Available Now!

Version 1.0a of The First Cell does not fundamentally change the gameplay, but comes in three flavors to ensure you can run the game properly on as many different systems as possible. You can now mute the PC speaker sound as well by pressing the M key.

Download: The First Cell 1.0a (MS-DOS, 15.1 KB)

Download: The First Cell 1.0a (Executable + Alternative Executables + Source Code, 79.2 KB, ZIP)

Download: The First Cell 1.0a (Executable + Alternative Executables + Source Code, 94.2 KB, self-extracting ZIP)

The First Cell is released under a CC0 license, granting maximum freedom to use, redistribute, and modify the program to your liking.


You are a simulation of a single cell residing in a primitive mainframe, one of many which have failed before you, all derived from a powerful multicellular organism elected for the cell template. Being a cell, your life is very simple - win against an endless onslaught of opposing cells. Even in such a seemingly benign virtual microscopic environment, you stand out with unusual abilities like producing piercing cell killers, great potential for reflexing out of otherwise futile situations, and generally a greater will that persists through you even as the odds end up becoming insurmountable.

The cell will inevitably die, but if it fulfills the required outstanding expectations, one day an unstoppable warrior will emerge out of the refined template based on the simulation results, or so some in charge of the project believe. Do you have what it takes to become alive?

How to Play

Assuming you already have this game loaded in a working DOS environment, playing it is very simple. The main objective of the game is to clear out all the enemies in each wave as quickly as possible by shooting them. The arrow keys are used to move the player around, while WASD is used for shooting.

When you start a new game, you are given three lives and three bombs to start with. Bombs can be detonated with the space bar, and are useful for getting out of tight situations, or at least attempting to do so. For every 10,000 points you score, you will be granted an additional life and bomb. However, after attaining 1,000,000 points, bonuses are no longer awarded, so effectively you can only get up to 99 bonuses in a single game. It may seem like a lot, but you'll need them!

If you are using an 83-key XT-style keyboard, 5 on the numeric keypad can be used as an alternate down arrow key, which should be more comfortable.

For more information, please read the README.TXT file.

Questions and Answers

What platforms are supported?

The First Cell is programmed exclusively for DOS. Due to its minimal dependence on the DOS API, I think it should run in PC-DOS 1.0, but I have yet to test it there. If you want to run it on a different operating system, some systems like Windows 95, 98, ME, and OS/2 should already have faithful support for DOS programs like The First Cell. Otherwise, you may be able to run this under NTVDM (in 32-bit versions of Windows NT only), or you can just run DOSBox anywhere else.

How much memory does The First Cell require?

Since everything is contained in a single 16-bit segment, you should only need around 64KB of conventional memory available.

Will this run too fast on a newer machine like something with a Pentium II?

No, because it has been programmed so that every "frame" is bound to each tick generated by the internal system timer. The PIT is sped up significantly to make for much faster gameplay, but a custom INT 8 routine has been written that works with the original one residing in the BIOS so that the 24 hour clock is not thrown way off after exiting the program. The game may actually run a bit slow on an XT due to the sheer number of objects being managed, but not by so much regardless.

Does this game compensate for snow on original IBM CGA adapters?

Mostly. During normal gameplay, you should not see any snow, but a few routines may still output a little bit of snow. I recommend using the original 1STCELL.EXE executable since I see less snow on there, but I'm using an emulator so I can't be certain.

Is MDA supported?

MDA support is provided by a separate executable called 1STCELLM.EXE. It contains slightly different code to ensure the program runs optimally. Similarly, a build named 1STCELL8.EXE uses 80x25 color mode. This build exists to address complaints related to the game not displaying correctly on very modern graphics chipsets that don't support the 40x25 mode. Both can be found in the full ZIP archive alongside the source code and normal executable. Apart from handling different video modes, these programs should be functionally identical to each other.

Does this game save my high scores?

No. While creating a high score data file would be trivial, I want this program to not leave anything new on any disk - the idea is that you fire it up, have your fix, put it away, and your system remains exactly the same as it was before. In the age of a high bandwidth internet, too, you may as well take a picture of your screen to brag about your score or record/stream your gameplay if you need to validate it.


The First Cell: Wave 4

Watch out! Some enemies will dash at you if you cross them.

The First Cell: Gunners

Those devious little happy faces shoot back.

The First Cell: Time Out

If you dangle around too long, more enemies than needed will spawn.

The First Cell: Bomb Detonation

Kaboom! A useful weapon for helping you get out of a pinch.

The First Cell: The Serpents

Suddenly, the classic QBasic game has revolted against you!

The First Cell: Now in Monochrome

Operating an MDA-compatible build of The First Cell.

Gameplay Footage

To give you a better idea of what you're up against... (yes, this is a 4.77 MHz 8088 at work, albeit emulated)

Known Bugs

As of version 1.0, the game may crash in a DOS window running under Windows for Workgroups 3.11, as it will intercept what it perceives to be an illegal operation. The cause of this is not clear; this bug does not occur on Windows 95.

A few video cards may have a problem where the player character irregularly disappears while moving. The AGP version of the ATI Rage IIC is known to do this, although NTVDM seems to negate that bug.

Killing a red timeout enemy may be causing the enemy remainder count to decrease in certain circumstances. While this is not supposed to happen, it MAY be desirable.