Homebrew RELEASE NXEngine (Cave Story / Doukutsu Monogatari reimplementation)

carstene1ns

Well-Known Member
OP
Newcomer
Joined
Apr 1, 2018
Messages
72
Trophies
0
Website
f4ke.de
XP
588
Country
Germany
Cave Story / Doukutsu Monogatari is a Japanese freeware PC side-scrolling platformer game from 2004.

This is a reimplementation of the original freeware game engine, using its data files.
It has nothing to do with Cave Story+ (published by Nicalis and being an actual, official Switch game).
You can find more information about Cave Story on the fan site.

Gameplay Video:


Installation

Copy the executable from the zip archive to your "sdmc:/switch" folder, best is to use a "nxengine-evo" subdirectory, as it will save settings and savegames there.

Default Controls:

Hat - Movement
A - Fire
B - Jump
X - Map
Y - Enter
L/R - Change Weapons
Minus - Pause/Menu
Plus - Inventory
The engine lets you reconfigure the buttons used.

Source Code at GitHub.
Download: See attachment and also available on my website.

Changelog:
alpha - first release
beta - shipping data files inside romfs, resolved a crash when exiting
beta-rebuild - testing on 4.x/5.x needed
 

Attachments

  • nxengine-beta-rebuild.zip
    3.8 MB · Views: 383
Last edited by carstene1ns,

CeeDee

fuckin dork
Member
Joined
May 4, 2014
Messages
5,357
Trophies
2
XP
9,851
Country
United States
Impressive work! Cool to see some new Switch homebrew. And even with the official release being a thing, this'd allow modded versions of the game to run too.
 

Miqote

Well-Known Member
Member
Joined
May 2, 2018
Messages
259
Trophies
0
XP
821
Country
Macedonia, The Former Yugoslav Republic of
Not sure if anyone's posted (and it should come as no surprise), but this crashes the switch instantly on 5.0.X
 

Rune

Well-Known Member
Member
Joined
Feb 15, 2017
Messages
696
Trophies
0
XP
2,412
Country
United Kingdom
Not sure what this game is, but I appreciate the porting work you're doing and look forward to the next one. :yay:
 

carstene1ns

Well-Known Member
OP
Newcomer
Joined
Apr 1, 2018
Messages
72
Trophies
0
Website
f4ke.de
XP
588
Country
Germany
That German translation is pretty bad, nxengine runs really well though.

You are right, in the video i just wanted to demonstrate it is able to save the settings... :D
There are actually two translations to german on the fansite, but no idea if the other one is better.
I do not really intend to use it, but patches may be sent here.

Scrolling is slow unfortunately (joys of software rendering), when disabling the widescreen mode (i.e. setting to 320x240) this can be avoided, however, you get black bars of course.
 

konamicode89

Well-Known Member
Member
Joined
Mar 13, 2018
Messages
142
Trophies
0
Age
34
XP
757
Country
United States
There's an issue with the game being unplayable in docked mode as the joy cons are set to 2 players once you remove them from the tablet.
Until CFW is released there's no way to make the joysticks work.
 

Zumoly

GBATemp Analyst
Member
Joined
Apr 27, 2018
Messages
1,817
Trophies
0
Location
Yorosso
XP
3,041
Country
Mali
There's an issue with the game being unplayable in docked mode as the joy cons are set to 2 players once you remove them from the tablet.
Until CFW is released there's no way to make the joysticks work.

I was going to point this out as well (I prefer playing in tabletop mode). But I do think it's related to configuration? I'm able to play games in the pfba emulator with the joycons detached.
 

carstene1ns

Well-Known Member
OP
Newcomer
Joined
Apr 1, 2018
Messages
72
Trophies
0
Website
f4ke.de
XP
588
Country
Germany
Yeah, unfortunately that is a problem in the current SDL2 code. Controller configuration is set on app start (single mode) and the internal state is not changed afterwards. I can set dual mode manually, but this is not optimal.
@cpasjuste has a patch to disable that behavior, however we need to set the correct mode ourselves then and keep an eye on what the user does. Currently it may just crash when you undock the controllers while the app is running, because ids change then.
I think we may need to add some custom function to SDL2 and use it to change the controller mode to be able to react on this, but this needs to be done carefully as we need to support these hacks afterwards.
 
  • Like
Reactions: konamicode89

konamicode89

