If you want something done...

Discussion on on-line and off-line mahjong softwares.

Moderator: Shirluban

kylone
Fresh Reacher
Fresh Reacher
Posts: 31
Joined: Mon Aug 17, 2009 2:02 pm
Location: Lincoln, NE

If you want something done...

Post by kylone » Fri Mar 05, 2010 12:40 pm

Inspired by the poor showing of Mahjong Time, and the general availibility of Engligh language versions of Reach in general, I am getting started on making a Riichi Mahjong game. This is as much personal motivation to crate something, as well as a learning project.
I\'m a wannabe indie developer, but hey, you gotta start somewhere.

Now, as to why I\'m posting: I\'m looking for good reference pictures to model the tiles. The \'Take\' set pics on japanese-mahjong.com are better than anything I\'ve come up with myself. Also, what are the \'proper\' dimensions of the tiles (and game table while I\'m at it)?
I\'m learning how to model stuff with Blender. Here\'s the little bit I\'ve accomplished so far.
Image

User avatar
Tom Sloper
Moderator
Moderator
Posts: 297
Joined: Sat Jan 17, 2009 8:01 pm
Location: Los Angeles, CA
Contact:

Re:If you want something done...

Post by Tom Sloper » Fri Mar 05, 2010 4:01 pm

kylone wrote:what are the \'proper\' dimensions of the tiles

