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: 196
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,614
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
  • K3Nv2 @ K3Nv2:
    How do you know if the night will be good when you're asleep
  • BakerMan @ BakerMan:
    because i didn't say i was asleep
  • BakerMan @ BakerMan:
    i said i was sleeping...
  • BakerMan @ BakerMan:
    sleeping with uremum
  • K3Nv2 @ K3Nv2:
    Even my mum slept on that uremum
  • TwoSpikedHands @ TwoSpikedHands:
    yall im torn... ive been hacking away at tales of phantasia GBA (the USA version) and have so many documents of reverse engineering i've done
  • TwoSpikedHands @ TwoSpikedHands:
    I just found out that the EU version is better in literally every way, better sound quality, better lighting, and there's even a patch someone made to make the text look nicer
  • TwoSpikedHands @ TwoSpikedHands:
    Do I restart now using what i've learned on the EU version since it's a better overall experience? or do I continue with the US version since that is what ive been using, and if someone decides to play my hack, it would most likely be that version?
  • Sicklyboy @ Sicklyboy:
    @TwoSpikedHands, I'll preface this with the fact that I know nothing about the game, but, I think it depends on what your goals are. Are you trying to make a definitive version of the game? You may want to refocus your efforts on the EU version then. Or, are you trying to make a better US version? In which case, the only way to make a better US version is to keep on plugging away at that one ;)
  • Sicklyboy @ Sicklyboy:
    I'm not familiar with the technicalities of the differences between the two versions, but I'm wondering if at least some of those differences are things that you could port over to the US version in your patch without having to include copyrighted assets from the EU version
  • TwoSpikedHands @ TwoSpikedHands:
    @Sicklyboy I am wanting to fully change the game and bend it to my will lol. I would like to eventually have the ability to add more characters, enemies, even have a completely different story if i wanted. I already have the ability to change the tilemaps in the US version, so I can basically make my own map and warp to it in game - so I'm pretty far into it!
  • TwoSpikedHands @ TwoSpikedHands:
    I really would like to make a hack that I would enjoy playing, and maybe other people would too. swapping to the EU version would also mean my US friends could not legally play it
  • TwoSpikedHands @ TwoSpikedHands:
    I am definitely considering porting over some of the EU features without using the actual ROM itself, tbh that would probably be the best way to go about it... but i'm sad that the voice acting is so.... not good on the US version. May not be a way around that though
  • TwoSpikedHands @ TwoSpikedHands:
    I appreciate the insight!
  • The Real Jdbye @ The Real Jdbye:
    @TwoSpikedHands just switch, all the knowledge you learned still applies and most of the code and assets should be the same anyway
  • The Real Jdbye @ The Real Jdbye:
    and realistically they wouldn't

    be able to play it legally anyway since they need a ROM and they probably don't have the means to dump it themselves
  • The Real Jdbye @ The Real Jdbye:
    why the shit does the shitbox randomly insert newlines in my messages
  • Veho @ Veho:
    It does that when I edit a post.
  • Veho @ Veho:
    It inserts a newline in a random spot.
  • The Real Jdbye @ The Real Jdbye:
    never had that i don't think
  • Karma177 @ Karma177:
    do y'all think having an sd card that has a write speed of 700kb/s is a bad idea?
    trying to restore emunand rn but it's taking ages... (also when I finished the first time hekate decided to delete all my fucking files :wacko:)
  • The Real Jdbye @ The Real Jdbye:
    @Karma177 that sd card is 100% faulty so yes, its a bad idea
  • The Real Jdbye @ The Real Jdbye:
    even the slowest non-sdhc sd cards are a few MB/s
  • Karma177 @ Karma177:
    @The Real Jdbye it hasn't given me any error trying to write things on it so I don't really think it's faulty (pasted 40/50gb+ folders and no write errors)
    Karma177 @ Karma177: @The Real Jdbye it hasn't given me any error trying to write things on it so I don't really...