Homebrew SpelunkyDS

0xdbeef

Member
OP
Newcomer
Joined
Jun 12, 2018
Messages
18
Trophies
0
Age
123
XP
243
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: 417
Last edited by 0xdbeef,

0xdbeef

Member
OP
Newcomer
Joined
Jun 12, 2018
Messages
18
Trophies
0
Age
123
XP
243
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
243
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
243
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
243
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: 198
Last edited by 0xdbeef,

0xdbeef

Member
OP
Newcomer
Joined
Jun 12, 2018
Messages
18
Trophies
0
Age
123
XP
243
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
243
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,649
Trophies
3
Age
24
XP
21,121
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
243
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
  • Jayro @ Jayro:
    I'm Slenderman.
  • Veho @ Veho:
    I have hands.
  • BakerMan @ BakerMan:
    imagine not having hands, cringe
    +1
  • AncientBoi @ AncientBoi:
    ESPECIALLY for things I do to myself :sad:.. :tpi::rofl2: Or others :shy::blush::evil:
    +1
  • The Real Jdbye @ The Real Jdbye:
    @SylverReZ if you could find a v5 DS ML you would have the best of both worlds since the v5 units had the same backlight brightness levels as the DS Lite unlockable with flashme
  • The Real Jdbye @ The Real Jdbye:
    but that's a long shot
  • The Real Jdbye @ The Real Jdbye:
    i think only the red mario kart edition phat was v5
  • BigOnYa @ BigOnYa:
    A woman with no arms and no legs was sitting on a beach. A man comes along and the woman says, "I've never been hugged before." So the man feels bad and hugs her. She says "Well i've also never been kissed before." So he gives her a kiss on the cheek. She says "Well I've also never been fucked before." So the man picks her up, and throws her in the ocean and says "Now you're fucked."
    +2
  • BakerMan @ BakerMan:
    lmao
  • BakerMan @ BakerMan:
    anyways, we need to re-normalize physical media

    if i didn't want my games to be permanent, then i'd rent them
    +1
  • BigOnYa @ BigOnYa:
    Agreed, that why I try to buy all my games on disc, Xbox anyways. Switch games (which I pirate tbh) don't matter much, I stay offline 24/7 anyways.
    +1
  • AncientBoi @ AncientBoi:
    I don't pirate them, I Use Them :mellow:. Like I do @BigOnYa 's couch :tpi::evil::rofl2:
    +1
  • cearp @ cearp:
    @BakerMan - you can still "own" digital media, arguably easier and better than physical since you can make copies and backups, as much as you like.

    The issue is DRM
    +1
  • cearp @ cearp:
    You can buy drm free games / music / ebooks, and if you keep backups of your data (like documents and family photos etc), then you shouldn't lose the game. but with a disk, your toddler could put it in the toaster and there goes your $60

    :rofl2:
  • cearp @ cearp:
    still, I agree physical media is nice to have. just pointing out the issue is drm
    +1
  • rqkaiju2 @ rqkaiju2:
    i like physical media because it actually feels like you own it. thats why i plan on burning music to cds
  • cearp @ cearp:
    It's nice to not have to have a lot of physical things though, saves space
    +1
  • AncientBoi @ AncientBoi:
    Nor clothes 🤮 . Saves on time, soap, water and money having to wash them. :D
  • SylverReZ @ SylverReZ:
    @rqkaiju2, Physical media is a great source for archiving your data, none of that cloud storage shiz.
    +1
  • AncientBoi @ AncientBoi:
    [squeezes @SylverReZ onto a physical media, then archives you in my old stuff box] :tpi::rofl2::tpi:
    +1
  • BakerMan @ BakerMan:
    guys, should i change my pfp to one of these or keep it the same?
    iu

    iu

    (i guess i could change it to one of my other pfps too, but i just want to see what you guys think first)
    BakerMan @ BakerMan: guys, should i change my pfp to one of these or keep it the same? (i guess i could change it...