2014年12月23日星期二

3D ShuffleBoard - First day back to ART.

This blog is to track the progress of my own very first production game: shuffleboard.
Name of my shuffleboard is still to be decided. I am thinking from plain names "3D shuffleboard" to "EverydayIamShuffling" to "ShuffleWithFrie***s" to "Everybody's Shuffleboard" (keep adding in)

Why Do I Choose Shuffleboard:
Played shuffleboard first time and found it's really attractive game. And on mobile device the finger gesture can be a very good fit to the mechanism/physics of this game.

Game High Level Design:
Goal: win higher scores in the traditional shuffleboard game.
Rule: classic shuffleboard turn based rule. except add in extra modes like infinite mode in which player continues to play until the ball missed any score.

The style of this game is to be consisted with pretty environment and high end shuffleboards, in 3D.
The render will more or less like many 3D billiard game, glossy table, glossy room and shiny balls.
There will be multiple scenes and themes though, background varies from nature, subway station, basement, to skyscrapers, ocean beach etc. Tables vary from classic wood, metal, plastic, fantasy, LED etc. Shuffleboard balls also vary in their material and texture, even physics.
All are for unlocking or purchasing.
Effects to enhance the style including exaggerated particles and adaptive sound effects to the situation of the game.

Player has levels, they gain level from winning the game, challenge etc, thus unlock new balls/tables/rooms.
Player has his own profile and can customize the ball he use in all game modes.

The play mode for this game will include single player mode - challenging different level of AI NPC players in champion or career(story mode).
Hot seat mode - play the game in turn on the same mobile device.
And multiple player mode - similar to Zy**a's with friends games, turn based real time online challenge.
Friends local leader board and global leader board will both be available. Player can challenge people on the leader board if they accept.

Economics: cash in this game can be earned by winning games/challenges, or purchased.

Items: items are introduced to enhance fun of this game.
At least we will have two types of items: those effect game play and those only for appearance/decoration.
Items can be unlocked by level up and then purchased with in game cash.

Stats: game will track players stats and do real time feedback on player's various total numbers - these numbers will be provided to players or just us for data mining.


Tech Stack:
After building a django server for couple weeks, I decide the backend part is good enough for now.
I have restful API + postgres SQL + Amazon S3 + Nginx on heroku. User/Game models and application framework have been setup to accept POST/GET requests.

Client side, unity3D + maya will be used to create the virtual 3D assets and game mechanism.