Homebrew (WIP) Undertale NDS

Cervi

Well-Known Member
OP
Newcomer
Joined
Aug 25, 2022
Messages
46
Trophies
0
Location
Catalonia
XP
383
Country
Spain
I've recently started work on a port for Undertale to the Nintendo DS. I've been modding NDS games for quite some time now (I'm a member of Team Top Hat, working on a Layton 2 Romhack) and I wanted to see this amazing game ported to the console. I've started writing the game in pure libnds and C++.

I know some people have tried before, but as I am quite fond of open source projects, and none of those were, I've decided to open source the code for my NDS port. Of course, it does not include copyrighted material in any way (I think I'll make a script which extracts all needed files from the original game).

For now, all I have is a minute long clip showing the intro and the character name screen. The music for the latter is missing (for now).

GitHub repo: C3RV1/UndertaleNDS
Youtube intro & name screen: Well seems as I just created the account I can't post the links lol. You can find it in the github repo readme.

Any feedback will be greatly appreciated!
(PS: I'm not a regular forum user, sorry if I don't get how this all works exactly xD)
(PS2: How can I add the Homebrew tag/prefix?)

Flame Edit:- https://github.com/C3RV1/UndertaleNDS
 
Last edited by Flame,

Pk11

A catgirl with a DSi
Member
Joined
Jun 26, 2019
Messages
1,285
Trophies
1
Age
22
Location
米国
Website
pk11.us
XP
3,897
Country
United States
(PS2: How can I add the Homebrew tag/prefix?)
You can only add them yourself when making the thread, but if you report your thread (bottom left of the post) one of the mods should be able to do it. It's a little weird but that's also how you can ask for title changes and such.



What you've got so far in the video looks quite nice! though I haven't actually played undertale myself...
 

Cervi

Well-Known Member
OP
Newcomer
Joined
Aug 25, 2022
Messages
46
Trophies
0
Location
Catalonia
XP
383
Country
Spain
Quick question. I've been working with Romhacking for a while and I know that you can't shared modified .nds files as they contain copyrighted material. Instead, we share patch files, so that whoever wants to play the modified version must also have the original version. My issue is that my Undertale port does not only extract the sprites, but I've also changed up some of them to adapt it to the NDS, so just exporting the sprites from the original game is not an option.

If I were to encrypt my nds port with the original game, so that whoever wants to play it must decode it first by buying the original game, would that be okay legally? I wouldn't be sharing the copyrighted material as no "unofficial" owner of the original content could get access to it, right?
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
encrypting doesn't make it legal to share.
or else, any game ROM / ISO would add a layer of encryption and be legally shared on the net.
Using the original data as decryption key doesn't allow you to have other people work in your version.
It's like "zipping the ROM with a password so the original owner can't access it" ... nope, it doesn't make it legal to share.

No, if you didn't create the sprite and music yourself, you can't share them. Modifying a graphic a little doesn't change IP ownership either, or else editing a byte in a game would make it freeware?
If the extracted files need to be modified, you'll have to include a script to do that too, or provide requirement and how to do it so end user can do that themselves.

it doesn't only apply to pictures and musics, but also to the story itself. You can make an engine, but you cannot "remake" a game and its script/story, because you didn't write it.
Imagine a book, like Harry potter. The author will not be pleased that you re-distribute the text content on another plateform by saying it's not a paper book I changed something so I can do it (digital, plastic, hologram, metaverse, etc.). It's not yours even if you rewrite it to change the character's names, translate or adapt to work on another platform. There are rights over intellectual properties such as a story, words, etc.
It seems your sources include the game text, while it should load if from an extracted file too.
(yes, I know, that puts translation patch in gray area, because officially translation are forbidden, as much as sharing subtitles for movies, etc., but let's not talk about other subject here and only talk about your project)

it will be better to place the text outside the sources for 2 reasons :
1) no copyright issue. You wrote the engine, it's yours.
it loads data other people provides, you didn't provide it, any of it, being picture, sound or text !

2)
Easier to maintain your sources.
if the text is integrated to the sources, it'll be hard to update, translate, etc. What if I want to play your game in french on NDS ? I'll have to search for all the text in all your sources ? I might miss some files, lines, text, or make bugs...
if the sources contains references and points to an external file, it'll be easier to change the text without even needing to recompile.
 
Last edited by Cyan,

Cervi

Well-Known Member
OP
Newcomer
Joined
Aug 25, 2022
Messages
46
Trophies
0
Location
Catalonia
XP
383
Country
Spain
it will be better to place the text outside the sources for 2 reasons :
1) no copyright issue. You wrote the engine, it's yours.
it loads data other people provides, you didn't provide it, any of it, being picture, sound or text !

