Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

Quick question

A topic by Forleafe created Jul 28, 2016 Views: 366 Replies: 8
Viewing posts 1 to 2

What programming language do I need to know to homebrew for the dreamcast? I've tried pouring through some of the provided documentation to find the answer, but am really not finding anything clear.

I'm basically trying to see if my skill level is on par enough for me to attempt this, because I'd truly love to. But presently, all I have is heavy Javascript knowledge, moderate C#, and minimal Java.

Otherwise I'm very very interested.

C, C++, or SH Assembly. C# and Java require a runtime, which would most likely consume the vast majority of the available RAM. You have a while until the jam ends. Why not pick up C and have at it?

Hrmhrm... I'm very tempted. It seems like C++ has a little more use. Do you have any tutorials or learning material that you'd recommend for me? I'm not entirely clueless to computational thinking, so I might can learn fast.

I learnt from books, so I'm not sure of Internet resources. There's which also has a lot of good reference material. seems to have a more comprehensive overview of C++. I have only skim read the links, though I can recommend C++ Primer if you are willing to shell out on a book.

I would advise you don't get caught up in trying to learn how to program with an IDE. Use TDM-GCC if you're on Windows, otherwise just install GCC from your package manager (assuming you're on GNU/Linux or BSD, no idea about Mac, sorry) and have at it. There is a lot of nuance in C++, so take it slow and really understand each concept before moving onto the next. For example, don't gloss over how pointers work at a high level, get to know what it is that's occurring when you dereference them, assign them, and free the memory they point to (as well as what happens when you don't free the memory!).

Of course, a C++ program can become very heavy very quickly in terms of overuse of virtual functions and the initial lack of understanding that is inherent with how the CPU cache works at a low level and how to appease it to get the best results. If you are conservative with your use of C++'s features (i.e. anything that will cause extra code/data to be inserted without your express permission), then you shouldn't have too much of a problem.

(1 edit)

Okay! Thanks so much. That primer book is an amazon best seller, so I assume it's pretty damn good. I might read it first in my spare time, and then maybe try applying it to a game environment:
the last thing I wanted to ask; Is applying C++ knowledge to the dreamcast environment a difficult jump? Basically, once I have the feel of C++ coding, will it be easy for me to make the transition into Dreamcast?

I think it will be slightly shocking when you start out. There is a lot to learn to get the most out of the Dremcast, however, for something like a Run-'n'-Gun or Beat-'em-Up game it shouldn't be too overwhelming. The major difference is that the Dreamcast isn't a PC and you have to be mindful that it most likely has 1/1000th of the RAM that you have in your computer (assuming you have 16GiB RAM). Also, while the CPU can do vector operations such as the dot product and matrix multiplication, that's really all it can do for accelerating vector mathematics. There are quirks, much like any console, but you can learn to work with them pretty quickly.

Start out slow and work up your knowledge. It will help reveal the rest of the iceberg under the water.

I would highly recommend you get a Broadband Adapter for your Dreamcast. This thread on Reddit mentions that they're going pretty cheap right now. For perspective, I paid £110 for one two years ago. It's the best method for homebrew on the Dreamcast and you can emulate a CD-R without having to burn one.

If you haven't already, take a quick look through these forums for an idea of the issues that Dreamcast programmers face.

I'm considering bundling the current set of tools for Dreamcast homebrew into an easy-to-install package for Windows and GNU/Linux so people don't need to go through the trouble of compiling it (lilterally) themselves.

Pleassse do! I think it'll help tremendously for the success of this gamejam! The Dreamcast seems like a super fun development platform, it just has a few barriers that need to be overcome.

Thanks so much for being understanding! I'll get to it and let you know if I have any questions. :)

Wait a minute... I know this is old, but as I'm looking up more of what I need to make this happen, I'm seeing on the thread you linked a few months ago:

They're talking about an SD Card option over the Broadband adapter for emulation on the console itself. Is this legit? Because I can't find that dang Dreamcast BBA for less than 100 USD

You can use the SD card adapter to emulate an ISO, though you'll need to reboot your console constantly and navigate DreamShell each time you modify, add, or remove content from the ISO or change your program. I'd recommend using an emulator and intermittently test on a retail unit.