Master thesis: gameworld framework on top of jme

hi @ all,



i am realtive new to jme. till now I only did some simulation with jme during my studies.



But now it's time for my master thesis. I thought about a little framework on the top of jme for easier game-programming.



most of the games have the same content… alandscape, a ground, a map or something like that


  • static gameobjects like houses or fences

  • "dynamic" game objects like playable- or non-playabe-characters, cars, vehicles and so on

  • a kind of light-system, like a virtual sun that blinds or a candle in a dark room

  • collision detection: peaople can't walk through walls or fall below the ground

  • for multiplayer games: a client-server-part that handles a specific protocol and where people can walk around in the world together



jme is great, but it could be easier to set up a prototype that supports all those things.

my question to you:

- do you know an api or a framework or something that enables you to do all the stuff mentioned above in a very easy and abstract way?
or
- do you think there should be a framework that supports the features mentioned above?

i know, jme can do most of this, but not implicitly in a short and abstract way.

Oh, and please excuse my english. I'm not sure if i found the right words to explain it correctly...

regards,
Alex
1 Like
- do you know an api or a framework or something that enables you to do all the stuff mentioned above in a very easy and abstract way?
or
- do you think there should be a framework that supports the features mentioned above?


1)  Not sure if this is what You have in mind but have You looked at MonkeyWorld3d ? ( http://monkeyworld3d.sourceforge.net/ )

2)  Yes, there should be


... only my 2 cents

I think this is a very good endeavor.  I look forward to seeing what you come up with. :slight_smile:

1 Like

@winkman:



yes, i had a look at monkeyworld3d … but I think it's only useful to create szenes or place objects into the world.

it's still part of the coder to put all the things together… and IMHO it's all possible with jme, but its still hard work.



@darkfrog:



it's not sure that i'm doing this master-thesis. I have two master-thesis offers from two companies… time will tell if the decide in favor of me …



but even if i don't make this as my master-thesis i'm still interested in jme and a framework like mentioned… maybe i start this ptoject in my free time …

1 Like

The points you outlined sound like very good areas to address in a framework, they are pretty much the areas I've found to be the most work in my project. In particular, the collision detection is probably the hardest problem. I've been addressing it using jme physics, but this isn't ideal for all purposes, and I've been using a mixture of jme-physics, jme picking, and some of my own code for collisions with terrain, but I'd much rather have an integrated system that did basic non-intersection (so I can't walk through objects) and plain collisions for stuff like bullets. I'd be very interested in helping with something like that in the future, for the moment I'm just looking at extending my very thin slightly hacky wrapper around jme-physics (which by the way is excellent if you want real physics, it's just that I don't really want full physics!) I've also been working on steering code, which naturally fits in with collision code but has some extra needs in addition (it's helpful to have extra, much simpler collision geometry like spheres, capsules, etc. to help with steering, bounding models can be good for this, but in general you might not want to use the same bounding, for example you might want to have multiple bounds objects that together bound a mesh, instead of one unified bound that may be quite a lot bigger than it needs to be).



I've had some success on the static objects front by using blender to make maps/levels. I create named nodes with stand-in meshes in blender, for example I might have a set of nodes named ring.001, ring.002, etc. Then I have a loader that loads that scene, strips the stand-in meshes, and replaces with rings that I use to mark out a racing course. Blender is quite nice to use for laying out objects, it's also pretty easy to use height maps to duplicate terrain inside blender to allow for lining stuff up. Plus with the new render baking code, it's possible to bake in nice lighting effects on meshes to pick up the lighting in a particular position, etc. I think some blender scripts could make this even easier. I keep meaning to look at MonkeyWorld3D as well :slight_smile:

1 Like

@wooyay



No, not in direction of autometed code generation. I thought about an api/framework that abstracts the mostly needed features to an easy-to-use set of classes/methods



@shingoki



these areas are, IMHO in most of the games every time the same … so why don't create a framework making it easier?

of course, there should be programs to design all the stuff, but putting all together should be done in java. scripting in blender would me it easier to design, but coding is still a big part of the work.



I don't know if it's clear:

the project i thought about would helpt the programmer to put all together, not helping to design the world. it's still a decision of the coder to choose the tools for creating landscapes and models or scenes.

1 Like

Yup I agree :slight_smile:



The blender scripting/creating landscapes/models/scenes isn't very closely connected to what you were saying, but you mentioned static meshes on maps, so I was recommending blender as a way of designing and placing them. Plus it would be good if any tool or framework works well with blender. Scripting in blender won't help with the jME side of a framework as you say, but a big part of any framework that includes collision etc. will be support for creating the meshes and assigning collision data to them, then getting those meshes and data into a game easily, so support in a good modeller is a big part of the whole thing.

1 Like

Is this thread still alive? Did you get your master thesis? I like the idea of some high level game API for JME, so please keep us informed of the progress. :slight_smile:

1 Like

And if yoiu need any help with parts or all of the stuff you need, let us know. We are all more then willing to help.



I'm currently working on a spacve game myself, and I had similar plans to wheay you're explaining, but more towards a space game then a planet bound game. This mostly differs in the map and the movement though. The stuff like collision detection, static / dynamic objects etc. should be interchangable without problems.



So let me know if I can help, two should be able to work faster then one.



Mark

1 Like

Hello there…



You can try a premium solution at http://www.3dgamestudio.com. They have the so-called C-Script, a scripting language that serves as an abstraction layer to DirectX libraries. It has all features you've mentioned above.



It took me a month before I could -theoretically- make my own 3D game without me knowing the basic of 3D programming. For more controls over the engine, you can write your own plugin dll using VC++.



Regards,

Kendy.

1 Like