RoboRun (NES)
RoboRun
TechnologyNative C/C++ port (engine reimplementation)
View official projectAbout the project
RoboRun es un videojuego de plataformas publicado por cBlck en 2019.
Official project information

RoboRun-NES
RoboRUN-NES is open-source 2D-platform game written in C using CC65-compiler for NES homebrew projects to check limitation of C against CC65 Assembly. Initially this was meant to upload in NESDev competition 2021 but unfortunately the deadline was over so couldn't submit there. :(
Game Features :
Multiple Levels with different enemies.<br/> Invincible state with star and player animation.<br/> Countdown timers for low health.<br/> Collision detection with Hitbox mechanism.<br/> Improved Graphics and sounds.<br/> Supports only PAL/Dendy . video region.<br/>
Code Features :
Easy to understand and well written.<br/> Uses structures for Player/Enemy/Collectables instead plain c-array/vars.<br/> All libraries used are well documented.<br/>
Game title : <br/>
<br/>
Game Help : <br/>
<br/>
Game Total Score : <br/>
<br/>
Gameplay levels : <br/>
<br/>
<br/>
<br/>
Final level : <br/>
<br/>
RoboRun-NES gameplay on YouTube :
Directory Structure :
build - Contains final build of game along source code in assembly.<br/> cfg - Contains various configurations that can be used in different type of NES games .<br/> chr - Contains CHR Graphics tileset used in this game.<br/> gfx - Contains all Graphics related items used in game like Player/Enemies levels etc .<br/> lib - Contains libraries used Neslib by Shiru and NesUtils by Doug Fraker and NesClib by myself .<br/> music - Contains music and sound effects created using Famitracker and Famitone2 lib .<br/> sfx - Contains sound effects used in this game also created using Famitracker & Famitone2.<br/> palettes - Contains different palettes used in game.<br/> res - Contains resources for this README. .<br/> scripts - Contains Tiled custom scripts for exporting data directly to C-Code.<br/> src - Contains full source code of this game.<br/> utils - Contains various utils for Meta sprites and Sounds.<br/> tools - Contains various necessary tools used for creating game resources graphics/sounds etc .<br/> .vscode - Contains extensions for Visual studio code to run your NES C-Code directly.<br/>
How to build/Run :<br/>
PRE-REQUIESTE :<br/>
You need to download CC65-compiler first and the it to your system PATH variable. after that add your favourite emulator also to your system path for testing.<br/>
Game can be compiled and run using 2 different methods.<br/> 1)Windows Batch file method.<br/> 2)GNU Make file method.<br/>
Batch file method :<br/>
Just run Compile.bat file and it will automatically compile and build game along music.<br/> Or run BuildGame.bat provide arguments like this BuildGame.bat RoboRun-NES.c mesen to try on mesen Emulator.<br/>
GNU Make file method :<br/>
Run command make or make compile then after it run make run.<br/> To clean the build of game run make clean.<br/> To support your own emulator edit Makefile change EMULATOR = fceux to EMULATOR = your emulator.<br/>
Software tools used in making this game :<br/>
1)Tiled: For game Level designing. <br/> 2)FamiTracker: For Sound and music.<br/> 3)NES Screen Tool(NESst): For Intros/Outros and game titles.<br/> 4)yychr: For game sprites editor. <br/> 5)meta2c: For converting meta-tiles and meta-sprites to c code.<br/> 6)NES-Sprite-Convertor: For converting resources PNG/BMP to CHR.<br/> Most of these tools can be found under tools directory.<br/>
New tools and utilities.
To create this game i had to create some of my own tools so i created some tools/utils and helper library.
1)Tiled export plugins: Helps you to export map created in Tiled to C-File or Assembly file directly.<br/> Check Scripts/Tiled folder for ExportCpp and ExportAsm plugins.<br/>
2)NES-Clib: A custom helper library to load HUD and title/intros and randomize palette and more.<br/> Check lib/nesclib.h and lib/nesclib.s<br/>
3)Meta-tiles convertor: Converts meta-tiles to c code (Originated by NesDoug).<br/> Check utils/meta2c.exe for source check utils/meta2c.c<br/>
NESDev open-source community Contribution list :<br/>
1)Shiru: For contributing to various libraries/tools to open-source community. <br/> Work: Neslib,Famitone2,NESst,Space Checker,Sort and more. Check Website
2)NESDoug: For contributing to various tutorials/tools to open-source community. <br/> Work: Open source Platformer games and Utils Nesdoug.h Check Website
3)Mojontwins: For contributing to various games/tools Game engine for C to open-source community.<br/> Work: MK1_NES Game engine,Super Uwol,cheril_perils,sgt_helmet, and tools like mkts,eneexp3,rle44mapMK1 etc. Check Website<br/>
4)Chriscpp: For contributing to modular game engine aKa Nes starter kit to open-source community. <br/> Work: Modular Game engine,Nesnet,nes-c-boilerplate and more. Check Website
If you think someone is missing from list then please create PR and expand this list thanks.<br/>
VERSION INFO :<br/> RoboRun Version : V 1.0 Dated : 30/03/2021.<br/> RoboRun Version : V 1.1 Dated : 06/04/2021.<br/>

