

== EUROKICK 2012

Game for Euro 2012.

[quote]
____
 You are a football (soccer) fan. ME too :p. Long time ago, I was addicted to Champion League Manager game series then find my self spend every nights and days to play it. Not to mention Pro Evolution Soccer and kick the ball in real life… Anyway, my motivation of making a clone of all my Sport games I love is simple, I want to experiments the things I learnt when I play that game, and pretend to be a player, a coach, a manager… for once in my life. So let's make it real!
____

_Watch Euro now, play the game later! :p_


*Genre*: Sport


*Gameplay* : Football (Soccer) Manager


*Game Modes*: all single-play now


*      Football Club Manager
*      Football Match
*      Penalty Shoot Training


=== Techs use:

*  JME3 and plugins
*  Atom framework
*  Blender, GIMP, SVN


=== Technique shown

Special technique will be introduced in the game and in the video tutorials:


*   AI 
**  Steering behavior &amp; Formation 
**  Decision Tree 
**  Goalbase
**  Stregagy planning 
**  Probality

*   Scripting
*   Sprite Engine
*   Physics
*   Cinematic
*   Advanced +++<abbr title="Graphical User Interface">GUI</abbr>+++


=== Why?

I saw a Unity example about making sport game and It’s pretty damn good! But with JME3, we can do better !



=== Quick start

Source code: link:http://code.google.com/p/eurokick-jmegame/[http://code.google.com/p/eurokick-jmegame/]


Forum link: 


Design: link:https://docs.google.com/document/d/1JV8wZkyhaJc_4Jqrj1RQjhK4lNmGn7YFKwbJXxPM7Kk/edit?usp=sharing[here]


Issues:


Plan:



=== Idea & Story

Inspired by series of the game Champion Manager and Pro Soccer!


*  Be a legendary soccer player!
*  Managing your football team in the leagues.
*  Build your stadium, buildings.
*  Investigate in young talents.
*  Be a national team coach join Euro and win the champion.


=== Screenshots

Version 0.1 

image::http///farm8.staticflickr.com/7120/7420435866_b531225642_b.jpg[7420435866_b531225642_b.jpg,with="400",height="",align="center"]




image::http///farm6.staticflickr.com/5320/7420435428_7a99ca6553_b.jpg[7420435428_7a99ca6553_b.jpg,with="400",height="",align="center"]




== PROCESS


=== Insight

Because I'm (in my job) a 3D Artist, I can do the draft modelling in few days, and complete them in few weeks. Then I went down the long road of AI and doing +++<abbr title="Graphical User Interface">GUI</abbr>+++ for the game. These unbelievable numbers of tasks take me like 4-5 months because i'm also very busy at work. 


Thank to good papers I found, I can achive good result which can sastisfy me a little bit.



=== Tutorial timeline

This section arrange the process and parts into a timeline to suite better with a tutorial format. You can read it day by day, week by week until you complete.


.  Part 0: Download and Setup
.  Part 1: Review and design, sketch 
.  Part 2: Assets
.  Part 3: Code the main
.  Part 4: Code the gameplay
.  Part 5: Physics
.  Part 6: AI
.  Part 7: Cinematic
.  Part 8: Scripting
.  Part 9: Data


== Research

As mentioned above, this game inspired by Champion League Manager , the classical (good ol-time) Ultimate Soccer Manager and Pro Soccer Evolution series…


So no suprise that I want to keep good parts of thoose game in this mash-up game.


Here is check list:


.  First, for the game design:
..  Researches about the football rules, as I'm not fully and carefully understand every aspect of the orginal FIFA football (soccer) game.
..  Researches about history of football and football leagues, players, clubs, coaches … in Europe, Asia and Ameria (South and North)…
..  Serious researches about real coach and manager job description cause this is a main part of the game. At the beginning, I've just known about it through news and stories, games.

