New Homebrew: Robo-Ninja Climb
Moderators: pcwzrd13, deluxux, VasiliyRS
-
- shadow
- Posts: 8
New Homebrew: Robo-Ninja Climb
Robo-Ninja Climb is a new homebrew game I just ported to Dreamcast. It's a simple action game, guiding Robo-Ninja up through a series of jumps dodging spikes.
I've previously made versions of the game for NES and Atari 2600, and this version uses the NES codebase as a starting point. This is my first Dreamcast homebrew, so I was pretty excited to see my game running on the system!
Let me know if you have comments or feedback!
I've previously made versions of the game for NES and Atari 2600, and this version uses the NES codebase as a starting point. This is my first Dreamcast homebrew, so I was pretty excited to see my game running on the system!
Let me know if you have comments or feedback!
-
- Wazza
- Posts: 1249
- Dreamcast Games you play Online: I haven't played any dreamcast games online yet.
But I'm planning to do so soon.
Re: New Homebrew: Robo-Ninja Climb
Nice to see another dreamcast hombrew game.
The screenshot of the game, looks nice dude. Cool!
I have a few questions....
What game engine did you use, to make the dreamcast version of this game?
Or did you write your own code and game engine, to make it playable on dreamcast?
Also, great work gauauu!
The screenshot of the game, looks nice dude. Cool!
I have a few questions....
What game engine did you use, to make the dreamcast version of this game?
Or did you write your own code and game engine, to make it playable on dreamcast?
Also, great work gauauu!
Last edited by beanboy on Sat May 11, 2019 6:44 pm, edited 4 times in total.
- TacT
- Uber
- Posts: 1053
- Dreamcast Games you play Online: Q3A
PSO
AFO
PBA
CCR
PlanetRing
Toy Racer
Pool
4x4 Evo
Tetris
Starlancer!
Monaco
POD
Re: New Homebrew: Robo-Ninja Climb
That's cool Can't wait to try it out on DC . It is so exciting to see a game ported running on dreamcast! XD
-
- shadow
- Posts: 8
Re: New Homebrew: Robo-Ninja Climb
Thanks! Let me know if you have trouble with it. It's my first DC game, so it's possible I've missed something.
I'm using Kallistios. Beyond that, it's just my own code. All the game logic code I just reused from my NES version, but replaced all the I/O bits with Dreamcast-specific code.I have a few questions....
What game engine did you use, to make the dreamcast version of this game?
Or did you write your own code and game engine, to make it playable on dreamcast?
- megavolt85
- Developer
- Posts: 1934
Re: New Homebrew: Robo-Ninja Climb
do not use RAMDRIVE for storage of big files, in the future you will feel the shortage of RAMgauauu wrote: Let me know if you have comments or feedback!
place files to CD
-
- shadow
- Posts: 8
Re: New Homebrew: Robo-Ninja Climb
Is that the same as a ROMDISK? I figured I was probably better off eventually learning how to move my files out of that and into the proper disc filesystem, but didn't bother for now since everything fit. Do you happen to know of any good examples or documentation about the best way to do so? (all the KOS examples that I looked at used the ROMDISK)megavolt85 wrote: do not use RAMDRIVE for storage of big files, in the future you will feel the shortage of RAM
place files to CD
- megavolt85
- Developer
- Posts: 1934
Re: New Homebrew: Robo-Ninja Climb
example
sfx_powerup = snd_sfx_load("/rd/audio/powerup.wav");
replace to
sfx_powerup = snd_sfx_load("/cd/audio/powerup.wav");
in root directory your CD create folder audio and put powerup.wav
all simple
small trick
main.c
main.c
mc.c
now game support VMU LCD and PURUPURU (vibropack)
sfx_powerup = snd_sfx_load("/rd/audio/powerup.wav");
replace to
sfx_powerup = snd_sfx_load("/cd/audio/powerup.wav");
in root directory your CD create folder audio and put powerup.wav
all simple
small trick
main.c
Code: Select all
#include <kos/thread.h>
maple_device_t *jump_pack = NULL;
static const char vmu_icon[] =
{
"++++++++++++++++++++++++++++++++++++++++++++++++"
"++++++++++++++++++++++++++++++++++++++++++++++++"
"++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++.......++++++++++++++++++"
"++++++++++++++++++++++...+......++++++++++++++++"
"+++++++++++++++++++++............+++++++++++++++"
"+++++++++++...++++++.............+++++++++++++++"
"+++++++++++....++++...............++++++++++++++"
"+++++++++.......+++...............++++++++++++++"
"+++++++++++.............++.........+++++++++++++"
"++++++++++++++.........++++....+++.+++++++++++++"
"+++++++++++++++++.+...+++++++.++++++++++++++++++"
"+++++++++++++++++++..+++++++++++++++++++++++++++"
"+++++++++++++++++++...++....+....+++++++++++++++"
"++++++++++++..........+++++.....++++++++++++++++"
"+++++++++++......+++...++++......+++++++++++++++"
"++++++++++..++...++++.............++++++++++++++"
"++++++++++++++.++++++..........++.....++++++++++"
"+++++++++++++++++++++........++++......+++++++++"
"+++++++++++++++++++........+++++++.++...++++++++"
"++++++++++++++++++....+...++++++++++++++++++++++"
"+++++++++++++++++.....++..++++++++++++++++++++++"
"+++++++++++++++++....++....+++++++++++++++++++++"
"+++++++++++++++++...+++....+++++++++++++++++++++"
"+++++++++++++++++...+++....+++++++++++++++++++++"
"+++++++++++++++++....++....+++++++++++++++++++++"
"+++++++++++++++++.........++++++++++++++++++++++"
"++++++++++++++++++.......+++++++++++++++++++++++"
"+++++++++++++++++++.....++++++++++++++++++++++++"
"++++++++++++++++++++++++++++++++++++++++++++++++"
"++++++++++++++++++++++++++++++++++++++++++++++++"
"++++++++++++++++++++++++++++++++++++++++++++++++"
};
/* font data */
extern char wfont[];
Code: Select all
int main(void) {
// dbgio_dev_select("fb");
// dbgio_enable();
jump_pack = maple_enum_type(0, MAPLE_FUNC_PURUPURU);
vmu_set_icon(vmu_icon);
pvr_init_defaults();
Code: Select all
extern void start(void);
extern maple_device_t *jump_pack;
void mc_dead(void) {
if (mc_fadedTimer > 0) {
return;
}
sfx_playSound(SFX_HIT);
if (jump_pack)
{
static purupuru_effect_t effect;
effect.duration = 0XFF;
effect.effect2 = PURUPURU_EFFECT2_UINTENSITY(1);
effect.effect1 = PURUPURU_EFFECT1_INTENSITY(7);
effect.special = PURUPURU_SPECIAL_MOTOR1;
purupuru_rumble(jump_pack, &effect);
thd_sleep(20);
purupuru_rumble(jump_pack, &effect);
thd_sleep(20);
purupuru_rumble(jump_pack, &effect);
}
if (mc_health > 0) {