http://www.sloperama.com/mjfaq/types.htm
(and game table while I\'m at it)?
http://www.sloperama.com/mjfaq/tables.htm
4649おねがいします。

Robert
Junior Reacher
Junior Reacher
Posts: 88
Joined: Mon Feb 02, 2009 8:59 pm

Re:If you want something done...

Post by Robert » Fri Mar 05, 2010 5:18 pm

I suggest you go ahead and buy your own tileset to look at, if you are that concerned about authentic appearance. but I\'m not sure you need to be quite so meticulous. If you just want a better idea of what a mahjong tile \"should\" look like, just download some mahjong anime (some have very detailed CG) or look at some mahjong games.

What platform are you making this game for? Windows? Mac? Or something browser-based?

Some advice: if you put a tutorial mode in the game, you will be filling a gap which desperately needs to be filled.

User avatar
Shirluban
Moderator
Moderator
Posts: 773
Joined: Thu Jan 22, 2009 1:53 pm
Location: Svartalfheim
Contact:

Re:If you want something done...

Post by Shirluban » Fri Mar 05, 2010 9:30 pm

For a video game, the proper tiles and table size are any size that fits in the screen (and enough large to read the tiles).

Having the exact millimeters dimensions is of little use since a mahjong table is larger than a computer screen: you will be unable to display tiles at their \"real\" size.

Anyway, here it comes:
Image

-----------------------
3D vectorial drawings?.
Are you planning to display the board in real-time 3D?
Cats don't do タンヤオ (tan-yao) but タニャーオ (ta-nya-o).
World Riichi Championship Rules
Comparison of riichi rules around the world

kylone
Fresh Reacher
Fresh Reacher
Posts: 31
Joined: Mon Aug 17, 2009 2:02 pm
Location: Lincoln, NE

Re:If you want something done...

Post by kylone » Fri Mar 05, 2010 11:24 pm

Tom, thanks for your links. And yours as well, Shirluban.

As for your questions: I have big plans, but I\'m starting from humble beginnings. I\'m planning on using Microsoft\'s XNA Platform for the actual game. The Framework handles a lot of the little details, so I can focus on the game itself. And it gives me an avenue to the Xbox Live Marketplace, if I actually get a decent product together.

My original introduction to mahjong was the anime Saki, and I want to capture some of that Serious Business magic the series had. To that end, I want to make this a 3-D game world, with a presentation that\'s fun to watch as it is to play.
Also, I want to include a tutorial, different tiers of AI players, tracking individuals playing records. Heck, I\'d like the game to go a bit further and let players know what waits are for each partial set, and the likely yaku a particular hand can win.
Maybe even \"psychic\" cheats to get certain feelings on which sets are more likely. (yes, anime influence at work)

Like I said, I have big plans.
I remember seeing a feature wishlist for a mahjong game on this board somewhere else, but I haven\'t found it again.

Thanks for all your feedback. It\'s going to be a long road, and support goes a long way to keeping me going.

User avatar
Barticle
Platinum Boarder
Platinum Boarder
Posts: 1470
Joined: Thu Apr 30, 2009 12:08 pm
Location: Ipswich, UK (and usually 一向聴地獄)
Contact:

Re:If you want something done...

Post by Barticle » Sat Mar 06, 2010 9:10 am

I think this sounds like a worthwhile, exciting, interesting, challenging and time-consuming project! I hope you\'ll keep us posted of your progress.

I imagine writing the code for the opponent AI (if you have bots) will take some work.
kylone wrote:And it gives me an avenue to the Xbox Live Marketplace, if I actually get a decent product together.
I recently found details of a translated mahjong game on XBLA, although it\'s the 16-tile Taiwanese version as opposed to 13-tile Japanese. I\'ve added info near the top of my video-games overview thread over on the media board.

Hopefully I\'ll get to add your game to that list one day too! :cheer:

kylone
Fresh Reacher
Fresh Reacher
Posts: 31
Joined: Mon Aug 17, 2009 2:02 pm
Location: Lincoln, NE

Re:If you want something done...

Post by kylone » Sat Mar 06, 2010 1:22 pm

Barticle wrote: I imagine writing the code for the opponent AI (if you have bots) will take some work.
Definitely. After thinking about it, the AI boils down two two decisions: what do I discard, and do I call that tile or not. I have a general idea of how to do this (fuzzy logic), it\'s getting all the factors there that\'ll be the trick.

kylone
Fresh Reacher
Fresh Reacher
Posts: 31
Joined: Mon Aug 17, 2009 2:02 pm
Location: Lincoln, NE

Re:If you want something done...

Post by kylone » Sat Mar 06, 2010 7:03 pm

Okay, I finally have a tile design I\'m happy with, and got the top to be flat :side: Image

Robert
Junior Reacher
Junior Reacher
Posts: 88
Joined: Mon Feb 02, 2009 8:59 pm

Re:If you want something done...

Post by Robert » Sat Mar 06, 2010 7:27 pm

Personally, I prefer somewhat more rounded edges in the tile design. As you can see from the picture, real tiles do not have sharp rectangular corners. One of the tile designs from your first picture looked much better.

I strongly recommend you at least give the option of Arabic numerals on the \"manzu\" tiles and English letters on the winds, like here:

http://www.gammonvillage.com/shop/zoom_ ... 7&PID=1611

Also, I think mahjong AI might be kind of tricky. Just try writing code to determine how many tiles you are away from finishing your hand and you will see what I mean.

kylone
Fresh Reacher
Fresh Reacher
Posts: 31
Joined: Mon Aug 17, 2009 2:02 pm
Location: Lincoln, NE

Re:If you want something done...

Post by kylone » Sat Mar 06, 2010 11:07 pm

The algorithm for seeing tiles to tempai is (iterative) set analysis.

Precondition: a sorted hand

1) determine possible sets (this will be the foundatin for the rest of the analysis, treating several tiles of the same suit as a possible set)
a) if the hand has 3x(or 4x) dragon/ wind, consider it a completed set
b) build groups by suit
i) pick the lowest tile
ii) check to see if the next tile is within 2 (that is, if the lowest is 2-dot, then this check would be true if the next one is 2-dot, 3-dot or 4-dot)
iii) if true, then mark the two tiles as a possible set, and iteratively check the next tile, to see if it\'s part of it
iv) if false, go to the next tile (the one that\'s more than two away), and do the check at step ii)
c) any tiles that aren\'t part of a set are loose tiles to be discarded, and marked as an offensive discard, with a high priority