Well-Known Member
Member
Joined
Mar 13, 2018
Messages
142
Trophies
0
Age
34
XP
757
Country
United States
Yeah, unfortunately that is a problem in the current SDL2 code. Controller configuration is set on app start (single mode) and the internal state is not changed afterwards. I can set dual mode manually, but this is not optimal.
@cpasjuste has a patch to disable that behavior, however we need to set the correct mode ourselves then and keep an eye on what the user does. Currently it may just crash when you undock the controllers while the app is running, because ids change then.
I think we may need to add some custom function to SDL2 and use it to change the controller mode to be able to react on this, but this needs to be done carefully as we need to support these hacks afterwards.

Wouldn't it be best to wait for the release of CFW then? Its not just the undocking of the joy cons but the joysticks arent functional either in both cave story and retroarch emulators. Im happy enough that we have a working port no matter how slow or what it lacks, I understand theres not much that can be done until we have better resources(CFW)
 

carstene1ns

Well-Known Member
OP
Newcomer
Joined
Apr 1, 2018
Messages
72
Trophies
0
Website
f4ke.de
XP
588
Country
Germany
Thing is, CFW will not magically bring these improvements. Someone still needs to write code to handle these things.
For homebrew developers CFW means more users can use their stuff and it is easier to setup and run code (for testing).
 

renhei

Well-Known Member
Newcomer
Joined
Jun 21, 2016
Messages
64
Trophies
0
XP
282
Country
United States
There's an issue with the game being unplayable in docked mode as the joy cons are set to 2 players once you remove them from the tablet.
Until CFW is released there's no way to make the joysticks work.
What about the Pro controller? I've seen in this topic and others people saying the joycons don't work undocked, but does the Pro controller work fine? Cuz that's what I always use.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • HiradeGirl @ HiradeGirl:
    don't
  • Sicklyboy @ Sicklyboy:
    Disagree
  • Sicklyboy @ Sicklyboy:
    Walk into his office
  • Sicklyboy @ Sicklyboy:
    Take a shit on his desk
    +1
  • Sicklyboy @ Sicklyboy:
    Refuse to elaborate
  • Sicklyboy @ Sicklyboy:
    Leave
  • Sicklyboy @ Sicklyboy:
    I'm fortunate to have had some managers over the years who I've straight up told to go fuck themselves, and not get in trouble for it. Help that I've been on the receiving end of that as well lmao
  • BigOnYa @ BigOnYa:
    Agreed, you can tell him you quit when you see him in court, (For defecation on property, charges)
  • K3Nv2 @ K3Nv2:
    There's a difference in a abusive management rather than one drilling into you for messing up
  • Sicklyboy @ Sicklyboy:
    Told my last boss that I was resigning and he was confused and asked if I was serious 😭🤣
  • K3Nv2 @ K3Nv2:
    My last boss got investigated for racial slurs and guess what happened to him
  • BigOnYa @ BigOnYa:
    I luckily haven't had a boss in over 20 years, (independent contractor) but the people I do work for, it's pretty much like they my bosses, and yea some can be assholes. But there has been many jobs I've walked off and mailed they're checks back to them.
  • K3Nv2 @ K3Nv2:
    Bosses should yell at workers for mess ups they just need to know the difference in abuse and punishment
  • BigOnYa @ BigOnYa:
    I don't abuse or curse at my employess, I feel like waving the gun around gets the point across just fine.
  • K3Nv2 @ K3Nv2:
    A boss is basically a glorified baby sitter
    +1
  • K3Nv2 @ K3Nv2:
    I respect one's that tells someone what to do clearly, warn them when they mess up and actually put work in with a crew
    +1
  • Sicklyboy @ Sicklyboy:
    That's how all of my last managers have been in this job and my last one. Last time I had a manager where I was being micromanaged to hell and back was over a decade ago when I worked retail
  • Sicklyboy @ Sicklyboy:
    My managers nowadays are perfectly fine assigning me a project and just checking in once every week or two
  • K3Nv2 @ K3Nv2:
    I had to micromanage the managers
  • Sicklyboy @ Sicklyboy:
    At my last job I (as an individual contributor, not a manager or supervisor or anything) used to be the one to tell my manager when I was traveling for work "hey I'm gonna be out of office between x and y dates, I got something on the other side of the country I'm gonna go work on"
  • Sicklyboy @ Sicklyboy:
    Which was not the normal dynamic for that role lmao
  • Sicklyboy @ Sicklyboy:
    Don't get to travel for my current job :(
  • K3Nv2 @ K3Nv2:
    Had me started working 10 days in a row with different days off after that I was like no
  • Sicklyboy @ Sicklyboy:
    On the bright side, I also don't even have to leave my house for my current job, so... could be worse
  • K3Nv2 @ K3Nv2:
    Some of the shift workers were so bad it held us up from 10pm to 10am
    K3Nv2 @ K3Nv2: Some of the shift workers were so bad it held us up from 10pm to 10am