Homebrew SpelunkyDS

0xdbeef

Member
OP
Newcomer
Joined
Jun 12, 2018
Messages
18
Trophies
0
Age
123
XP
242
Country
Poland
Homebrew port of the PC game Spelunky Classic made by myself. Not yet done (there are jungle, snow, and lava city levels to be implemented) but already much work is done! :)

I attach the .nds but if anyone wanted to see the most recent version and the code, it's on my github:
https://github.com/dbeef/spelunky-ds/releases

Instructions:
Nothing fancy, just copy .nds to the R4 and run with the moonshell.

Bugs can be reported on github, any contributions appreciated!

Also, short youtube presentation:


The controls are:
Left bumper to enter room,
Right bumper to sprint,
Left-right arrows to walk,
B to jump,
Y to whip,
X to throw a rope,
Y to take a bomb (but you have to press Y to activate it and Y again to throw it)
 

Attachments

  • spelunkyds.nds.zip
    599.9 KB · Views: 413
Last edited by 0xdbeef,

0xdbeef

Member
OP
Newcomer
Joined
Jun 12, 2018
Messages
18
Trophies
0
Age
123
XP
242
Country
Poland
Multiple short sounds like whip, bomb or jetpack are implemented - I had music for a while but it stretched binary size to over 3.3 MB and it could not be run anymore (weird errors on moonshell) - then I've read about nitrofs, didn't know it works in a way it appends the binary with sounds so I was scared that my binary is still too fat even with using it (I thought I would just put the soundbanks on R4 card with the binary), but as I know it now, I will fix it soon :P

Edit: but it's worth adding that I tried streaming music from nitrofs filesystem and it worked in desmume! I just panicked with the binary size (not joking)
 
Last edited by 0xdbeef,

0xdbeef

Member
OP
Newcomer
Joined
Jun 12, 2018
Messages
18
Trophies
0
Age
123
XP
242
Country
Poland
I do the code mostly weekends or after work, so the progress won't be amazing (I am learning libnds since February, and making SpelunkyDS since March) but I like it much and the project will continue
 
  • Like
Reactions: Tarmfot and Swampat

Swampat

The swamp monster that pats the ground
Member
Joined
May 25, 2017
Messages
238
Trophies
0
Age
27
XP
230
Country
United States
Well keep up the amazing work. I'm looking forward to what you are able to accomplish.
 

0xdbeef

Member
OP
Newcomer
Joined
Jun 12, 2018
Messages
18
Trophies
0
Age
123
XP
242
Country
Poland
Thank you :D I will make sure to post here major updates. As a new member I can't post any links but just reminding - my github is <github url>/dbeef/spelunky-ds
you can find there latest .nds and code
 
Last edited by 0xdbeef,
  • Like
Reactions: Swampat

Swampat

The swamp monster that pats the ground
Member
Joined
May 25, 2017
Messages
238
Trophies
0
Age
27
XP
230
Country
United States
I've been playing a bit and I got to say it's pretty good. Once new levels are implemented it will be perfect but take as much time as you need.
 
  • Like
Reactions: 0xdbeef

0xdbeef

Member
OP
Newcomer
Joined
Jun 12, 2018
Messages
18
Trophies
0
Age
123
XP
242
Country
Poland
I've just uploaded a new version both here and on Github, what's new is:

* Shop + shopkeeper
* Arrow traps
* Better level generator
* A few bugfixes and even more new bugs :lol:

Regarding music, I still didn't work it out, sorry for that.

If anyone of you have a 3DS XL / New NDS 2 XL / NDSi XL and have a bit of time, I am asking for uploading a video for me where you play SpelunkyDS on it,
I would upload it to my development vlog on Youtube (just curious how does it look, as I own only the original NDS).

Bugs I am aware of:

