SpelunkyDS

Discussion in 'NDS - Emulation and Homebrew' started by 0xdbeef, Jun 12, 2018.

  1. 0xdbeef
    OP

    0xdbeef Member

    Newcomer
    2
    Jun 12, 2018
    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)
     

    Attached Files:

    Last edited by 0xdbeef, Jul 24, 2018
    Dexo, Orangy57, Xuio and 16 others like this.
  2. migles

    migles All my gbatemp friends are now mods, except for me

    Member
    13
    GBAtemp Patron
    migles is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Sep 19, 2013
    China
    Earth-chan
    will play it a bit, slow day
    music and stuff is implemented?
     
    0xdbeef likes this.
  3. 0xdbeef
    OP

    0xdbeef Member

    Newcomer
    2
    Jun 12, 2018
    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, Jun 12, 2018
  4. Robz8

    Robz8 Coolest of TWL

    Member
    15
    Oct 1, 2010
    United States
    Can confirm this works on the DSi/3DS SD card through DSiMenu++!
     
    Swampat and 0xdbeef like this.
  5. Swampat

    Swampat The swamp monster that pats the ground

    Member
    2
    May 25, 2017
    United States
    Thank you Rob and will this be worked on more?
     
    0xdbeef likes this.
  6. 0xdbeef
    OP

    0xdbeef Member

    Newcomer
    2
    Jun 12, 2018
    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
     
    Tarmfot and Swampat like this.
  7. Swampat

    Swampat The swamp monster that pats the ground

    Member
    2
    May 25, 2017
    United States
    Well keep up the amazing work. I'm looking forward to what you are able to accomplish.
     
  8. 0xdbeef
    OP

    0xdbeef Member

    Newcomer
    2
    Jun 12, 2018
    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, Jun 14, 2018
    Swampat likes this.
  9. Tarmfot

    Tarmfot Advanced Member

    Newcomer
    2
    Dec 12, 2015
    Montserrat
    Will it be compatible with dsmenu++ and hiya? :)
     
    0xdbeef likes this.
  10. Swampat

    Swampat The swamp monster that pats the ground

    Member
    2
    May 25, 2017
    United States
    It already is
     
    Tarmfot and 0xdbeef like this.
  11. BlastedGuy9905

    BlastedGuy9905 where's the updated autopsy report

    Member
    9
    Apr 13, 2017
    United States
    under your desk
     
    Tarmfot and 0xdbeef like this.
  12. Swampat

    Swampat The swamp monster that pats the ground

    Member
    2
    May 25, 2017
    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.
     
    0xdbeef likes this.
  13. 0xdbeef
    OP

    0xdbeef Member

    Newcomer
    2
    Jun 12, 2018
    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)
     

    Attached Files:

    Last edited by 0xdbeef, Jun 24, 2018
    Tarmfot likes this.
  14. ChampionLeake

    ChampionLeake NTR/TWL Exploiter

    Member
    3
    Jan 19, 2016
    United States
    This is a good port! I'll definitely port this app to my emunand on my dsi.
     
    0xdbeef likes this.
  15. 0xdbeef
    OP

    0xdbeef Member

    Newcomer
    2
    Jun 12, 2018
    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, Jun 25, 2018
  16. bobrocks95

    bobrocks95 Advanced Member

    Newcomer
    3
    May 9, 2007
    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.
     
    0xdbeef likes this.
  17. 0xdbeef
    OP

    0xdbeef Member

    Newcomer
    2
    Jun 12, 2018
    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).
     
    Swampat likes this.
  18. Robz8

    Robz8 Coolest of TWL

    Member
    15
    Oct 1, 2010
    United States
    So I looked at this post, and about what you said here,
    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, Tarmfot and zfreeman like this.
  19. 0xdbeef
    OP

    0xdbeef Member

    Newcomer
    2
    Jun 12, 2018
    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!).
     
    Swampat and Robz8 like this.
  20. 0xdbeef
    OP

    0xdbeef Member

    Newcomer
    2
    Jun 12, 2018
    Poland
    Robz8, I love you so much. It worked perfectly, I just copied DSiMenu++ files to my R4 and that was it.
    I don't even have to use NitroFS! No streaming from filesystem.



    Anyways, new release of SpelunkyDS this week!
     
    Sinon and Robz8 like this.