Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cpu/wolf
Ultra-Mega-WIP Homebrew Gameboy Game. Black Metal Platformer. GBZ80 ASM
https://github.com/cpu/wolf
bgb black-metal gameboy gbz80 homebrew kvlt rgbds rom wolf z80 z80asm
Last synced: 5 days ago
JSON representation
Ultra-Mega-WIP Homebrew Gameboy Game. Black Metal Platformer. GBZ80 ASM
- Host: GitHub
- URL: https://github.com/cpu/wolf
- Owner: cpu
- Created: 2018-03-12T20:47:36.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-04-08T14:27:59.000Z (over 6 years ago)
- Last Synced: 2024-10-30T06:11:08.863Z (about 2 months ago)
- Topics: bgb, black-metal, gameboy, gbz80, homebrew, kvlt, rgbds, rom, wolf, z80, z80asm
- Language: Assembly
- Homepage:
- Size: 121 KB
- Stars: 2
- Watchers: 5
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![Wolf](https://binaryparadox.net/d/906c1e6f-ab5a-4c41-b56b-4098fcf6ce31.jpg)
## Wolf
Wolf is a simple side scrolling platformer where the screen advances
automatically and the player must react.This is a **ultra-mega-work-in-progress** homebrew platformer for the original
Gameboy. It is written entirely in GB Z80 ASM using
[rgbds](https://github.com/rednex/rgbds) for the assembler/linker toolchain.Beyond simple experimentation Wolf is my first attempt at GB Z80 / Gameboy
development. It will probably never be finished and the code is varying degrees
of unoptimized hot trash.Wolf is **10000%** not finished!
## Development
### Building ROM from source
To, build the ROM [rgbds](https://github.com/rednex/rgbds) must be installed
and the `rgbasm`, `rgblink`, and `rgbfix` commands must be in your `$PATH`.1. Run `make`.
1. Load `wolf.gb` into an emulator, or [onto a ROM
cartridge](https://krikzz.com/store/home/46-everdrive-gb.html) for use in real
hardware.### Development Tools
For development tools [wine](https://www.winehq.org/) must be installed and the
`wine` command must be in your `$PATH`.By default the `Makefile` assumes all development tools are kept in the
`$HOME/wine` directory. If you place yours elsewhere be sure to update
`TOOLS_ROOT` in the `Makefile`.#### Godmode
To aid with testing you can also build the ROM with gravity and death disabled:
1. Run `make clean` to remove any previous builds.
1. Run `make GODMODE=1` to build with no gravity or death.#### Debugging/Emulating
1. Download [BGB](http://bgb.bircd.org/) and place `bgb.exe` in `$HOME/wine/`
1. Run `make debug`**Pro-tip:** BGB can be configured to automatically break on many conditions
that can happen when your code is buggy. Enable **all** of the possible debugger
exceptions that can be found under the **bgp control panel** under the
**Exceptions** tab:![BGB Exceptions
Configuration](https://binaryparadox.net/d/548a91cf-d399-4db2-8035-472a36b486c6.jpg)For more information [see these BGB debugger
tips/tricks](https://github.com/doeg/gb-skeleton/blob/master/docs/bgb.md).#### Tile Editing
1. Download [GBTD](http://www.devrs.com/gb/hmgd/gbtd.html) and place `GBTD.EXE`
in `$HOME/wine/gbtd.exe` (Note the case change, all caps `.exe`'s are
silly...)
1. Run `make tiles`#### Map Editing
1. Download [GBMD](http://www.devrs.com/gb/hmgd/gbmb.html) and place `GBMD.EXE`
in `$HOME/wine/gbmd.exe` (Note the case change, all caps `.exe`'s are
silly...)
1. Run `make map`