Homebrew [WIP] Updated Godot Engine for 3DS Homebrew

  • Thread starter Thread starter Pikachuk
  • Start date Start date
  • Views Views 30,014
  • Replies Replies 54
  • Likes Likes 16

Pikachuk

SeleDreams
Member
Joined
Mar 19, 2016
Messages
784
Reaction score
235
Trophies
1
Age
25
Location
Bordeaux
XP
859
Country
France
Hi,
You might already be aware that an old Godot port was originally made by TheCruel a long time ago.
As they won't be able to continue working on it for....some reasons I won't discuss here.

I ended up taking over where they left off and updated the version of godot to 2.1.7 (the version of the original port was 2.1) and fixed the various build scripts for them to properly build on a python 3 install and with the latest devkitpro and citro3d versions

You can find my updated godot 2 port here. It is however not maintained anymore and is not finished, it only supports basic 2D.
https://github.com/SeleDreams/godot-2-3ds

A godot 4 port is currently in the works : https://github.com/SeleDreams/godot-4-3ds

It is however not yet in a usable state as there is no renderer implemented yet

Here is a small video showing the current state of the Godot 2 port.


At the moment, the port is in the same state it was originally, so I didn't implement yet what was missing such as 3D support but it is now fully working and can be built without much trouble

for the build process of godot 2 I recommend to follow the instructions from the original post but you'll need to have installed the 3ds-zlib 3ds-bzip2 and 3ds-libpng libraries
https://gbatemp.net/threads/wip-godot-engine-for-3ds-homebrew.446385/

one change I did though is that now godot will look for its CPK file in the ramfs, I found it more convenient than having it look in the SD, I might in the future make it look in both locations so that if there's no cpk in one it would check the other
 
Last edited by Pikachuk,
I am wondering by the way if anyone knows of a way to enable 60fps vsync on 3ds, because I can find how to have 30fps vsync or 60fps with no vsync but once vsync is enabled it will drop to 30fps in all cases
 
Here's a video of it running on an O3ds too, by disabling the bottom console, the O3DS can also run it at a smooth 60fps after some seconds of fps spikes (caused by the fact I used a dynamic font rather than a prerendered bitmap font to render the fps counter)
 
  • Like
Reactions: Tarmfot
Amazing news! do you need nintendo's SDK or stuff like that? because that totally ruined the prospects of developing games for 3DS on Unity, it's a total hassle.
If this works out of the box i might pick up godot and start making some small simple games for 3DS
 
Maybe I'm alone here, but I feel like we don't need to credit TheCruel for anything anymore. I get that the guy actually knew what he was doing in the modding/homebrew scene, but you can probably just gloss right past the fact that anything you did was based off of anything he did in the past.
 
Maybe I'm alone here, but I feel like we don't need to credit TheCruel for anything anymore. I get that the guy actually knew what he was doing in the modding/homebrew scene, but you can probably just gloss right past the fact that anything you did was based off of anything he did in the past.
I feel like even if someone did bad things,I can't just take their work without crediting them

placebo_yue said:
Amazing news! do you need nintendo's SDK or stuff like that? because that totally ruined the prospects of developing games for 3DS on Unity, it's a total hassle.
If this works out of the box i might pick up godot and start making some small simple games for 3DS
no, it runs on the homebrew sdks only
 
Last edited by Pikachuk,
One thing I'm currently wondering is the way I'm going to handle dual screen, I think the easiest would be to make the godot viewport 800x960 (which is resized to 400x480 by citro3d) and then make citro3d render the top part on the top screen and the bottom part on the bottom screen
 
Last edited by Pikachuk,
no, it runs on the homebrew sdks only
So this means there's no complicated versions and things to install right? this homebrew sdk is available for free and such?
Sorry to ask once more, i wanna be 100% sure this will work for me
 
So this means there's no complicated versions and things to install right? this homebrew sdk is available for free and such?
Sorry to ask once more, i wanna be 100% sure this will work for me
yeah it's fully free and open source, it's the devkitpro sdk with ctrulib and citro3d
 
  • Like
Reactions: placebo_yue
This looks very promising! Hopefully this gets a bit more progress in the future unlike other attempts to update it. Would love to try this out for my own games since I use Godot as my main engine.
 
Could this actually be used to play Godot-based games on the 3DS or is it more a development tool/proof of concept? Sorry, my tech-literacy here is a bit limited.
 
Could this actually be used to play Godot-based games on the 3DS or is it more a development tool/proof of concept? Sorry, my tech-literacy here is a bit limited.
More of the latter I assume. Especially because the original version before this only worked on 2.x I believe. Even if you could run full godot games you would probably need to get the project files for a game, which not all godot games are open source despite the engine being so itself.

I do hope that this could get a little better and we could at least make cool little homebrew games with it. Definitely could help the homebrew scene cause ofc Godot is a popular engine, and is also my game engine of choice.

Sorry about my rant.
 
Here's a video of it running on an O3ds too, by disabling the bottom console, the O3DS can also run it at a smooth 60fps after some seconds of fps spikes (caused by the fact I used a dynamic font rather than a prerendered bitmap font to render the fps counter)

Nice! I have an old 3DS. (Dark red one.) :yay3ds:
 
hey Samfitzgamer how are you?
Excuse me, I have a few days repairing my vehicle....
if i need help to export to nintendo 3ds from Godot. but I can't export I know I'm doing something wrong
I have the official sdk for unity and I don't adapt in unity
and I'm not a pro .. rather I'm pixel art but I want to work under GE
I want to keep only one tool and I think godot is enough for a beginner like me..
Can you help me with the problem I have, I don't know what I'm doing wrong
when I export the citra it closes and I pamper it with godot ps vita I don't know what I'm doing wrong
and excuse my english I'm latino
thanks Samfitzgamer
 
hey Samfitzgamer how are you?
Excuse me, I have a few days repairing my vehicle....
if i need help to export to nintendo 3ds from Godot. but I can't export I know I'm doing something wrong
I have the official sdk for unity and I don't adapt in unity
and I'm not a pro .. rather I'm pixel art but I want to work under GE
I want to keep only one tool and I think godot is enough for a beginner like me..
Can you help me with the problem I have, I don't know what I'm doing wrong
when I export the citra it closes and I pamper it with godot ps vita I don't know what I'm doing wrong
and excuse my english I'm latino
thanks Samfitzgamer
You have the Homebrew SDK? Because it won't work without it.
 

Site & Scene News