.  Programming:
..  Soccer AI ( quite a long story …<<jme3/atomixtuts/kickgame/ai#,Read it>>)
..  Soccer stragegy
..  Locomotion of football player ( quite a long story …<<jme3/atomixtuts/kickgame/aa#,Read it>>)
..  Character customizing ( quite a long story …<<jme3/atomixtuts/kickgame/cc#,Read it>>)
..  Advanced cinematic and camera system 

.  Assets:
..  As I intend to use character customizing to reduce the amount of characters I have to model, so I have to learn how to make a model that can be customized with advanced rigs and animations.
..  The stadium and other stuffs


After months of researching I come to a conclusion that I can do (part of) the game only by my self with my spare time, step by step, one feature at a time.



=== Disclaimer

So, there it's *no way in hell* this example game can compare to thoose commercial game. But all the metioned topics (AI, locomotion…) are implemented in simple and basic form, also extensible enough to get more mature , polished if more hands involved. :p



== Design

link:https://docs.google.com/document/d/1JV8wZkyhaJc_4Jqrj1RQjhK4lNmGn7YFKwbJXxPM7Kk/edit?usp=sharing[here]


“<<jme3/advanced/atom_framework/design#,design>>



=== First step of designing

<<jme3/atomixtuts/design#,design>>
In this phase, we will design the most important things have influence to our game:


*  Gameplay 
*  Screens

We did not mention concepts and idea step… but it's no need for this kind of game, because we played a lot of them and see it on TV everyday.


Video:



=== Gameplay

Below is a list of “names or “things will be seen in our game, bricks that build up the gameplay piece by piece. You can see them as: * a Football fan see a football match in a stadium*. or *a business man see a company with finance, reports and statistics*.



==== Mindmapping

In mind mapping, the links between the names represent various kind relationships such as “Has - “Belong to , “In category… or unknown as they just poped out of our mind.





Football image:http///drive.google.com/uc?export=view&id=0B1ZtpcLL_67KeFVfQ204ZjE0ZGM&.png[uc?export=view&amp;id=0B1ZtpcLL_67KeFVfQ204ZjE0ZGM&amp;.png,with="200",height=""] and Bussiness image:http///drive.google.com/uc?export=view&id=0B1ZtpcLL_67KSmFJcjFlc1U3ejg&.png[uc?export=view&amp;id=0B1ZtpcLL_67KSmFJcjFlc1U3ejg&amp;.png,with="200",height=""]


If you don't want to see the full picture yet, or want to try your self. Please consider evolving the ideas from this abstraction:


*  Game General (with GamePlayer, GameRoom, …)
*  League
**  Football League ( with Clubs…)
**  Football Club ( with Players, Stadium, Shops..)
**  Football Player ( with their Skill, price, career..)

*  FootballMatch gameplay
**  Football Match ( like Matches that you watch on TV )
**  FootballPlayer Control (… or control player like ProEvolution Soccer

*  Coach gameplay
**  Football Coach ( stragegies,.. )
**  Traning course ( train players, results)

*  Manager gameplay
**  Football player transactions
**  Staffs management ( hire, fire some guys..)
**  Construction ( build a big stadium of your own)
**  Shop ( sell some thing from your club )
**  Media ( the news, tv..)
**  Business ( contracts, reports…) 
**  Statistics ( charts, numbers…)

*  Other gameplay
**  Character Customization


My Full mindmap:


link:http://text2mindmap.com/LHCYGk[ Mindmapping ]


Those, in turn will be implemented in programming language with a programming manner. OOP for specific, appropriate name should be transfer to a appropriate Class of Object, with properties and methods. For Component Oriented Programming (COP), names should be interpreted as Prefab with a specific set of components, and their processors.



=== Detailed

Detailed
<<jme3/atomixtuts/kickgame/gameplay/detailed#,detailed>>

'''


=== Screens

link:https://docs.google.com/document/d/1JV8wZkyhaJc_4Jqrj1RQjhK4lNmGn7YFKwbJXxPM7Kk/edit?usp=sharing[here]



==== Leage

Round Matches



===== Match Summary

....
  Score
  Positons
  Match Statstistics
      Cards
  Timeline
  Highlights
....


image::http///drive.google.com/uc?export=view&id=0B1ZtpcLL_67KNGRER0FCaDVHOGM&.png[uc?export=view&amp;id=0B1ZtpcLL_67KNGRER0FCaDVHOGM&amp;.png,with="250",height="",align="right"]




==== Manager


===== Squads

PlayerInfo Detailed






===== Manager Emails
'''


== Asset making

Detailed step by step of this phase: <<jme3/atomixtuts/kickgame/assets#,assets>>



=== 3D Models & Textures


==== Player

A very basic model with Run|Kick animation to test the gameplay.
Later we will improve the quality and make it customizable.


Video



==== Stadium

Video



==== Shop

Video



==== Audiences

Video



=== UIs

Video



== Setup


== Programming


Generic game programing aspects:


*  State
*  Stage
*  Gameplay
*  World
*  UI
*  (specific in our football game) DB

Detailed step by steps of this phase: <<jme3/atomixtuts/kickgame/programming#,programming>>



== Scripting


== Conclusion

So after this tutorial you can survive the test and get a basic idea of making professional game, how to overcome design phase till implementations and bug fixing.


The total time i used to complete all the thing seen and written here was roughly 4 months and a lot of time took for the preparing.


Update: As July 2013, I decide to add some advanced animation and locomotion into this game. Check the programing part.