2) check each possible set to see if it has one or more complete sets in it
a) check for a squence, triple, and pair, starting with the first tile in the possible set
b) if a completed set is present, temporairly remove the set from consideration, and determine if the tiles remaining form a possible set (as in step 1-b-ii)
i) if no possible set exists, mark the tile as an offensive discard, at a low priority (unless it completes a quad)
ii) for each complete set in the possible set (in which, no single tile is considered part of two completed sets) add 1 to the number of completed sets in the possible set. Also, if the completed set is a pair, mark that one as well.
c) pull the first tile of the set out of consideration, and go back to step a) again
i) keep repeating, trying with diffent tiles in the set until all have been considered
d) store the highest number of completed sets, with tiles used (each combination stored seperately), along with pairs, again with tiles used

3) count up the number of possible sets.
a) count the number of completed sets in each possible set, add +1 to the number of completed sets, noting whether a pair is present as well
b) divide the number of tiles that aren\'t in a complete set by two, rounding down. Thats the number of sets missing one tile in that possible set.
c) since the most you can be away is 9, start from there, reducing one for each set missing one tile, up to 4.
d) now, if there are complete sets, reduce the number away by 1 more for each completed set, up to 4.

Nisse
Fresh Reacher
Fresh Reacher
Posts: 8
Joined: Sat Jan 02, 2010 12:32 am

Re:If you want something done...

Post by Nisse » Sat Mar 06, 2010 11:08 pm

hm.. Building a mahjong game isn\'t as necessary as you might think. There are already a ton of different services out there, only problem is that there aren\'t that many players on them. Even if you do manage to build a game there still wouldn\'t be enough people there to make it successful, the market just isn\'t big enough.The best thing to do is probably to play at a already well established client (like tenhou or ron2).

But if you still do want to make a game here\'s some tips: First of all you want to make the game efficient, don\'t make the carvings in 3d like that an put them on, you will need like 35 different objects instead of just 1 for the tiles alone. Then you need to make sure you do know the programming language. This isn\'t a very good project to start with, if you\'re inexperienced start by making easier stuff and build your skill up from there (like tetris, platformers etc). But if you are an somewhat experienced game developer and do know programing to quite an extent, you must remember that tile size isn\'t the important aspect. You should start by mapping out what\'s most important: What platform, what graphic, NETWORKING (most important), language. You will find the tile size as a small matter.

But like i said, I don\'t know what your skills are at; if you can do it, go for it :) good luck

kylone
Fresh Reacher
Fresh Reacher
Posts: 31
Joined: Mon Aug 17, 2009 2:02 pm
Location: Lincoln, NE

Re:If you want something done...

Post by kylone » Sat Mar 06, 2010 11:12 pm

Robert wrote:Personally, I prefer somewhat more rounded edges in the tile design. As you can see from the picture, real tiles do not have sharp rectangular corners. One of the tile designs from your first picture looked much better.

I strongly recommend you at least give the option of Arabic numerals on the "manzu" tiles and English letters on the winds, like here:

http://www.gammonvillage.com/shop/zoom_ ... 7&PID=1611
Feedback, yay! :cheer:
That\'s why I\'m posting pictures, since software\'s best when users get input on how it\'s made. I\'ll try the rounded one again (let\'s see if I can remember how I did that one...

kylone
Fresh Reacher
Fresh Reacher
Posts: 31
Joined: Mon Aug 17, 2009 2:02 pm
Location: Lincoln, NE

Re:If you want something done...

Post by kylone » Sun Mar 07, 2010 12:09 am

Good points there. The question becomes, how do you build interest in the game? There\'s a chicken and the egg issue here.

I\'m thinking that making it accessible is the way to go. That means the UI needs to present a lot of the thinking that a player would normally go through: which tiles am I waiting on? What are the risks in discarding this tile? How much is this hand worth?

The key is having all the information needed available, without overwhelming the player. I\'m thinking overlays, gently highlighting the tiles that could form sets with the selected tile; holding down a key or button to show the pieces waiting for the set; holding down another button to show the the likely yaku, and what you need to complete each one.

