Porting to Java
Moderators: winston, another_commander
Porting to Java
The main idea to completely rewrite Oolite in Java using jMonkey game engine.
http://www.jmonkeyengine.com/
The game engine, physics (yeah, inertia, better explosions, deformations etc), input handling and lots of other routine is already written. The only effort is needed to assemble all components into Oolite world. Most of the "universe rules/laws" should be scripted. Of course rendering is accelerated (currently OpenGL only), allowing complex meshes and eye-candy if someone wishes to create such content.
The project is intended to re-create Oolite as closely as possible, preserving OXP and resources compatibility. The already available game assets is the main reason I think the project will be completed soon enough.
Although this game is announced as Oolite port, I will try to implement new features like better physics, short hyper-jumps (good in combat) etc. Your concepts, thoughts, ideas and criticism are welcome.
P.S. please, keep your "java is to slow" if you haven't written any java program in the past 2 years
http://www.jmonkeyengine.com/
The game engine, physics (yeah, inertia, better explosions, deformations etc), input handling and lots of other routine is already written. The only effort is needed to assemble all components into Oolite world. Most of the "universe rules/laws" should be scripted. Of course rendering is accelerated (currently OpenGL only), allowing complex meshes and eye-candy if someone wishes to create such content.
The project is intended to re-create Oolite as closely as possible, preserving OXP and resources compatibility. The already available game assets is the main reason I think the project will be completed soon enough.
Although this game is announced as Oolite port, I will try to implement new features like better physics, short hyper-jumps (good in combat) etc. Your concepts, thoughts, ideas and criticism are welcome.
P.S. please, keep your "java is to slow" if you haven't written any java program in the past 2 years
- Cmdr James
- Commodore
- Posts: 1357
- Joined: Tue Jun 05, 2007 10:43 pm
- Location: Berlin
I am (professionally) a java developer, so I am kind of biased in favour. It would allow me to contribute more, and it would broaden the number of people able, and willing to contribute.
However, I really dont see the point, oolite works really quite well, has an extensive oxp library and really, if it isnt broken, dont fix it.
I think there are a lot of cool games that could be written, and I see it as something of a waste to create another elite-alike.
In all seriousness, as a java guy with about 10 years experience, I am motivated to learn some objective c and help on oolite. I have no motivation at all to start again on a java version. I know this is putting a lot of faith in my judgement, and, as anyone who knows me will tell you, that is a grave mistake to make. But I think that its not worth the effort.
That said, good luck -- Id love it if there were a better, more portable, more extensible, more stable, more er, other stuff version.
The one argument in favor of a java version, is that there are quite a few areas of the code which are spaghetti, and I have a feeling starting again, *in some areas* might be easier than sorting it out into a well documented understandable system.
However, I really dont see the point, oolite works really quite well, has an extensive oxp library and really, if it isnt broken, dont fix it.
I think there are a lot of cool games that could be written, and I see it as something of a waste to create another elite-alike.
In all seriousness, as a java guy with about 10 years experience, I am motivated to learn some objective c and help on oolite. I have no motivation at all to start again on a java version. I know this is putting a lot of faith in my judgement, and, as anyone who knows me will tell you, that is a grave mistake to make. But I think that its not worth the effort.
That said, good luck -- Id love it if there were a better, more portable, more extensible, more stable, more er, other stuff version.
The one argument in favor of a java version, is that there are quite a few areas of the code which are spaghetti, and I have a feeling starting again, *in some areas* might be easier than sorting it out into a well documented understandable system.
Thanks for comment. Actually my plan is not to create a good game, but rather to get myself used to jMonkey/Java3D.
I can't create my own game assets, no skills/talents So creating a fresh new game is not an option. Currently I'm not interested in sound, so a cosmo-sim appears to be a good choice. The scenes and models need not to be complex, however loading a highly detailed, hairy, murky, bloomy, slippery, bump/parallax-mapped moving spider, shouting all kinds of particles into space - is my desire.
If you think there is another project, that suits better as learning base, then please hint me with a link
I can't create my own game assets, no skills/talents So creating a fresh new game is not an option. Currently I'm not interested in sound, so a cosmo-sim appears to be a good choice. The scenes and models need not to be complex, however loading a highly detailed, hairy, murky, bloomy, slippery, bump/parallax-mapped moving spider, shouting all kinds of particles into space - is my desire.
If you think there is another project, that suits better as learning base, then please hint me with a link
-
- Quite Grand Sub-Admiral
- Posts: 364
- Joined: Tue Aug 17, 2004 7:05 am
- Location: Orange, NSW, Australia
That is not a good start... if you don't care about creating a good game, you won't put enough effort into it. Just porting Oolite to a different platform using the same language was a huge effort.Sardar wrote:Thanks for comment. Actually my plan is not to create a good game, but rather to get myself used to jMonkey/Java3D.
Don't just port Oolite to Java, that would miss a big opportunity to improve upon it. The biggest problem with Oolite is that the original Elite algorithms/ideas are hard-coded in the game engine and the making it pretty well unmoddable except for trival things like new ships/missles/extra planet here or there - ie more of the same.
The JavaScript work was started as a possible solution to this, but can only provide so much extra flexibility - you'll never be able to change the galaxy layout to any useful extent, or make 3D star maps, or change the navigation, etc, etc.
If you're going to do that much work, redesign it so it is a bit more flexible.
Note this is not a criticism of Oolite - it meets it design goals perfectly. It just means it can't be anything else.
Regards,
David.
Regards,
David Taylor.
David Taylor.
- Cmdr James
- Commodore
- Posts: 1357
- Joined: Tue Jun 05, 2007 10:43 pm
- Location: Berlin
Not that this is a superhelpful idea, but I always wished there was a modern version of (ie one I can run without nasty emulators) of Tau-Ceti. Maybe you could write an oo-ceti
Its the same kind of vintage as elite, and similar, simpler I guess, vector graphics, and only 2d (3d first person universe with no real up-down, kind of like doom).
Its the same kind of vintage as elite, and similar, simpler I guess, vector graphics, and only 2d (3d first person universe with no real up-down, kind of like doom).
Thanks for comment. I was thinking about this... Things I miss in (E)Oolite are:dajt wrote:If you're going to do that much work, redesign it so it is a bit more flexible.
- To some degree persistent game world. If you or other trader have dropped stuff at the station, then selling prices will be lower for the next few weeks. Persistent constantly moving asteroids, space stations and perhaps large ships (eg. Black Monks etc).
- More interaction with others, so you can at least ask for help.
- Separate ratings for different planets/races. This may affect prices, possibly quests and degree of offered protection.
- Better physics, so dropping you cargo will result in better maneuvering and accelerating abilities. You may purchase a magnetic bay, which can hold you stuff together, so you can get everything back quickly. Of course another smart guy could take you stuff while you are fighting
- Really persistent world. NPC's live in (simplified, probability based) real-time world together with the player (and possibly other players connected to that machine). Lots of data.
- AI with learning abilities. Could be to heavy to compute in real-time for multiple ships.
- Realistic damage calculations.
- Multi-player.
The first step is to bring some sense of dynamics/kinematics into the world. Of course something like Orbiter is overkill
Then graphics rendering. After that I will try to merge all good ideas, possibly as pluggable modules and scripts.
Sorry, I don't have the game assets (graphics, sound, models etc) and I don't want to disassemble the ZX Spectrum executable just to get these... And it is little to no challenge from programming perspectiveCmdr James wrote:but I always wished there was a modern version of (ie one I can run without nasty emulators) of Tau-Ceti
-
- Quite Grand Sub-Admiral
- Posts: 6681
- Joined: Wed Feb 28, 2007 7:54 am
- DaddyHoggy
- Intergalactic Spam Assassin
- Posts: 8515
- Joined: Tue Dec 05, 2006 9:43 pm
- Location: Newbury, UK
- Contact:
"Terrific" - to instill Terror.
Interesting choice of word...
(Converting any program from one language to another is definitely my idea of sitting bolt upright in the middle of the night screaming)
Interesting choice of word...
(Converting any program from one language to another is definitely my idea of sitting bolt upright in the middle of the night screaming)
Oolite Life is now revealed hereSelezen wrote:Apparently I was having a DaddyHoggy moment.
- Cmdr James
- Commodore
- Posts: 1357
- Joined: Tue Jun 05, 2007 10:43 pm
- Location: Berlin
Well, I cant speak for anyone else, but I have been on technology change projects, where someone spends millions of dollars to reimplement stuff in a new language. It is generally slow and painful, with lots of things you never get to understand, and at the end of it, if you did it right, you are exactly where you started.
There can be good reasons to rewrite code in a new language, but my experiences tell me that its not something to go into lightly.
There can be good reasons to rewrite code in a new language, but my experiences tell me that its not something to go into lightly.
There are 100s of MySpaceSimulatorGame´s in development right now..krombart wrote:As I don't have a *ck** clue about real programming projects, you should take me with a grain of salt.
I wouldn't like to see a simple oolite clone in a new language, but a whole redesign, aka a new game.
Some are online, some are not...
But for them all counts... They develop very slow, cause, it is usually a one man project, maybe with a few assistants...
Oolite developed into a Release because while it does look very complex, most of it is pretty simple, however still time consuming to write and debug..
More Advanced features like shader support and java scripting is reasent additions, thanks to Ahruman... Who have not developed "Coders Block" yet ...
Bounty Scanner
Number 935
Number 935