Homebrew [Question] How do I port a game [Like Doom] to the 3ds?

sniper220

New Member
OP
Newbie
Joined
Sep 2, 2021
Messages
4
Trophies
0
Age
17
XP
7
Country
Australia
I have little experience in coding, But want to port a game to 3ds for fun. I figured Doom would be a good choice since it's open source and doesn't seem too complex, However, I have no idea where to start, Or if it's even possible for some one with very little coding experience. I'm aware that Doom 3ds ports exist, I just want to port it for fun/experience. Cheers.
 
Last edited by sniper220,

MORSHU8KRTXON

Sussy baka
Member
Joined
Aug 18, 2021
Messages
120
Trophies
0
Age
55
Location
Heaven
Website
www.youtube.com
XP
216
Country
Chad
I have little experience in coding, But want to port a game to 3ds for fun. I figured Doom would be a good choice since it's open source and doesn't seem too complex, However, I have no idea where to start, Or if it's even possible for some one with very little coding experience. I'm aware that Doom 3ds ports exist, I just want to port it for fun/experience. Cheers.
I recommend you first understand how doom's code works
 

placebo_yue

Well-Known Member
Member
Joined
Aug 7, 2019
Messages
554
Trophies
0
Age
31
XP
764
Country
Argentina
if you have no coding experience and no clue where to start i'd say you have at least months of research and learning before you can even think of doing such thing. If it was so easy anyone with little knowledge could do it, there'd be ports of every game ever released on every console because anyone would port their favourite games into every console. I know i would
 
  • Like
Reactions: MORSHU8KRTXON

owoLinksu

Member
Newcomer
Joined
Sep 14, 2020
Messages
19
Trophies
0
Age
32
XP
20
Country
United States
how do I port gentoo to the 3ds? I have no exp

--------------------- MERGED ---------------------------

 

owoLinksu

Member
Newcomer
Joined
Sep 14, 2020
Messages
19
Trophies
0
Age
32
XP
20
Country
United States
im guessing a few years minimum of c/c++ programming and 3ds programming understandings. its not a pick it right up and go thing.
Thanks lol I was joking but to op if you do want doom on your ds though check wikipedia for consoles doom was ported to then pick one of those ports and emulate it on the ds I might try emulating the playstion version just for fun lol [I like those CIAs with the flashy playstation banners]

Update:
The doom eboot>cia method works smoooth so far, did I port a doom? lol
 
Last edited by owoLinksu,

Wavy

*sips tea*
Member
Joined
Aug 24, 2020
Messages
224
Trophies
0
Location
MAP13: Downtown
XP
734
Country
Australia
Question: What port are you going to use?

Because there's Chocolate Doom, DSDA-Doom, Eternity, the ZDoom family of ports and many more. All with differing levels of complexity and sizes to their codebases.
 

owoLinksu

Member
Newcomer
Joined
Sep 14, 2020
Messages
19
Trophies
0
Age
32
XP
20
Country
United States
I have a lil video to show how smooth the psx doom runs on the 3ds but I need to get to 5 posts to share it lol ironically I've been lurking for years.

--------------------- MERGED ---------------------------

here's the clip: https://streamable.com/qr8cnb
ignore me failing to play with one hand lol
 

Plazorn

GBAtemp’s Dragon
Member
Joined
Jun 8, 2021
Messages
349
Trophies
0
Location
Ruins of Midgar
XP
549
Country
United States
Personally, why would you want to port Doom? It already has thousands of other ports, why not try something no one has ever tried before. You can be one of the thousands of people to have ported Doom, or go down in history as the first to port a certain game to the 3ds, your choice...