To be honest, I\'m starting with modeling tiles to learn how to use the modeler. Do you think a mock up game, in 2-d with simple graphics (like the tile icons on this site, for example) would be a better place to start?

I know it\'s a lot of work, which is why I\'m planning on using XNA: it handles all the annoying details of game programming--heck the default project is essentially an class with Init() Draw() and Update() methods that are basically empty (draw a blue background), and it runs straight up.

I\'ve got a vision of what I wanna do, it\'s just figuring out the best way to do it. Like you said, there\'s not much of a market, but I like to share my hobbies...

And now I\'m just gabbing... ;P

Robert
Junior Reacher
Junior Reacher
Posts: 88
Joined: Mon Feb 02, 2009 8:59 pm

Re:If you want something done...

Post by Robert » Sun Mar 07, 2010 1:28 am

Here\'s what I think:

I think that \"making it accessible\" is the way to go. It is already huge in Asia; there must be a market for it in the English-speaking world.

So you\'re planning this for the Xbox, you say? I think that might be the problem: who would pay for it? I would at the very least package it with \"ordinary\" mahjong-tile solitaire just to sell the game. And you could reuse the graphics.

Some Japanese mahjong games give helpful hints while you play. I know of some games that do this: if discarding a tile in your hand will put you in tenpai, then mousing over that tile will show you your waits, and also how many of each of those are left.

I know of some mahjong games that offer hints to the player (with your hand, what would the computer do?), and I recommend a hint button.

And as I said, an English-language mahjong game just screams for a tutorial mode.

User avatar
Barticle
Platinum Boarder
Platinum Boarder
Posts: 1470
Joined: Thu Apr 30, 2009 12:08 pm
Location: Ipswich, UK (and usually 一向聴地獄)
Contact:

Re:If you want something done...

Post by Barticle » Sun Mar 07, 2010 10:43 am

I wonder if the tile model should be a little thicker to get that "chunky" Japanese style?
kylone wrote:After thinking about it, the AI boils down two two decisions: what do I discard, and do I call that tile or not.
It sounds so simple when you put it like that! :silly:

Other key actions would be whether to reach or not, whether to declare a kong and whether to fold (special case of WWYD).
The key is having all the information needed available, without overwhelming the player. I\'m thinking overlays, gently highlighting the tiles that could form sets with the selected tile; holding down a key or button to show the pieces waiting for the set; holding down another button to show the the likely yaku, and what you need to complete each one.
I think having player aids is definitely a Good Thing in terms of making this complicated game more accessible to learners, but conversely I\'d also like to see a game with less "spoonfeeding" so for example you wouldn\'t get a pop-up when you can call or reach.

Personally I\'d like absolutely tons of gameplay options, rule options, display options, etc, but that could all look a bit overwhelming to noobs. Perhaps better to have some basic options and then a link to an "advanced options" page. Maybe have quick-pick options for Beginners, Standard and Expert profiles.

If this does end up as an Xbox game then you might run out of buttons to map help functions. Maybe just have one button to "show all the help overlays", either tap to toggle on/off or hold to show.
Do you think a mock up game, in 2-d with simple graphics (like the tile icons on this site, for example) would be a better place to start?
Yup, makes sense to get the basic mechanics working first.

If you can get it online or otherwise distributed we can play-test for you. B)
Like you said, there\'s not much of a market, but I like to share my hobbies...
I like Robert\'s suggestion of incorporating solitaire. You could also think about adding American and Chinese Official rules options to the proper mahjong game.

Of course if you\'re doing this primarily for your own benefit then the market size is irrelevant.
Robert wrote:I strongly recommend you at least give the option of Arabic numerals on the "manzu" tiles and English letters on the winds,
Definitely a big help for learners, but perhaps these could appear as part of the Beginners overlay actually under the tiles, so they can be shown larger?

Post Reply