Seems like a great idea to me, you’ve got my vote
Engineering is an art of compromise. Engineers evaluate the requirements at hand and select a solution which best meets the requirements. For a game engine, what works for the iPhone doesn’t work for the Playstation3, and vice versa. To use a vehicle analogy, you have trucks, you have sports cars, and it’s impossible to make something which suits every purpose. Jack of all trades, master of none.
There are so many open source middleware engines, that any one of them can be (and have been) ported to BeOS / Haiku. Including the middleware in the OS is a waste of everyones time.
I think HW 3D are more important than a 3d Egine. When that are done we can have a look at Quake for BeOS I think I sill have the code somewhere.
The question is what will be the benefit to have game engine included with the OS?
My opinion is none if you do not port all the games that work with that engine too…
If Haiku has OpenGL Driver and GCC 4 (a lot of 3D Engine use some features of the last version of the C++ specifications), it will not be to hard to port a lot of 3D Engine (Ogre3D, Irrlicht,…).
The main problem of Haiku is Drivers and GCC 4. After that a lot of people will be intersted in porting their applications.
Very true greg, and I do agree that it shouldn’t be a priority of the dev’s.
I just wanted to throw my idea out there and get some feedback, thanks for the responses :).
"Currently there are no ports for Linux, Mac OSX, or [insert your favorite platform here] in development, although the code is written with portability in mind. "
"Required: Win32, OpenGL, OpenAL, DirectX"
These two don’t seem to fit together. If the code was “written with portability in mind” then why the heck did they then go and tie it to DirectX and Win32… If you want to make your engine portable use OpenGL. But there is this:
http://sourceforge.net/projects/dxglwrap which is the open sourced version of the RealTech VR Directx8.0 wrapper for BeOS.
Note that Haiku has some game libs that mostly work, those being SDL and Allegro, but there’s some Haiku bugs that prevent them from working 100% correct for now.
The benefit would come from non game applications of the engine. Imagine a word processor with real 3D “word art”, 3D spreadsheets and more interesting special effects in presentations. All these apps would use the same engine so there would be more code reuse.
You mean the stuff that Haiku already provides with the native APIs?
If anyone’s bored, probably the first target for game engine porting should be the quake 3 engine:
That branch of the GPL’ed code is portable and has some recent whistles and bells, like integrated VOIP, IPv6 support, and some graphical updates.
It’s been ported to (both 32 and 64 bit) windows, mac os x (PPC and x86), linux, linux ppc, solaris x86, solaris SPARC, and I think SGI-Irix for MIPS. Hell, I’ve seen a port of it to the iPhone as well so add OS X on ARM to that list. It takes advantage of a virtual machine system for the game code, so any game tweaks/mods can be created as a “QVM” (quake virtual machine) and run on any platform that ioq3 has been ported to.
So porting ioq3 to Haiku would also open up compatibility to pretty much any existing QVM-based quake 3 mod and would give other projects that leverage the quake 3 codebase a starting point to port to Haiku. Off the top of my head, stuff that’s based off of ioq3/quake3 include modern stuff like XreaL ( http://xreal.sourceforge.net/xrealwiki ) and SpaceTrader ( http://www.playspacetrader.com/ ) - the latter being by the same blokes who ported quake 3 to the iPhone.
I know the quake 3 engine is “old” and doesn’t have some of the eyecandy as the newer engines, but it also is tried and true, relatively portable, and has a bunch of free content and tools that work with it. It HAS been ported to other OS’s and platforms rather than, as someone pointed out already, a game engine that was written with portability in mind but hasn’t actually been ported anywhere.
I know I’m coming off as an advertisement spambot, but I don’t know of any other commercial-grade game engine that’s both multi-platform and has the ability to do a write-once play-anywhere system. The original Quake with QuakeC comes close and I suppose Unreal with UnrealScript (maybe) but I don’t see those either as modern or as well-ported as Quake 3. Quake 2 never used a virtual machine or scripting language, just hard-compiled platform-specific binaries, so I wouldn’t imagine anything Quake 2 based would be all that fun to port, though it had been ported to BeOS in the past.
Anyway, those are my two cents on the subject. I agree that it’s a waste of time to include a ported game engine as part of an OS, but if someone were to roll Haiku support into ioq3, it could only help Haiku. Then again, I suppose SDL and OpenAL and OpenGL need to be sorted, first…