Monkey Mahjongg - demo / tutorial

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…

    PS: You probably know the game, but here is an online 2D version:

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  :smiley:

But i would not take Mahjongg, but Pacman, there's more action involved. Or how about frogger?

Vardamir said:

Or how about frogger?

I don't think so.  :P
Vardamir said:

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...

- 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

Ah, ok, you have some code already. Well then its mahjongg. So enter my name on your list, and i'll see what i can contribute.

OK, I made a GoogleCode project:

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 using Eclipse, but thats a good test of interoperability  :wink:

Please add to the project (arrgh, yet another spam account…)


Cool, checked it out, added some eclipse stuff, works fine. Now we need a way to communicate, without spamming this forum too much

I’ll send you my real address to your gmail account.

Here is a screenshot (I’ll commit the textures in a few minutes):

OK, the quality is quite bad, but it looks funny :smiley:

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.

Thank you! I'd say we should start with the tutorial as soon as the game is playable.

'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)

Looking good!

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!  :stuck_out_tongue:

Anyway keep up the good work  :slight_smile:

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!  :slight_smile:

Looks nice.  :)  Good idea for a minigame type tutorial.  Please finish it :wink:

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:

One of the things you can do that would help with communication is to setup 3 Google groups mailing lists for your project:

  • Developer mailing list to discuss design/development

  • Issues mailing list to track new issues being submitted and also old issues being updated/resolved

  • Committs mailing list which will be used as a published log of all your SVN checkins

You should also start a tutorial/documentation outline on the jME wiki tutorials because I think that'd be an appropriate place for this stuff to go.


Of course I thought about that  :smiley:

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)

Yeah, RoundedBox looks much better:

(but I never again want to fight with a TextureBuffer…)