GSoC 2012 Ideas

  1. Trigger editor: something like warcraft 3 trigger editor is too hard to implement, and we don’t need its gui. Instead ability to make those “variables” call a specific method in my code, to get their result, niftyGui already does this.

    Maybe add an extra api to be able to control the “jmp prefab editor” from the code.

    E.g ability to request to get %name prefab with specified randomization parameters.

How about a redo of the spidermonkey serialisation? Not sure if it would be a three month project though.

I just hate how you have to setup each and every class you want to serialize on both the client and the server, in the same order etc.



What would be preferable would be a way to have the server handle all the IDs and then just do some handshaking the first time the client connects, so the client has the same setup as the server.

Yes it definitely needs some work. I know @pspeed had plans for this but he’s also a busy guy… Any thoughts, Paul?

Me and Paul G are currently working on an Entity System based engine on top of JME and I will require to do some networking in there eventually

When I reach that point, it would be nice if this was fixed, or being fixed. So I don’t have to do it myself.

1 Like
@tralala said:
5) Trigger editor: something like warcraft 3 trigger editor is too hard to implement, and we don't need its gui. Instead ability to make those "variables" call a specific method in my code, to get their result, niftyGui already does this.
Maybe add an extra api to be able to control the "jmp prefab editor" from the code.
E.g ability to request to get %name prefab with specified randomization parameters.


@tralala, @normen said quite many times that the SDK should be astract for suitable for any game kind-type, and in this point I agreed with him...

BTW, I think a Trigger can be simulated via a Custom Control really! I've done that before and may be if you make a separate thread I will share some code, It just copied-pasted from Monkey Zone code and It work pretty well though :p

@tralala said:
I don't know if it is too late but here is my idea. Rework of Jmp editor.
I tried to use it in the past but after 10 minutes i gave up on it, so i don't know what features it has or not.

1) Rework based on :
a) user accessibility
b) workflow: minimize number of clicks needed to get something done.
Currently it is something like blender, you have to press 5-10 buttons to get a simple thing done.
Examples of engines done right unity, warcraft3 editor.
2)Things able to be done on simpleInit(), should be able to be done in the editor. For example particles to follow a specific mesh, GeometryBatchFactory, etc.
3) Prefabs: nodes to be able to be stored as prefabs to be able to be reused later. Something like "brushes". For example i could store a table with chairs and plates as a prefab to be able to repeat it later. Maybe later jme (in another version) will be able to take advantage of their similarity for better performance, disk space used, etc.
4) Support for randomized variables in prefabs, an example is torchlight editor.
For instance i could say "chance for this object" to appear, or "number of random times it can appear" e.g In the table chance to have between 0-5 plates. Chance a dining room to have 0-3 tables. Chance a dungeon to have 0-1 dining rooms.
Why is this useful? for a dungeon creation designer will be able to customize its look and feel. For example every wall has 1-3 torches, every wall has a mini river near it, every wall has chance to have cracks (destroyed texture).


1)2)3 Agreed . 4) Same as the 5) We should make the SDK ASTRACCTTTTTTTTTTTTTT ! :p
@sbook said:
Yes it definitely needs some work. I know @pspeed had plans for this but he's also a busy guy... Any thoughts, Paul?


Yeah, the whole Serializaer thing needs to be rewritten. Even its reliance on ByteBuffers is totally broken in my opinion.

I will rewrite it eventually... at first in stages. I don't have time to mentor anyone, really, and I don't think it makes a good separate project anyway.

what about simple game templates? such as ready to go FPS, RTS and Car racing games etc… with things like nifty, loading screens, HUD, asset loading, simple AI and basic physics built in. Then people can customize it to suit their needs. Just gives new comers a place to start

@pspeed said:I don't have time to mentor anyone, really, and I don't think it makes a good separate project anyway.


You read my mind about what was coming next ;)

@wezrule said:
what about simple game templates? such as ready to go FPS, RTS and Car racing games etc.. with things like nifty, loading screens, HUD, asset loading, simple AI and basic physics built in. Then people can customize it to suit their needs. Just gives new comers a place to start

How would we abstract this? Are there examples in the wild?

didn’t really understand what i’m supposed to be doing, or if my idea is even allowed but i’ll try (never heard of GSoC was just suggesting ideas i thought we needed :P)



Idea

Help newcomers organize their project workflow, by giving them basic templates for popular genres of games. This will allow them to see how these types of games can be made in JME, and give them a head start into adding their own functionality and bringing their visions to life!



Important to JME

New users often find it hard to integrate all of the parts that JME provides. The tutorials give excellent help on individual aspects, but lack a proper routine for putting all these components together.



Not sure about examples but i guess it would be:

https://wiki.jmonkeyengine.org/legacy/doku.php/jme3:user_examples_project

JME tests

Book Samples



Technical expertise

JME knowledge in general :stuck_out_tongue:

2 Likes

to those who say “make the SDK ASTRACCTTTTTTTTTTTTTT”.

  1. you try to convert jme from a game engine to a “render engine” like ogre3d. Every tool in warcraft 3 was used regardless of game gentre (fps, platformer, rpg, card games, chess, tetris). There wasn’t any “specific” thing in it. And it handled all network stuff automatically.
@wezrule said:Important to JME
New users often find it hard to integrate all of the parts that JME provides. The tutorials give excellent help on individual aspects, but lack a proper routine for putting all these components together.


I think that's a good point.. I've come to a similar conclusion where someone seems to have gone through the starter tutorials and then hasn't the foggiest idea of where to start.

I wonder, how much of this is lack of confidence in/experience with the engine as opposed to a lack of development skills in general (planning a project, coming up with a framework, implementing it, etc). The latter is a problem we can't really solve, and if left unchecked eventually ends up as a thread that is answered with 5 people posting a link to http://www.javabeginner.com/
@sbook said:I wonder, how much of this is lack of confidence in/experience with the engine as opposed to a lack of development skills in general (planning a project, coming up with a framework, implementing it, etc).


On that note, I think the main problem when I first started was knowing how to properly structure a game. All of the examples throw it all in the SimpleApplication class and don't explain "best practice". Though, since then I have seen that page that gives tips on best practice, and it may be my favorite page out of all the tutorials.
1 Like

I want to agree with the two posts above mine. There is this overall example MonkeyZone but it’s too much at once. (And I’ve to admit that once I tried it I didn’t get it further starting up than the Menu :frowning: ) Especially such a complicated topic “Building a multiplayer game with lag prevention” would be very nice to be explained piece by piece. Most fun with modern games is in multiplayer mode so this should be worth the effort.

Like @kazeshiro I’m still struggling how to implement a lag prevention like the one explained in the Valve Article with JME…

1 Like