Pirates once circled the world's waters, commanding the seas and seizing its bounty. But the tides of fortune shifted when they began hunting for Greek treasure. Hidden within the island of Crete, Pandora's infamous box lurked, but it appeared pure and tempting like a small case of jewels. The pirates greedily opened this box, and Pandora's evils poured across the land.
Travel through vast terrains, searching for ancient evils while defeating pirates, forming friendships, and plundering treasures. Restore peace, so trade routes prosper and provide livelihood for hardworking thieving pirates.
-
src/
contains source code for building the game -
res/
stores visual resources in the game -
tools/
clones various development tools:
- tile designer to edit the
res/*.gbr
files - emulicious to run the GameBoy ROM.
- hUGETracker to compose
res/wellerman.uge
- romusage to view the GameBoy ROM bank space
./romusage game.map -gA
Bank Range Size Used Used% Free Free%
---------- ---------------- ----- ----- ----- ----- -----
ROM 0x0000 -> 0x3FFF 16384 16002 97% 382 2% |░███████████████████████████|
ROM_0 0x4000 -> 0x7FFF 16384 12124 73% 4260 26% |████████████████████▒_______|
WRAM 0xC000 -> 0xCFFF 4096 918 22% 3178 77% |_▓█████░____________________|
build/
has the most recent ROMs for different systems
-
To play the game, move the release or
build/gb/Heirs of Nyx.gb
ROM into your emulator / flash cart. -
To build it from source, follow GBDK's guide.
-
Run
export GBDK_HOME=/path/to/gbdk-2020
Once the environment has been built, run:
make gb
There should now be a new Heirs of Nyx.gb
file in the build/gb/
directory.
Alternatively, you can upload the ROM to an emulator site like @Juchi's GameBoy emulator and run it. To use Emulicious.jar
, install the Java runtime (openjdk-*-jre
) and run java -jar Emulicious.jar
.
Features:
- Custom tileset
- Color palette
- Super Game Boy Background
- 16×16 Metatiles (sprites and backgrounds)
- Procedurally-generated map
- 16-bit generation
- Menu
- Start screen
- Items
- Gold / Maps
- Weapons
- Equipment
- Enemies
- Music
This game uses xorshift noise to generate its landscapes. The algorithm is based on Hugo Elias' tutorial.
Here is an example of the map array generated. Using unsigned 16-bit integers, (x, y), as seeds means that there are 2^16 x 2^16 tiles of landscape. The map is so large, in fact, that walking from one end to the other takes over 3 hours.
I'm using a global function found in noise.c
, so much like No Man's Sky, everyone can see the same world; however, the starting positions can be varied. Additionally, everything from enemies to items are spawned via the same algorithm. This is useful since optimizing noise.c
further will lead to an entirely faster game.
Please enjoy the grand adventure this game offers in only 32KB!