2)
Easier to maintain your sources.
if the text is integrated to the sources, it'll be hard to update, translate, etc. What if I want to play your game in french on NDS ? I'll have to search for all the text in all your sources ? I might miss some files, lines, text, or make bugs...
if the sources contains references and points to an external file, it'll be easier to change the text without even needing to recompile.

Thanks for the info! I was planning on having all dialogues outside of the source code anyway, I just had the intro for the time being.

encrypting doesn't make it legal to share.
or else, any game ROM / ISO would add a layer of encryption and be legally shared on the net.
Using the original data as decryption key doesn't allow you to have other people work in your version.
It's like "zipping the ROM with a password so the original owner can't access it" ... nope, it doesn't make it legal to share.

However, if I were to XOR (for example) the original game with the .nds port, could it then be considered a "patch file" as it modifies the original game bytes and doesn't include the copyrighted data itself?
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
However, if I were to XOR (for example) the original game with the .nds port, could it then be considered a "patch file" as it modifies the original game bytes and doesn't include the copyrighted data itself?
That'll become questionable, it could be seen as a patch, but very big.
but it's the same as encrypting something which is not yours to begin with, that's not very legit to try to circumvent copyright, instead of just making tools to do it correctly.
That's just my opinion, but you shouldn't wonder and search how to share something that's not your. it's already a broken method.
 
  • Like
Reactions: Cervi

Cervi

Well-Known Member
OP
Newcomer
Joined
Aug 25, 2022
Messages
46
Trophies
0
Location
Catalonia
XP
383
Country
Spain
Hi everyone! It's been two weeks or so since I first posted the original post where I showed the intro and the name input screen. I've been working on the project since, as you can check through the GitHub repo activity, haha! This is a progress update to show the additions over the past 2 weeks. I have also started my last year of high school right now so progress has slowed down significantly over the last week. Anyway, here is the update:

Additions:
- Flowey first meeting (Versatile cutscene, dialogue & battle system). A few things missing here and there.
- Room system with sprites and music.
- SFX are missing for the time being (they are in the works :P).
- In-game menu (currently only contains test items, which can't be used).

Edit: Forgot to mention that I've made quite a few changes to the way Flowey attacks and the dialogues play out in order to adapt it to the smaller screens of the Nintendo DS. What do you think about these changes? Any suggestions will be appreciated!

Now that all these systems have been implemented, I hope I'll be able to progress a lot quicker, as I will already have a lot of the base work implemented.

Gameplay video:

I still don't know how to go about possibly uploading the NDS Rom. Maybe I'll go with what I suggested and just XOR or AES the rom with the original game as then you'd have to have the original game in order to play the NDS port, therefore making sure that everyone who plays the NDS port owns an original copy of the game as well. And it could then MAYBE be considered as a sort of patch as it'd modifie the original game bytes. I still have to look into it though.

Thanks for being patient!
 
Last edited by Cervi,

CoolMe

"Who am i, what am i?"
Member
Joined
Apr 16, 2019
Messages
7,498
Trophies
1
Age
29
XP
33,385
Country
United States
Maybe I'll go with what I suggested and just XOR or AES the rom with the original game as then you'd have to have the original game in order to play the NDS port, therefore making sure that everyone who plays the NDS port owns an original copy of the game as well.
That's the way to do it imo.
 
  • Like
Reactions: Cervi

Cervi

Well-Known Member
OP
Newcomer
Joined
Aug 25, 2022
Messages
46
Trophies
0
Location
Catalonia
XP
383
Country
Spain
Are users supposed to use the PC version of Undertale to do it, or any version?
PC version. You can't extract the game data from the console version. I think it doesn't matter which PC version, but I used the windows version. In case you don't use the correct version it will throw an error.
 
  • Like
Reactions: CoolMe

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,138
Country
United States
I was able to compile this as you know @Cervi (messaged you on github) about nitrofs:

20220911_071214.jpg
 
  • Like
Reactions: Cervi

Cervi

Well-Known Member
OP
Newcomer
Joined
Aug 25, 2022
Messages
46
Trophies
0
Location
Catalonia
XP
383
Country
Spain
I was able to compile this as you know @Cervi (messaged you on github) about nitrofs:

View attachment 327368
great! about those visual bugs, I am fully aware about them, but I can't seem to reproduce them in any emulator. I think it might be because I'm writing to the OAM while not on V-Blank, although I'm really not sure. I'll look into it, but for now you can avoid those bugs by just playing on an emulator.
 
  • Like
Reactions: godreborn

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,138
Country
United States
great! about those visual bugs, I am fully aware about them, but I can't seem to reproduce them in any emulator. I think it might be because I'm writing to the OAM while not on V-Blank, although I'm really not sure. I'll look into it, but for now you can avoid those bugs by just playing on an emulator.
what is the difference between the script building the rom and using make to build the rom? I tested both, one was one kilobyte larger.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Lol rappers still promoting crypto