Dingoonity.org

Dingux (Dingoo Linux) => Development => Topic started by: zear on September 09, 2010, 03:06:14 pm

Title: Cave Story (NXEngine)
Post by: zear on September 09, 2010, 03:06:14 pm
Hey guys, today while searching for and trying to get some ancient and abandoned Cave Story engines to run on dingux, I noticed this new one (dated 2010), called NXEngine (http://nxengine.sourceforge.net/).
After a couple of minutes I had it running on the Dingoo. It looks very complete and as the author claims: "Currently you can make it from start to all 3 endings and all the objects I know about are implemented". So it looks like a perfect engine for Cave Story on Dingux :)

Here's a short video showing the current state of NXEngine on Dingux:
https://www.youtube.com/watch?v=dUFO48HiXhg

There are 4 things I need to fix before I decide to release it though:
* music support causing game hiccups
* font quality in 320x240
* button mapping/key captions
* a way to convert the datafiles on dingux without a need to run the game on PC first

If anyone is willing to help me with the development of this game, he is welcome to do so. Dingux deserves a Cave Story port and I want it to be perfect :)

Huzzah!
Title: Re: Cave Story (NXEngine)
Post by: Shin-NiL on September 09, 2010, 05:11:29 pm
Great discovery zear, this game is just fantastic :D

Good luck in your port.
Title: Re: Cave Story (NXEngine)
Post by: TheCaffeinator on September 09, 2010, 06:12:48 pm
Wow!!!

Cave Story on the A320!!!

That'd be awesomicious!!!!!!

I look forward to exploiting the fruits of your labour!

