46
Developer's Corner / Re: Major engine restructuring.
« on: May 16, 2007, 17:18:56 »
A job like this will be a substantial amount of work, there are factors like (deathz0r already said some)
1) Gameplay mechanics
2) Crossplatform issues
3) Time (how long it will take)
4) Dehacked, boom features which rely on the current infrastructure of the doom engine to work properly.
5) The new design (also taking into account the above points)
I'm sure there are more, a rework like this requires a serious amount of thought as you probably know, to break it down, the following systems (and subsystems) need to be reimplemented.
Systems
1) Wad loading
2) Renderer
3) Automap
4) Menu system
5) Tick system
6) AI, Monsters
7) God knows what else.
Subsystems:
1) Video
2) Sound
3) Input
4) Network
Now you have the stuff that almost makes doom, but if something like this is going to be attempted, it will need to be extendable, because there is no point in doing something like this if its going to be just as limited.
Here are a few ideas I had:
1) Multithreading for all systems and subsystems, computers with SMP/Multiple CPU cores can take advantage of it
2) Module/plugin system, similiar to doomsday, without modules, it'd just be straight odamex with boom and whatnot, but then it could be used to add additional functionality like gameplay modes, bots, ingame launchers etc.
3) Whatever else is here
And jeez, if I could think of anything else, I would :P
1) Gameplay mechanics
2) Crossplatform issues
3) Time (how long it will take)
4) Dehacked, boom features which rely on the current infrastructure of the doom engine to work properly.
5) The new design (also taking into account the above points)
I'm sure there are more, a rework like this requires a serious amount of thought as you probably know, to break it down, the following systems (and subsystems) need to be reimplemented.
Systems
1) Wad loading
2) Renderer
3) Automap
4) Menu system
5) Tick system
6) AI, Monsters
7) God knows what else.
Subsystems:
1) Video
2) Sound
3) Input
4) Network
Now you have the stuff that almost makes doom, but if something like this is going to be attempted, it will need to be extendable, because there is no point in doing something like this if its going to be just as limited.
Here are a few ideas I had:
1) Multithreading for all systems and subsystems, computers with SMP/Multiple CPU cores can take advantage of it
2) Module/plugin system, similiar to doomsday, without modules, it'd just be straight odamex with boom and whatnot, but then it could be used to add additional functionality like gameplay modes, bots, ingame launchers etc.
3) Whatever else is here
And jeez, if I could think of anything else, I would :P