how does one get started in DC programming?
-
- DCEmu Newbie
- Posts: 7
- https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
- Joined: Sun Jun 04, 2017 4:18 am
- Has thanked: 0
- Been thanked: 0
how does one get started in DC programming?
as the question says what kind of programming skill set do you need to get stated? the tutorials on the main page were a little too advanced for me.. i'm a huge fan of the dreamcast and i'm amazed there is a community supporting this console! if one day i make some contribution, like one day making a game, that would be a dream come true. but the technical information here is a little over my head..what kind of preliminary knowledge do you need?
Re: how does one get started in DC programming?
Short answer: learn C(++).
Longer answer:
- programming for dreamcast (or any other "retro console") is very hard (next to impossible if you have no programming experience at all). Even building KOS on its own is not easy (if you use Windows), so you should start with that and see if you can handle it at least.
- There is no ready to use engines and IDEs, so you have to write everything yourself. You should try making a PC game first (2d platformer, perhaps?)
- Once you have finished your first game (at least a playable prototype), you might want to start with KGL (an OpenGL implementation for Dreamcast). It's far from perfect, but it's the simplest way to handle graphics.
- 3D programming is even more complicated. There is no hardware T&L on Dreamcast, so you have to implement all matrix functionality (including projection with perspective divide and mapping to viewport, frustum culling\clipping etc) and dynamic lighting yourself. It's somewhat comparable to writing you own software renderer (without rasterization part, you have PVR2 for that). If nothing of this makes sense to you - forget about 3D.
- use search. This place has a lot of useful info (including "getting started" threads like this)
- if you decide to give up with programming (which is understandable, nothing wrong with that), perhaps you should try modding existing game (if there are tools for it), or wait for something like this:
https://www.youtube.com/watch?v=zwv4r4nAIIE
Longer answer:
- programming for dreamcast (or any other "retro console") is very hard (next to impossible if you have no programming experience at all). Even building KOS on its own is not easy (if you use Windows), so you should start with that and see if you can handle it at least.
- There is no ready to use engines and IDEs, so you have to write everything yourself. You should try making a PC game first (2d platformer, perhaps?)
- Once you have finished your first game (at least a playable prototype), you might want to start with KGL (an OpenGL implementation for Dreamcast). It's far from perfect, but it's the simplest way to handle graphics.
- 3D programming is even more complicated. There is no hardware T&L on Dreamcast, so you have to implement all matrix functionality (including projection with perspective divide and mapping to viewport, frustum culling\clipping etc) and dynamic lighting yourself. It's somewhat comparable to writing you own software renderer (without rasterization part, you have PVR2 for that). If nothing of this makes sense to you - forget about 3D.
- use search. This place has a lot of useful info (including "getting started" threads like this)
- if you decide to give up with programming (which is understandable, nothing wrong with that), perhaps you should try modding existing game (if there are tools for it), or wait for something like this:
https://www.youtube.com/watch?v=zwv4r4nAIIE
Re: how does one get started in DC programming?
i was able to follow along until you got to the 3d section.. frustum culling X_X.. totally lost.111 wrote:Short answer: learn C(++).
Longer answer:
- programming for dreamcast (or any other "retro console") is very hard (next to impossible if you have no programming experience at all). Even building KOS on its own is not easy (if you use Windows), so you should start with that and see if you can handle it at least.
- There is no ready to use engines and IDEs, so you have to write everything yourself. You should try making a PC game first (2d platformer, perhaps?)
- Once you have finished your first game (at least a playable prototype), you might want to start with KGL (an OpenGL implementation for Dreamcast). It's far from perfect, but it's the simplest way to handle graphics.
- 3D programming is even more complicated. There is no hardware T&L on Dreamcast, so you have to implement all matrix functionality (including projection with perspective divide and mapping to viewport, frustum culling\clipping etc) and dynamic lighting yourself. It's somewhat comparable to writing you own software renderer (without rasterization part, you have PVR2 for that). If nothing of this makes sense to you - forget about 3D.
- use search. This place has a lot of useful info (including "getting started" threads like this)
- if you decide to give up with programming (which is understandable, nothing wrong with that), perhaps you should try modding existing game (if there are tools for it), or wait for something like this:
https://www.youtube.com/watch?v=zwv4r4nAIIE
okay beginning to understand a little bit now. the picture is clearer. right now unity is a popular option for getting started with game dev and that's where i wanted to start. eventually i hope i'll learn a thing or two that would be transferable to dc programming, although i wonder how easy it is to port a unity game, at least from the programming side of it. this is of course assuming that these two are comparables. guess in the meantime the other way to get involved is to support dc projects or developers on kickstarter
Re: how does one get started in DC programming?
^
Any modern 3d game engine is a completely different world and unity is no exception. DC's pvr2 gpu is fixed function, while every modern gpu is programmable, you have no luxurious stuff like gigabytes of memory, managed runtimes (C#, Java) and so on.
Try to make something using legacy OpenGL (1.x). This way you can port your game using KGL, as I said earlier. NeHe tutorials is a good place to start.
And again, you are pretty much on your own with this. You best bet is to look for some legacy (pre-2005 or so) gamedev stuff, but it's somewhat hard to find these days. I am not aware of any decent books I could recommend as well (as for myself, I've learned a lot thanks to Sonic Adventure DX modding (how to deal with triangle strips, vertex colors etc) and a lot of trial and errors ).
Anyway, you are not going anywhere unless you actually start coding your game. Don't rush and don't be afraid to ask for help, but do not expect anyone to do the job for you. That's all I'd say for now.
Any modern 3d game engine is a completely different world and unity is no exception. DC's pvr2 gpu is fixed function, while every modern gpu is programmable, you have no luxurious stuff like gigabytes of memory, managed runtimes (C#, Java) and so on.
gameplay mechanics is probably the only part you might consider (excluding physic engine).grand wrote: although i wonder how easy it is to port a unity game, at least from the programming side of it.
Try to make something using legacy OpenGL (1.x). This way you can port your game using KGL, as I said earlier. NeHe tutorials is a good place to start.
And again, you are pretty much on your own with this. You best bet is to look for some legacy (pre-2005 or so) gamedev stuff, but it's somewhat hard to find these days. I am not aware of any decent books I could recommend as well (as for myself, I've learned a lot thanks to Sonic Adventure DX modding (how to deal with triangle strips, vertex colors etc) and a lot of trial and errors ).
Anyway, you are not going anywhere unless you actually start coding your game. Don't rush and don't be afraid to ask for help, but do not expect anyone to do the job for you. That's all I'd say for now.
Re: how does one get started in DC programming?
This is one of the greatest graphics/general programming programming books from 1997 (era of the DC, before graphics cards) by one of the greatest game programmers back then (worked on Quake for example) https://github.com/jagregory/abrash-black-book/releases111 wrote:^
Try to make something using legacy OpenGL (1.x). This way you can port your game using KGL, as I said earlier. NeHe tutorials is a good place to start.
And again, you are pretty much on your own with this. You best bet is to look for some legacy (pre-2005 or so) gamedev stuff, but it's somewhat hard to find these days. I am not aware of any decent books I could recommend as well (as for myself, I've learned a lot thanks to Sonic Adventure DX modding (how to deal with triangle strips, vertex colors etc) and a lot of trial and errors ).
Wiki & tutorials: http://dcemulation.org/?title=Development
Wiki feedback: viewtopic.php?f=29&t=103940
My libgl playground (not for production): https://bitbucket.org/bogglez/libgl15
My lxdream fork (with small fixes): https://bitbucket.org/bogglez/lxdream
Wiki feedback: viewtopic.php?f=29&t=103940
My libgl playground (not for production): https://bitbucket.org/bogglez/libgl15
My lxdream fork (with small fixes): https://bitbucket.org/bogglez/lxdream
Re: how does one get started in DC programming?
Never seen it before, but it sure does look promising. Thanks for sharing.bogglez wrote: This is one of the greatest graphics/general programming programming books from 1997 (era of the DC, before graphics cards) by one of the greatest game programmers back then (worked on Quake for example) https://github.com/jagregory/abrash-black-book/releases