Edit: Doom is a good place to start though (:
 
Last edited by Plazorn,

sniper220

New Member
OP
Newbie
Joined
Sep 2, 2021
Messages
4
Trophies
0
Age
17
XP
7
Country
Australia
Question: What port are you going to use?

Because there's Chocolate Doom, DSDA-Doom, Eternity, the ZDoom family of ports and many more. All with differing levels of complexity and sizes to their codebases.
I was thinking ZDoom, I have no idea where I would start though.
 

sniper220

New Member
OP
Newbie
Joined
Sep 2, 2021
Messages
4
Trophies
0
Age
17
XP
7
Country
Australia
Personally, why would you want to port Doom? It already has thousands of other ports, why not try something no one has ever tried before. You can be one of the thousands of people to have ported Doom, or go down in history as the first to port a certain game to the 3ds, your choice...



Edit: Doom is a good place to start though (:
Like you said, It's a good place to start. Just looking to gain experience and get a better understanding of how ports work.

--------------------- MERGED ---------------------------

I'm not particularly the one to help with software porting, but ZDoom is pretty large and complex (but not impossible). I recommend starting with a smaller port, such as Woof.
I'll look into it, Cheers.
 
  • Like
Reactions: Wavy

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
34,078
Trophies
2
Website
trastindustries.com
XP
22,960
Country
United Kingdom
A project that has already been done as a learning thing is fine vs jumping in to something random and new.

Generally you will want to understand how the original code works, what it leans into and what it has underpinning it, as well as what language and whether a usable compiler is available for the target system.
You will probably also want to understand the strengths and weaknesses of the system you are going to.
For instance Quake was ported to the DS, fair enough but Quake uses a lot of floating point numbers in its calculations. The DS has no abilities in hardware to handle them at all (has some fixed point stuff but even that is minimal) which means you would need slow as sin software methods to handle them (think doing long division rather than using a calculator that does it for you and probably add a bit more effort on) or rewrite the code that uses them to use something like the fixed point it does handle, or something else in more general signed/unsigned that it handles quite well. Given what floating point excels at though (and you are making a 3d game where positions can be quite complicated, and represented exceedingly well by floating point) then that can be easier said than done. Even if your new system has floating point you then get to wonder a) what precision it has and b) what the performance of it is when handling such things.
More generally processor speeds, memory bandwidth, memory amount, graphics memory amount, bulk storage and characteristics thereof (CDs store a lot, take time to seek, ROM chips store less for the same price back in the day but take way less time to grab data, back in the day is not not flash cart today where an unthinkable 16 gigs for a game back in Doom era is pretty modest today and nothing for the average flash cart/modded system setup where storage can be multiple times that and still be vintage/lower end). The bigger the difference in power, the less you will have to redo code to make it fit and run in a timely manner.

If it is an older game like original Doom then it might also be coded in older styles*, in addition to games generally not being noted for their super tight code (game crashes, nobody cares, bug in radiation machine zaps people more than needed... bigger problem and thus code is built to handle it, even if it slows things down https://hackaday.com/2015/10/26/killed-by-a-machine-the-therac-25/ ), or indeed sometimes actually some super tight code designed for the PC to keep things fast there. Fortunately other devs know this and often one of the first parts of a project is to bring the base code up to either more modern or better standards, or take things away from leaning into hardware to allow them to be ported around more easily to different hardware. This is also why above you were asked what you would be using as a base; some versions were aimed at keeping things lean, original, some improved things (and might since have become the base most know the game for)... and afraid I don't know what all of them are built for in that regard.

*even in the same language. If you are even pretty decent at K and R C or some of the oldest vintages of C then recruiters will probably beat a path to your door put a piece of paper in your hand "is that a phone number? No, that is your salary offer", know a modern flavour of C to similar standards and you will probably get something as it is still a valued skill but nothing like the former, in both senses of the term. Now Doom was a bit later, and while I don't know if it was built to be ported and it is generally held that engine sales were a bit of an unexpected revenue source then it never the less remains a fact it was so there is that too.

Anyway this sort of thought process, in addition to the usual https://gbatemp.net/threads/can-i-aka-you-as-i-cant-wont-code-port-this-game-to-this-device.576997/ , is what most looking to port something will have going on in their head. Some might blaze a bit more of a trail; if something is doable but not done, or needs some additional effort in porting libraries or hammering out baseline understanding of hardware, then so it goes but also tends to be the better coders contemplating such a course of action.
 
  • Like
Reactions: jeffyTheHomebrewer

TechX

Member
Newcomer
Joined
Jul 23, 2021
Messages
15
Trophies
0
Age
19
XP
60
Country
United States
Question: What port are you going to use?

Because there's Chocolate Doom, DSDA-Doom, Eternity, the ZDoom family of ports and many more. All with differing levels of complexity and sizes to their codebases.
I think they want to make their own port
 

WG481

Official Waluigi Propagandist
Member
Joined
Aug 13, 2020
Messages
380
Trophies
0
Age
15
Location
Somewhere. Look hard enough and you could find me.
XP
639
Country
United States
I have little experience in coding, But want to port a game to 3ds for fun. I figured Doom would be a good choice since it's open source and doesn't seem too complex, However, I have no idea where to start, Or if it's even possible for some one with very little coding experience. I'm aware that Doom 3ds ports exist, I just want to port it for fun/experience. Cheers.
Doom has been ported. However, they couldn't rewrite the base code, so DOOM WADs are needed.
 
General chit-chat
Help Users
    ClancyDaEnlightened @ ClancyDaEnlightened: Ouch