;)
Title: Re: Cave Story (NXEngine)
Post by: Derek182 on September 09, 2010, 08:46:34 pm
Frabjous day! I was hoping Cave Story might one day be ported to the Dingoo.
Thanks, zear! Looking forward to its release. ;D
Title: Re: Cave Story (NXEngine)
Post by: olio on September 09, 2010, 09:19:05 pm
what i have to do to play on my a330 dingux?
sorry but i'm new :-[
Title: Re: Cave Story (NXEngine)
Post by: ruffnutts on September 09, 2010, 11:59:42 pm
This looks well smart - nice one zear  ;)
Title: Re: Cave Story (NXEngine)
Post by: Yongary on September 10, 2010, 01:25:46 am
This is awesome news, zear. Playing Cave Story on my Dingoo would be beyond awesome!
Title: Re: Cave Story (NXEngine)
Post by: zear on September 10, 2010, 11:21:17 am
(http://wstaw.org/m/2010/09/10/cave2.png)
The font is semi-fixed now. I replaced TTF_RenderText_Solid with TTF_RenderText_Shaded so it's anti-aliased now. The thing is TTF_RenderText_Shaded introduces a font background color and so far I haven't figured out how to make it transparent. This screenshot is a little trick where I set the font bg color to match the bg of the text box. But for all the other parts of the game where the background is of a different color it will not look good anymore :P

Here's how it looks like if I use a different background color:
(http://wstaw.org/m/2010/09/10/cave.png)

I also improved the button mapping in the menus, but the button captions still need to be changed from F1, F2, ESC to A, B, SELECT etc. This is embedded into the datafiles, so I'll have to either extract and modify the bitmaps, or change the menus to text only.
Title: Re: Cave Story (NXEngine)
Post by: Shin-NiL on September 10, 2010, 03:56:44 pm
The font is semi-fixed now. I replaced TTF_RenderText_Solid with TTF_RenderText_Shaded so it's anti-aliased now. The thing is TTF_RenderText_Shaded introduces a font background color and so far I haven't figured out how to make it transparent. This screenshot is a little trick where I set the font bg color to match the bg of the text box. But for all the other parts of the game where the background is of a different color it will not look good anymore :P

You could try the TTF_RenderText_Blended, I think it's anti-aliased too and don't require bgcolor.
Title: Re: Cave Story (NXEngine)
Post by: zear on September 10, 2010, 03:58:36 pm
You could try the TTF_RenderText_Blended, I think it's anti-aliased too and don't require bgcolor.
Tried it, but for some reason it resulted in white blocks instead of text ;)
Title: Re: Cave Story (NXEngine)
Post by: Shin-NiL on September 10, 2010, 05:10:46 pm
And if you use SDL_SetColorKey to force the transparency on the surface returned from TTF_RenderText_Shaded?

It should be something like this:
Code: [Select]
    Uint32 color = SDL_MapRGB(textSurface->format, r, g, b);
    SDL_SetColorKey(textSurface, SDL_SRCCOLORKEY | SDL_RLEACCEL, color);
Title: Re: Cave Story (NXEngine)
Post by: RodrigoCard on September 10, 2010, 05:27:18 pm
(http://wstaw.org/m/2010/09/10/cave2.png)
The font is semi-fixed now. I replaced TTF_RenderText_Solid with TTF_RenderText_Shaded so it's anti-aliased now. The thing is TTF_RenderText_Shaded introduces a font background color and so far I haven't figured out how to make it transparent. This screenshot is a little trick where I set the font bg color to match the bg of the text box. But for all the other parts of the game where the background is of a different color it will not look good anymore :P

Here's how it looks like if I use a different background color:
(http://wstaw.org/m/2010/09/10/cave.png)

Could you use another font? This one is a little hard to read in low res screens :/
I have a sugestion...
Title: Re: Cave Story (NXEngine)
Post by: olio on September 10, 2010, 08:27:16 pm
what i have to do to play on my a330 dingux?
sorry but i'm new :-[
anyone help me? :'(
Title: Re: Cave Story (NXEngine)
Post by: zear on September 10, 2010, 08:29:09 pm
what i have to do to play on my a330 dingux?
sorry but i'm new :-[
anyone help me? :'(
If you're asking where to get the Cave Story build, you have to patiently wait till i release it :P
But if you're asking how to install dingux on a330, well.. browse the forums, there is a lot of threads about that already.
Title: Re: Cave Story (NXEngine)
Post by: olio on September 10, 2010, 08:52:57 pm
what i have to do to play on my a330 dingux?
sorry but i'm new :-[
anyone help me? :'(
If you're asking where to get the Cave Story build, you have to patiently wait till i release it :P
But if you're asking how to install dingux on a330, well.. browse the forums, there is a lot of threads about that already.
Yes, i search cave story build ;D
Thanks for the response.
Title: Re: Cave Story (NXEngine)
Post by: zear on September 15, 2010, 08:54:39 pm
I was a little quiet recently, so here's a little update:

Thanks to the original author NXEngine supports bitmap fonts now:
(http://wstaw.org/m/2010/09/15/cave3.png)(http://wstaw.org/m/2010/09/15/cave5.png)

Also, the exit dialog is now fixed:
(http://wstaw.org/m/2010/09/15/cave4.png)

The only problem left now is the music support.. :P

I also made initial ports of NXEngine to GP2X and OpenPandora. The latter uses experimental widescreen support:
(http://wstaw.org/m/2010/09/15/nx_pandy.png)
(full size (http://www.shiranui.in/cs.jpg))

Since I wrote a simple joystick support for gp2x, I am interested in supporting wiz and caanoo platforms as well. Because I don't have that devices, I'm gonna need some beta testers. Also, some info on what's the newest toolchain/libpack for that platforms would be welcome :)
Title: Re: Cave Story (NXEngine)
Post by: Domian on September 15, 2010, 09:35:55 pm
great work, realy looking forward to the release :)
Title: Re: Cave Story (NXEngine)
Post by: RodrigoCard on September 15, 2010, 11:06:05 pm
I was a little quiet recently, so here's a little update:

Thanks to the original author NXEngine supports bitmap fonts now:
(http://wstaw.org/m/2010/09/15/cave3.png)(http://wstaw.org/m/2010/09/15/cave5.png)

Nice! This font looks so much better :)
Title: Re: Cave Story (NXEngine)
Post by: Orion4874 on September 16, 2010, 02:23:54 am
Wiz beta tester here if needed. Should have my Caanoo in a couple weeks as well. One question though, why port this to GP2X? There's already Cave Story for that console. Does this diifer from the original?
Title: Re: Cave Story (NXEngine)
Post by: TheCaffeinator on September 16, 2010, 04:56:15 am
Looks great!

Looking forward to the Dingoo release.

Awesome work, zear!
Title: Re: Cave Story (NXEngine)
Post by: Chris23235 on September 17, 2010, 12:14:02 am
Caanoo Beta Tester herem, just send me a PM, if you want me to try the thing on the Caanoo.
Title: Re: Cave Story (NXEngine)
Post by: Skyline969 on September 17, 2010, 01:05:55 am
Huzzah (or Oh yeeeeah, depending on which platform you played Cave Story on)! Cave Story is definitely my favorite indie game, so keep up the good work on the port! I've played and beaten this game on every console I own that it is ported to (PC (Windows and Linux), PSP, Wii), and I'd love to add Cave Story to yet another one of my handhelds. :D
Title: Re: Cave Story (NXEngine)
Post by: zear on October 01, 2010, 10:35:10 pm
While still waiting for the original author to fix the music engine, I got NXEngine to run on two new platforms:
(http://wstaw.org/m/2010/10/01/cave_nn2_png_600x400_q85.jpg)
(full size) (http://wstaw.org/m/2010/10/01/cave_nn2.png)
The bigger one is Jornada 720, the smaller Ben NanoNote.
As for Wiz and Caanoo, the port to them is currently freezed due to problems with the joystick code. Don't worry though, I'll fix it. It may just require rewriting the whole input code from scratch.
Title: Re: Cave Story (NXEngine)
Post by: Peter Varadi on April 03, 2013, 11:18:09 pm
Is there any news on this? Looks like the music is still missing.
Title: Re: Cave Story (NXEngine)
Post by: zear on April 04, 2013, 12:12:12 am
Is there any news on this? Looks like the music is still missing.
Not much can be done about the music. It's too cpu intensive.
Title: Re: Cave Story (NXEngine)
Post by: Peter Varadi on April 04, 2013, 01:10:10 pm
Sorry to hear that. It means the music won't be supported on dingoo unless someone tweaks the bitrate or the quality of the music. Although in theory it could run fine on GCW Zero as it is.

Do you have the source code for OpenDingux version available somewhere (git?). Or can you please upload it?
Just in case someone wants to tweak it.

By the way, thank you Zear for the work you have done. It's pretty cool to play Cave Story on Dingoo.
Title: Re: Cave Story (NXEngine)
Post by: johnnyonflame on April 04, 2013, 04:35:53 pm
Sorry to hear that. It means the music won't be supported on dingoo unless someone tweaks the bitrate or the quality of the music. Although in theory it could run fine on GCW Zero as it is.

Do you have the source code for OpenDingux version available somewhere (git?). Or can you please upload it?
Just in case someone wants to tweak it.

By the way, thank you Zear for the work you have done. It's pretty cool to play Cave Story on Dingoo.

Music on CAVE Story for the Dingoo won't be supported unless somebody rewrites the whole music code to use fixed-point math rather than floating points, due to the fact the A320 has no FPU.