edit: rewrote major parts, pls read again
1. What should be a strategic long term goal of Orxonox.
Long time goals:
I'm still in love with the multiplayer part of Orxonox, which fell asleep a year ago
But still I think multiplayer is the easiest way to make it fun in short and long term. Orxonox did never try to be special in terms of game modes. But for the multiplayer part, Orxonox should invent something very new and special (there needs to be a reason that attracts people).
Then I also speak for a short singleplayer game sequence that keeps the story open at the end. As we actually also wanted to implement it.
2. What would be your goals for Orxonox in the next semester.
Many did complain about the quality of the code base of Orxonox. I agree, that after almost two years of PPSs the code base has a natural tendency to become messed up. So the big decision to make will be: do we take the time to make it better or do we move on developing new things and complaining about sometimes crappy code?
It's not realistic to do this in the semester vacancies since most of you are learning anyways. Of course it would be much nicer to do it this way.
I'm not sure how many people will come to a PPS. where the topic is cleaning up code.
3. How would you try to reach the goals.
Take either the semester ferien or the next semester to do a deep rework of Orxonox. Put it in better shape and document it. Or assign the students of the next PPS to do this. How will we make sure they do a better job than we did?
If we do a rework of the engine, let's do it properly! There are many things, I would do differently now, most important parts:
rely on specialized external libraries, focus on game programming mainly.
I'm willing to sacrifice a great part of the current orxonox code base to be replaces with external libraries. Good external libraries have some very important pros to self-made modules:
- they are properly documented, even with example code
- restricted support (important things get fixed pretty fast), mailing lists, forums
- much more specialized than we are: much more features, than we could ever implement
- often with support of better editors etc.
- better learning effect for students
Therefore I suggest to replace all code of Orxonox that involves either graphics, physics and collision with external modules. So let's just keep the things, that make up orxonox itself (the game): World Entities, Story Entities, loading, scripiting, networking, etc.
This sounds crazy, but I don't thing that it's too hard to be accomplished the pros are massive:
- support graphical effects like shadow, bump/normal-mapping
- open gl GUI for free
- cross-compatibility for free
- physics for free
- many different file formats supported
From this point on, we can focus on making games only
Core Problems For CleanUps:
- exchange the pnode system with the ODE implementation
- change to a new graphics engine (e.g. OGRE)
- integrate states (menu, pregame, loading, game, postgame, in-game-menu, etc.) much better into the framework. Remove this stateless fuzzyness
Minor Problems:
- Do a clean rework of the whole weapon system from scratch (perhaps nicolasc knows more about this)
- Differentiate game styles (fps, vertical scroller, action box) better and not in every world entity on its own
So which external graphics library would we like to take? i stared a new thread about this:
here
cheers,
patrick