I thought some time which demo / tutorial would be the most helpful for total beginners, and contains stuff not covered e.g. in FlagRush. I thought about something like Mahjongh… oh, I can hear you: booooooring! But wait, here is the list we could cover with this:
StandardGame, use of GameStatings
How to make a menu (ideally different versions to show JMEDesktop, BUI, FengGUI…)
Mouse picking, hardware and software cursor
how to make a HUD
Working with textures, e.g. highlighting the selected piece
shared nodes/meshes
dynamic lighting, shadows and other effects
sound
how to structure a project, how to load different levels
how to implement game logic
With this quite static environment, the beginner won't be overwhelmed from complicated code for motion etc. The demo could be very small, but well structured. I think especially making a good ingame menu is not covered enough in the existing demos. And even if you can find all the things mentioned here in several separate demos, I think that having a very simple but complete and structured demo would be a great help for beginners.
What do you think?
I'd like to work on something like this, but not alone. And my English is not good enough to make a good tutorial from this…
Sounds like a good idea. We definitely need more examples but the reason there aren't more now is because finding people that can commit the time necessary is difficult.
So this would be even a tutorial on how to setup a project, gather some people, assigning tasks and such. I'm a total noob on jME, so this would be the ideal start, because documenting something is the best way of learning it
But i would not take Mahjongg, but Pacman, there's more action involved. Or how about frogger?
But i would not take Mahjongg, but Pacman, there's more action involved. Or how about frogger?
You're right about the action, but I'd like to have MousePicking in it, and want to show some methods for highlighting pieces etc. Another imkportant reason is that I already have some code. So I hereby announce the new demo/tutorial project "Monkey Mahjongg" :D
If someone is interested, I'd setup a GoogleCode project or something...
Done:
- MainMenu (SwingUI version)
- background state
- Level format and loading
- display
- camera controller
Open jobs (in an order which would make sense):
- get the game working (mousepicking and some logic)
- simple HUD
- draw the textures (monkeys, llamas, frogs...)
- SwingUI settings and load menu
- BUI version of the menu
- FengGUI version of the menu
- sound
- effects, shadow
- TUTORIAL
In order to participate, you have to create a gmail account, and I have to add it to the members of the project. Of course, you can download the code as anonymous, if you just want to have just a look.
I committed not only the source, but everything you should need to build the project (if you use NetBeans like me). Next thing I'll do is making the mahjongg textures (just to have something, I'm not a great artist). Have fun!
I'm good at writing & I've got enough spare time. And, my browser has a spell checker built in. Maybe you can take me for making the actual tutorial? You can contact me whenever you want that I write something.
'kay, no problem, note that I'm designing my own game too. (And I want to write a tutorial based on it too – It will primarily focus on JGN, so don't be afraid I'm stealing your effort)
You should use the rounded box class to make it look even better though. I was going to link to the topic about it, but once I found it I realised you (Landei) were the one who wrote it!
I just want to say great work and keep it up guys. I'm learning jME also and more (then zero!) tutorials that cover a game as a whole are just what we need!
I’d be interested in helping out on this project as well even if it’s just setting up and managing some of the project stuff (ANT builds, IzPack installer etc.). I’ve setup a Google code project before:
However it's more difficult to manipulate the TextureBuffer for RoundedBox. Maybe the cleanest solution would be an own class (with most code "borrowed" from Box and RoundedBox)