All Projects → JoaoBaptMG → gba-modern

JoaoBaptMG / gba-modern

Licence: MIT License
An attempt to create a Game Boy Advance game using Modern C++

Programming Languages

C++
36643 projects - #6 most used programming language
assembly
5116 projects
Makefile
30231 projects
c
50402 projects - #5 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to gba-modern

HeartLib
Comprehensive API for Nintendo GBA inspired by HAMLib and HELlib.
Stars: ✭ 23 (-61.02%)
Mutual labels:  gba
Emblem-Magic
An all-purpose ROMhacking tool for the GBA Fire Emblem games
Stars: ✭ 15 (-74.58%)
Mutual labels:  gba
save-file-converter
Converter for retro console save files found around the Internet. All common formats for NES/SNES/GBA/N64/TG16/SMS/Genesis/Neo Geo/PS1 supported. Decrypts PSP saves. Converts to and from Retron 5 and MiSTer
Stars: ✭ 56 (-5.08%)
Mutual labels:  gba
gba-sprite-engine
An object-oriented Game Boy Advance sprite engine concept
Stars: ✭ 68 (+15.25%)
Mutual labels:  gba
GBAATM-Rebirth
From the original source code a new rebirth, to add a Trainer in your GBA roms!
Stars: ✭ 26 (-55.93%)
Mutual labels:  gba
switch-gba
Browser based Nintendo Switch GBA Emulator
Stars: ✭ 75 (+27.12%)
Mutual labels:  gba
PokemonRNGGuides
A repository of Pokemon RNG abuse guides
Stars: ✭ 62 (+5.08%)
Mutual labels:  gba
gba-mus-ripper
(Not actively maintained) A fork of Bregalad's "GBA Mus Riper" program
Stars: ✭ 50 (-15.25%)
Mutual labels:  gba
trick
Library for GBA/NDS image conversion, and more!
Stars: ✭ 23 (-61.02%)
Mutual labels:  gba
Pumpkin-Engine
A powerful and capable 2d game engine in Kotlin
Stars: ✭ 1 (-98.31%)
Mutual labels:  game-engine-2d
ohrrpgce
Official Hamster Republic RPG Construction Engine (mirror of SVN repository)
Stars: ✭ 49 (-16.95%)
Mutual labels:  game-engine-2d
smaghetti
A web based level editor for Super Mario Advance 4, the GBA port of Super Mario Bros 3
Stars: ✭ 31 (-47.46%)
Mutual labels:  gba
awesome-emu-resources
A curated list of emulator development resources
Stars: ✭ 26 (-55.93%)
Mutual labels:  gba
LightMask
A tiny 2D header-only flood-fill lighting engine
Stars: ✭ 71 (+20.34%)
Mutual labels:  game-engine-2d
Emuloader
Emuloader is an application that allows easy management of game backups locally or on the cloud and one-click installs of emulator enivronments
Stars: ✭ 55 (-6.78%)
Mutual labels:  gba
eggvance
A Game Boy Advance emulator.
Stars: ✭ 59 (+0%)
Mutual labels:  gba
gba-pong
Classic pong game on the GameBoy Advance.
Stars: ✭ 23 (-61.02%)
Mutual labels:  gba
pimpmobile
Pimpmobile - music playback for the Nintendo Game Boy Advance
Stars: ✭ 20 (-66.1%)
Mutual labels:  gba
meta2d
Meta2D is open source WebGL 2D game engine for making cross platform games.
Stars: ✭ 33 (-44.07%)
Mutual labels:  game-engine-2d
Hades
🔥 A Nintendo Game Boy Advance emulator
Stars: ✭ 44 (-25.42%)
Mutual labels:  gba

gba-modern

The objective of this project is to aim to create a Game Boy Advance game using C++17, while employing generators to the assets of the game.

Building

Warning: currently the project does not work in a Windows environment! Use WSL to build it on Windows.

Warning: this repository uses submodules, be sure to initialize them properly by cloning this repo using the --recursive or then using the command git submodule update --init after cloning it!

This project consists in a toolkit written in C++17 to generate assembly files for the resources (tilesets, maps and sprites as of writing), and it also includes the source files of the game, written in C++17. The included Makefile makes sure all the files are properly built. It requires a g++ which supports C++17 (possibly every Linux distribution has one). It also requires the freetype library, and also the unzip package, since it might not be installed by default in some distributions! Once all of those are done, you can properly make the project, and the ROM will be available in the path bin/game.gba.

Screenshots and Videos

Working video | Bitmask test video

Image 1 Image 2 Image 3 Image 4

Contributing

All contribution is welcome. If you have interesting things to add, please submit a pull request!

Credits

All files in this repository with exception of specific libraries and the fonts located in the fonts foder are Copyright (c) 2019 João Baptista de Paula e Silva and are under the MIT license.

Niels Lohmann's "JSON for Modern C++" library can be found here and is also under the MIT license.

The LodePNG files belong to Lode Vandevenne and can be found here also under the zlib license.

The font monogram.ttf belongs to Vinícius Menézio can be found here under the CC0.

The font Sweet16.ttf belongs to Martin Sedlák and can be found here under the Boost Software License.

The library GCE-Math used by generating LUTs belongs to Keith O'Hara and can be found here under the Apache-2 License.

The font Spleen, used on the "Game Pak removed" screen, belongs to Frederic Cambus and can be found here under the BSD-2 license.

Finally, the graphics for the "Game Pak removed" screen belong to Damian Yerrick (aka pinobatch) and are licensed under the CC0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].