* Though overall randomness of the generator is improved it sometimes makes some ugly structures, to be fixed later
* I messed up a bit with collision detection
* Arrow trap is triggered even if there's a tile (or tiles) between some moving object and the trap
* Once thrown chest can't be opened
* Sometimes there's a level where there are spikes just hanging in air
* Sometimes you can loose your items (shotgun, pistol) when changing levels
* UI bugs - you can throw rope / drop bomb in scores screen
* Damage system appears to be broken in terms of shopkeeper (you can't throw arrows, rocks, jars, etc on him)
* There's a bug when carrying damsel while sprinting through spikes
* There's a bug when jumping on more than one NPC (snake, bat, etc) at the same time
* Displaying loot in level-transition screen
* Shopkeeper is quite dumb, easy to steal
* Bullets can collide with jetpack, so it can work as a bulletproof vest
* Blood drops / bullets can trigger arrow trap

To be added in next version(s):

* Music
* Skeleton NPC
* Pause
* Jars dropping loot
* Ghost when spending too much time on level
* Shake screen when dropping a bomb
* Attempt to make levels a bit bigger (current size is 512x512, what I can probably make is 1024x512 or 512x1024, though not sure of that)
 

Attachments

  • spelunkyds_1.1.nds.zip
    599.3 KB · Views: 195
Last edited by 0xdbeef,

0xdbeef

Member
OP
Newcomer
Joined
Jun 12, 2018
Messages
18
Trophies
0
Age
123
XP
242
Country
Poland
I've been playing a bit since the last upload and found out there's a new bug that may rarely cause changing palette colors on the bottom screen which makes game looks funny but unplayable, sorry for inconvenience

Edit:
I did a short video highlighting things that I added in this version:

Summing things up - You want to have fun with little, not painful bugs - play 1st review, you want to check new things and ocasionally be mad at bugs - play the second one.
 
Last edited by 0xdbeef,
  • Like
Reactions: SLiV3R

bobrocks95

Well-Known Member
Member
Joined
May 9, 2007
Messages
105
Trophies
1
XP
495
Country
United States
Looks awesome! I managed to crash the game very quickly though... Entered the first level, picked up a chest then dropped it, spawned a bomb, then threw it next to the chest and the game froze after it exploded. If a crash log is created I can send one to you.
 
  • Like
Reactions: 0xdbeef

0xdbeef

Member
OP
Newcomer
Joined
Jun 12, 2018
Messages
18
Trophies
0
Age
123
XP
242
Country
Poland
Thanks! I've got some feeling on where I messed up the code so no need for logs (as they're not even created, lol). I will fix it probably this week (I feel bad for releasing next version too early but at the same time it adds some fine features).
 
  • Like
Reactions: Swampat

RocketRobz

Stylish TWiLight Hero
Developer
Joined
Oct 1, 2010
Messages
16,613
Trophies
3
Age
24
XP
21,032
Country
United States
So I looked at this post, and about what you said here,
I had to remove music from the .nds binaries, you see, the binary as it is, with only sprites packed into it, is ~600kB. With simple sounds like one for the whip or jumping ~1.2MB. Things get hard when music comes in, it is over ~3.3MB with main menu / title song which causes crashing moonshell and prompting an “too large binary file” error.

I wrote a prototype of SpelunkyDS using nitrofs – it streams music from the R4 card, not from the binary itself. Works good enough in desmume, but when copying to the card and trying in moonshell, it can’t find a filesystem.
Problem is, to use nitrofs is to use a specific firmware, which is nds-hb-menu.
One can also use DSiMenu++ to load homebrew ROMs with NitroFS, and DSiMenu++ supports both retail and homebrew ROMs.
Whether it's on a flashcard or the DSi/3DS SD card, homebrew will read NitroFS from it's .nds file, if either nds-hb-menu or DSiMenu++ is used instead of Moonshell, so we won't have it complaining if the .nds file is too big. :P
 

0xdbeef

Member
OP
Newcomer
Joined
Jun 12, 2018
Messages
18
Trophies
0
Age
123
XP
242
Country
Poland
Huh, didn't know that! Totally will try it, I am such a newbie in terms of bootstraping homebrew apps.
Thing is, I'm currently changing my job and doing driver's license, alas, I recently did no feedback with SpelunkyDS, had busy time (but don't think the project is abandoned or something!).
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: hi