I'm bored because of corona-time, so I decided to comment.
Please don't take it the wrong way, if something *might* sound rude - it's definitely *not* my intention!
have you programmed games before? how familiar are you with C? have you ever implemented network functionality in games?
Arvex wrote: ↑Sun Mar 29, 2020 2:25 pm
I've been considering developing my next homebrew game for the Dreamcast after I finish my current game and wanted to ask about engines and other resources you would recommend for me to look into.
the most *feature complete* engine in the open-source community for dreamcast is the Quake1-engine. if it doesn't fit you - good luck. that's so much for engines. the others new ones like Simulant are in early phases (and there is absolutely nothing wrong in it) - they are programmed by some user to fit the said users need first. for Simulant it would be
Swirling Blades: Desert Thunder - the engine will follow the accompanied game more or less, means whatever he needs for his game, will find it's way into the engine... and that's also the proper way to do it.
there is no holly grail kinda engine that makes everything
more appropriate questions would be - what is an engine and what does it do?
there are no drag'n'drop click-here editor driven suites like unity or unreal on Dreamcast
I found a Reddit post from two years ago that had a bit of a getting started guide, but half of the links didn't work anymore. I got KallistiOS installed on my Linux box a few days ago, but then found out from someone else KallistiOS is better suited to 2D games, so I wanted to ask here in case any new engines have become available since the time of that post.
yes and no.
Because KallistiOS has no real rendering engine kinda stuff build-in - instead it provides the functionality for you to build one yourself - leaves you with the task of writing the full renderer. So you need to know the advanced math behind it. And how clipping works. As the math for 2D is simpler - and you can skip near-plane clipping entirely - it makes it easier.
And if you know all the math behind the 3D stuff - implement it in the fastest way possible (<- yeah this step here -go go power rangers-)
There was a lot of work done on the OpenGL support for DC - but honestly, as *okay* as it is - it's not the fastest way possible. It is easier to start with if you are already familiar with (old) OpenGL... You want speed? -> get good in SH4-assembler...
[*]Most of my development experience is with C and C#, though I'm in the process of learning C++ for Unreal Engine 4 if that opens up any engine options.
if you want to stick with Dreamcast:
forget about C#. IF you WANT to learn C++, sure go ahead, learn it. If you dive into Unreal Engine 4, keep in mind you won't be using any of it for Dreamcast related things
let's say you learned C++ with all (okay *most* or *some*) of it's "features" and want to start on dreamcast:
forget nearly everything you learned on C++.
*personally* i would stick with C. (but hey I do the same also for non-DC stuff where I don't have to touch C++ at all - it is a horrible language, with every standard its clusterf*ckery becomes bigger and bigger IMO)
keep in mind that the compiler support on DC is not that flexible. And it is buggy. Sh4 is not a priority for GCC. forget about newer C++ standards for this one
treat the dreamcast as what it actually is - a low power, really old hardware embedded system with really constrained memory limitations
[*]I need the engine to support Blender 2.49b 3D models or a format it can reliably export to (long story why I still use a nearly 11 year old build of Blender.)
thats a non-feature. blender is very friendly with it's api and python support. come up with a good internal file format what suits you best and write and exporter for it.
OBJ, 3DS, LWO, FBX, Collada etc are interim formats - meant for exchanging models (or scenery) between 3D-graphic-applications - these there never meant to be used in games directly.
[*]Online play is something I would like to explore. At the very least, an online leaderboard for time trials and LAN multiplayer so people can set up a VPN tunnel to connect if they want to.
online leaderboards are very easy to do. actual online multiplayer - not so much. it is a pain in the *** to get right...
[*]Depending on the scope I settle on, I'm considering selling this game in some capacity (even if it only ends up being a fancy physical edition to put on display,) so I would need to make sure whatever engine I pick allows for commercial development.
most game engines would allow commercial distribution. make sure what other obligations come with them
for example: source code release for GPL licences (<- that would include Quake1)
Arvex wrote: ↑Tue Mar 31, 2020 5:09 pm
I've seen a few 3D engines for the Dreamcast that look like they haven't been touched in a long time, but are still available on Sourceforge. I might tinker with some of them a little bit while I wait on Simulant to get my feet wet. Or, if I find one I like, maybe I'll try working with one of those outdated engines and modify it as needed.
The first one I found was Iris3D, but it looks like someone else continued work on it as Holly3D. I'll see where that leads me or look at other unsupported engines. I'm no stranger to working with outdated toolsets that aren't supported (or are sometimes even unfinished.)
nah, skip them. they are old, unmaintained and a pain to get working. they were never *good* in the first place. that i mean by that - never feature complete (far from it), slow and buggy. Some of them might have had some interesting ideas behind the scenes, I wouldn't argue that
nearly all of them used the OpenGL implementation for rendering, and the old implementations were really crappy.
The newer ones are much much better.
in my opinion - save your time on Holly3D etc.