I am really enthousiastic about JMonkey and Blender, and I would like to make a game with JMonkey. I am already learning about game design, story design, character design, and modelling. I already have some decent experience in drawing (evening art school) and modelling in Blender. Oh, before I forget: I also have 7+ years of experience in Java programming, so I can do programming as well!
One problem with having my own game project however is that I might not be able to finish this on my own. And I also like some bigger sense of purpose, involving multiple people. For this reason, it might be very interesting for me to team up with others, in some existing project. Concretely, I would like to participate in a larger JMonkey community project. In particular, a project that the core developers have a vested interest in (to show off features). Perhaps MonkeyZone is such a project? I would like to give it a story, characters, etc! It does not necessarily have to be my story; this again would be community driven (perhaps the title might have to change too). We could really have some JMonkey mascotte-game, in which multiple people from the community contribute art and game logic, so it becomes more than a tech-demo.This mascotte-game would be stored with the JMonkey engine, on the same repository, so they can grow together.
This is a great idea and if I didn’t have Disenthral to work on, I would do it myself.
For all intent and purposes you have my blessing to start on this. But don’t let this fool you, my word weighs next to nothing here.
What I would love to see is have a full-featured game that could be ultimately be sold, like a couple of bucks when/if it gets to that point and support the whole endeavor. The site, the main developers, etc.
Thanks for your interest. Like with all things, I guess the community project is something that will start humble, and hopefully grow over time as it attracks more people. The nice thing about a community project that is kept close at heart, is that no large workforce is required: people contribute whenever they feel like it. But, to avoid drifting, a few moderators are kept in place.
EDIT: and some parts of the art direction are replaced with a voting system, like team members voting on story/gameplay elements, character designs, etc that will make it into the game. This will motivate people to submit relevant art. The voting system can also be used to decide the type of game that will be made next (once the current game is completed).
Sounds nice indeed, but as already mentioned, we alll have our own projects running. For me personally, I love working on Enemy Ahead but it already consumes so much time. And for me, the challenge and motivator is to learn new stuff and figure out how to implement things. Seeing the ships sailing through the waves while firing at each other and now with autopilot really satisfies me
But I do feel this strong believe that working on a ‘joint venture’ could be very satisfying as well, especially for a beginning hobby programmer as myself. There is just SO much to do when developing a game on your own… I am sure I will learn a lot from it. So, whenever you can get this idea running, you can count me in!
MonkeyZone was an attempt to do that, yes. But its hard as was said, most programmers tend to like to just implement what they think is good and understandable/usable instead of adapting to somebody else to create synergy. Same for arts, story, gameplay really. You have to agree in the first place to be productive together.
not to demotivate you or anything, it always starts with good intentions, but this kind of thing has been tried a few times, even by me (and normen) and normally on a large scale game project, people lose interest fast. The most success I had with something like this, was a short game 72 hour game competition (ludum dare), which we had 4 dedicated people on. I think this is more realistic, and you will learn a lot in a short amount of time, and I suggest you look to do something similar
One reason this thing typically fails… exaggerated a bit:
Joe Developer: “I only have a subset of the skills needed to make a game. Who wants to team up?”
George Developer: “Ooooh, I do. I do some 2D art and a little blender.”
Mary Developer: “I can help, too… I’ve got mad OpenGL skillz but I’ve never made a whole application myself before.”
Joe: “Great, guys. So, I want to make a zombie FPS…”
Mary: “Ugh… zombies again?!? I want to make something my kids can play. My daughter is way into lady bugs and butterflies right now…”
George: “I really wanna make a racing game. I don’t care what about. I can draw some bugs and stuff no problem. Can we make a bug racing game?”
Joe: “Ok, I can see we’re going to have to compromise… so let’s make a bug-based racing game where the players avoid zombies and can shoot at them and stuff…”
Everyone sort of half-heartedly, “Yeah… ok.”
Then George draws a couple 2D sketches. Mary makes a demo where you can use the mouse to fly a butterfly and Joe is still trying to sort through the tutorials.
…and then no more is said on the project.
If you aren’t getting paid for a job then you have to find your motivation somewhere else. Generally this means you have to really love and believe in what you are doing. Finding some group of random strangers to love and believe in the same thing is really quite tricky. I think probably about as rare as getting struck lightly by a meteorite only to discover a bunch of diamonds inside.
As the other posters have explained already, it’s a great concept and initiative that unfortunately is much harder to pull off than it sounds. I think the best approach to go with is @wezrule 's suggestion to team up for game jams like Ludum Dare and other such contests.
As an alternative though, the newly added custom AppStates makes it easier than ever to create and share game templates. We don’t have any official documentation on that yet, but it’s coming, and in the meantime all you really have to focus on is making a good game. For example, make it your goal to develop a really solid first-person shooter framework. You don’t need the fancy scenes and high poly models, you just need to make the aiming feel right, and the jumping, and the firing, and and and…, there’s plenty of work to do
This, much more so than a grand game project that might never come to fruition (for showcase purposes, we already have plenty of very impressive commercial games in the works), would serve as an excellent learning tool for people new to jME3 who want some existing game mechanics to play around with for both learning and prototyping purposes.
Hah, true, if we put this all under the flag of “Community game templates” it starts to make much more sense to me
Like very small and concise examples on how to basically approach the topic of a FPS game or a RTS game. Nicely separated in AppStates and Controls that are each not too bloated and reusable. A nice base beyond the “BasicGame” template for other users to start off with. The people who work together would have to make less compromises each and they could verify the simplicity of the others code and examples. At the same time we could communicate here globally about a project structure that works out for all project types. So that would only a very small and not too personally affected area where you’d have to do the “boring collaboration stuff”. By introducing some things like properties/settings files for the game (physics enabled or not or similar) we could at the same time try and formulate an even more global project format for SDK project that would also reflect in some new SDK settings options. For example you’d create a new game and it would ask you about certain things to include and setup already, like networking or typical FPS Controls/AppStates, entity frameworks etc.
Yep, exactly what Normen said. And this, much more so than a long term “community game” effort, would ensure core developer involvement, since the developers have a vested interest in keeping these game templates up to standards.
Those standards and conventions will change with time of course, and we can’t afford to be too strict in the early stages. What do you think, wanna take a crack at a “Genre-X Starter Kit”?
Hi, and thanks for all your replies :). Yeah, maybe the community-art-thing sounded a bit unwieldy; I was just thinking aloud. I respect that people want to pursue their own game ideas and have their own art + game logic. I now more clearly see where the value of any community project could lie, namely, in providing some more objective framework that can be filled in with custom art/logic. So, I am interested in the idea of game-frameworks proposed here. I guess this means I will initially develop my game in isolation, and come back to contribute when I have something reusable.
But maybe my other question remains unanswered. One of the big problems for any hobby game programmer is having free art assets. Would there be interest in having people share art assets, in some JMonkey portal? I have read about JMonkey asset packs, but I don’t know yet if people really use this, or where these packs can be submitted and “advertised”.
(...) I guess this means I will initially develop my game in isolation, and come back to contribute when I have something reusable.
Wow there, we never said any such unholy thing as "developing in isolation" :P A project like this should definitely be developed as openly as possible. If you post frequently about your progress you'll have more eyes on your code; better code, better compliance and more engagement.
Btw, for your modeling purposes, it’d be great if you could use Jaime.
(...) A question: regarding user JMonkey projects, can they be hosted on the JMonkey server, or are they typically hosted elsewhere (Google code, github, sourceforge)?
Good question. Typically we've left users to their own devices, i.e. it's up to you where you want to host your code and manage your project, just make sure we and the community at large know about it.
That’s probably how you should start out as well, but depending on how this turns out we might bring it into the official repository under a “Game Templates” branch for instance. This is fairly new territory for us as well, so you’ll just have to come with for the ride and see where we end up
I know I’m very new to the community and also don’t really have much experience in making games but recently I watched Sword Art Online which, if you don’t know, is an anime about 10.000 people (mostly teens) beeing stuck in an mmorpg to fight for their lifes. I know it sounds weird but somehow I also wanted to be trapped in this game and then I got an awesome idea just like @matomma
Basically I had the idea that we could get a server which functions as the main dimension like a gateway … Then every “player” has his own dimension which funtions as his/her home and “playground”.
The main dimension, like I said would be located on a server which some trustworthy people would have access to and the “player-dimensions” would be running on their own computer.
So the player can change his dimension into whatever he wants with his own coding skills and if another player wants to visit other peoples dimensions he has to get the permisssion and obviously the other player has to be online … if both cases are true the player who visits the other players dimension downloads all of the dimensions content and is send to the desired dimension.
The main dimension then could be changed via democracy … so if a player wants his work to be visible for everyone he makes a poll and if it gets accepted, maybe with 2/3 upvotes or something, a trusty can change the main server the next time he gets online.
It would be an awesome and secure way of showing the potential of jMonkey and also a help to all the beginners (like me).
I also came up with this idea because I always see awesome stuff beeing made with the engine but it doesn’t really get anywhere. I as well started two games which I just can’t complete … but if we had a big community we may eventually be able to create something big.
Also sorry if this was posted somewhere else but this post here was the only thing I found regarding that topic and I think this idea was dumped because of the security problems which I might have solved.