#LyX 1.1 created this file. For more info see http://www.lyx.org/ \lyxformat 218 \textclass report \language english \inputencoding auto \fontscheme default \graphics default \paperfontsize default \spacing single \papersize a4paper \paperpackage a4 \use_geometry 0 \use_amsmath 0 \paperorientation portrait \secnumdepth 2 \tocdepth 2 \paragraph_separation indent \defskip medskip \quotes_language swedish \quotes_times 2 \papercolumns 1 \papersides 1 \paperpagestyle default \layout Title The Ysagoon Game \layout Author Gabriel Walt & Stéphane Magnenat \layout Date Creation : 27. 02. 2002 - Modification : 06.03.2002 \layout Standard \begin_inset LatexCommand \tableofcontents{} \end_inset \layout Chapter Introduction \layout Section What is the Ysagoon Game ? \layout Standard The Ysagoon Game is just a generic term to speak about a game that hasn't yet a name. In this paper, the term Ysagoon Game is used to speak about the continuation of Globulation2. The name Globulation2 is only used to talk about the actual state of Globulatio n2. \layout Section The aim of the Ysagoon Game \layout Standard The aim of the Ysagoon Game is to create a game that satisfies the following two points : \layout Enumerate The game must have a strong ambiance in which the player is merged. \layout Enumerate The game must have a subtle game-play that makes the strategies more complex (without making the game interface more complex). \layout Section Why this paper ? \layout Standard The development of a first playable version of Globulation2 comes slowly to an end. Thus, we realize that some the basic game-play decisions that were made are problematic. \layout Standard This paper tries to summarize these problems in order to deduct which parts of the game-play should be changed and which parts could be kept. In a second part, it suggests a new direction that could solve most of these game-play problems. Finally, there is a more technical approach that speaks about the issues of this new direction. \layout Chapter Analyzing Globulation2 \layout Standard The objective of Globulation (version 1 and 2) was to create an ant simulation. This goal is successfully achieved in the actual state of Globulation2. The problem is that this doesn't mean that Globulation2 complies with the aims of the Ysagoon Game. In fact, none of the two aims (strong ambiance and subtle game-play) are satisfied... \layout Section Why is there no strong ambiance ? \layout Itemize The globules are too abstract in order that the player could identify himself with them. The player event can't feel pity on his units. The units just do what they are told to do, without useless but nice animations in between. The fact that units just disappear when they die also doesn't add depth to their existence. \layout Itemize The buildings seem dead, because they have no animations. \layout Itemize The environment is flat, without animations and has no character. But the resources grow and evolve, which is great and should be kept. \layout Section Why is there no subtle game-play ? \layout Itemize The only way to win is to kill all of the opponents. Thus, all the strategies should lead to create a more efficient and powerful army. But there is only one unit that can fight, and one building that can defend. And these units have no subtleties : they can only be at different levels of linear upgrades. Furthermore, the necessity of the units to eat makes the battles boring, because of their fuzzy control. \layout Itemize There are almost no strategic choices to make in the upgrades, because they are all perfectly linear. The only choices are to choose which building should be upgraded first. \layout Itemize The rush strategy works perfectly well. If one mainly builds warriors and rushes the enemy, the opponent has no chance. And if both players rush, both die. \layout Section What are the good and original ideas that should or could be kept ? \layout Itemize The units have a persistent existence that is very realistic and coherent. They need to eat and rest, to be nursed, and they individually need to learn to be upgraded. This point is interesting, because it works well and adds depth to the game. \layout Itemize The resources are evolving, this adds depth and life to the environment. That's also a strategic constraint, because it is not interesting to collect as much resources as fast as possible. The problem to keep in mind is that the player should not be slowed down because the resources don't grow fast enough. The player should have enough other occupations that prevent him to fall asleep while waiting for the resources to grow. \layout Itemize The units receive no direct orders, all orders are passed to the buildings (or to the flags). This allows an original game interaction that lets the computer do the micro-management. \layout Itemize The GUI is easy to use and consistent. \layout Chapter New direction \layout Section A new start \layout Standard This chapter defines a new start for Globulation2. This means that we should temporarily forget the actual state of Globulation2, otherwise it will not be possible to think in an innovative way. That's why the generic name Ysagoon Game will be used instead of Globulation2. This generic name will of course be changed as soon as possible to a real game name. \layout Standard This chapter will speak about the Ysagoon Game as if it would be a completely new game. No allusions will be made to Globulation2 neither negatively, nor positively. This forces everybody to rethink everything. \layout Standard None of the ideas presented in this chapter are definitive, some of them even have a few coherence problems. Thus, this chapter should be considered as a compilation of ideas that still need to be strengthened. \layout Section The ambiance \layout Standard The aimed ambiance is a village community, because this naturally focuses on the inhabitants of the village. Less units and buildings gives visually the impression to fly lower, thus it helps the immersion of the player. \layout Standard The units that the player controls have all the same race. This race is cute and nice, in order that the player cares about them. They have a human-like body (tow feet, two arms, one head) and a human-like head (two eyes, two ears, one mouth, one nose). The appearance of each unit should be slightly different (taller, smaller, different clothes if there are any, ...), each unit could even have his own name. There should also be different animations if they transport different materials and if they work on different things. \layout Standard Each unit has a realistic life : it sleeps and eats, goes to the hospital when needed and learns to be upgraded. This adds even more depth to the existence of the units. \layout Comment If the units really have a strong personality, then it should be possible to rise them from death. A solution would be to rise only the leaders from death (for instance in the leadership school). \layout Standard The environment looks very alive too : it has different heights in which the resources (like the corn, the trees, ...) evolve. The users have the possibility to interact very strongly with the nature by harvesting or by replanting the resources and by heightening or by digging the ground. The water is simulated realistically with rains, rivers, lakes and oceans. \layout Standard On the ground are placed different random elements like rocks or flowers, they would just add a 3D feeling to the flat environment. \layout Section The game-play \layout Standard The aim of the game-play is to avoid to fall back in a classic RTS system. This means that the main strategic objective is not to create the best army. It must also be possible to win by destabilizing the enemy's surrounding nature, for example by changing the flow of a river. Other winning strategies should still be developed. \layout Comment There are not yet enough other interesting ways to win, the war is still predominant! \layout Standard All units are the same: there is no definite specialization as warrior or worker. If a unit goes in a shield factory XOR \begin_float footnote \layout Standard eXclusive OR: the first or the second, but not both. \end_float in a basket factory, this means that it has an increased shield XOR an increased transport capacity, but a unit with a shield is able to work, as well as a unit with a basket is able to fight. The unit may return in a shield or basket factory, but this means that it looses it's previous tool. \layout Comment Define more precisely how units are managed with this system. How can units return in a factory? \layout Standard The units could also win some experience points. A unit that worked or made war or during a long time could respectively gather the resources faster and punch the enemy harder. \layout Standard It is possible to increase the walking speed of the units. To do this, they must go to an ostrich farm that breeds these animals. For each ostrich that comes out of this farm, you must find an ostrich egg. If you take all the ostrich eggs out of the ecosystem, there will be no more wild ostriches, and thus no more ostrich eggs... \layout Standard The units do not directly receive orders, all orders are given to the buildings. This means that the player says what he wants to be done, and the units do their best to satisfy the player's wishes. In spite of that, there some orders can directly be given to the units. This exception has been introduced in order to be able to move units where no building exists yet. This is for example needed in order to change the shape of the ground or to move an army. But only the units that went to the long and expensive leadership school are able to receive such orders. A leader that comes out of this school is also able to tell to a desired number of other units to do the same as he does. \layout Comment If most of the orders are passed to the buildings, this means that the intellige nce algorithm of the units must be very good, otherwise the game becomes really unpleasant to play. \layout Comment Is it possible to attribute the units to different buildings? This would mean that there would be one order that could be passed directly to the units. The benefit is that there is no frustrating algorithm that badly distributes the units. It would also add depth to the existence of the units. \layout Standard The town is surrounded by a fence which is easy to defend, and hard to attack. At strategic places of the fence must be placed a tower in which units must be placed. Each section of fence is defended by the units of the two towers that are located on both sides of this section. The fences naturally create the frontier of each player. The life outside of these frontiers is rather insecure, and each working unit should better be accompanied by a soldier. \layout Standard There are different wild animals, that freely evolve. Some of them may be useful. \layout Section The resources \layout Subsection The natural resources \layout Itemize \series bold Water : \series default The water can be found in the sea, in lakes, and in rivers. \layout Comment Two kind of water: salt water and fresh water? \layout Itemize \series bold Fish : \series default The fish must be catched in the water. As for the bread, it is used to feed the units, as well as the bread. \layout Itemize \series bold Seaweed : \series default The seaweed can be found in the sea. It is used to create oil. \layout Itemize \series bold Tree : \series default There are naturally two kind of trees. The trees are located on the grass. This resource is mainly used for the constructions. \layout Itemize \series bold Corn : \series default There are two kind of corn. The first is natural, the second is breeded. The corn grows on the grass. \layout Comment It is not clear if and how the breeded corn will interact with the natural corn. Will the breeded corn freely grow, or will it be restricted in a building or an area? \layout Itemize \series bold Stone : \series default The stone may be located everywhere but in the water. There are two kind of stones: the normal stone is used for the constructions, and the stone that contains metal is used by the foundry. \layout Comment The stone is a very important resource for building, thus it should be found in abundance. \layout Itemize \series bold Ostrich egg : \series default The ostrich eggs can be found on the ground, where wild ostriches live. Eggs are needed to breed ostriches. \layout Subsection The secondary resources \layout Itemize Oil : The oil is a combustible that is needed by many buildings. \layout Itemize Bread : The bread is used to feed the units, as well as the fish. \layout Itemize Metal : The metal is used to build shields that are used during the wars. \layout Comment Actually, the metal is only used by the shield factory. If it stays like that and no other building needs metal, then the foundry and the shield factory should be merged into one building. \layout Section The buildings \layout Itemize House : The units need to regularly go to these buildings to eat and to rest, thus this building needs bead or fish. This building allows also to create new units if there is enough food available. \layout Itemize Hospital : This building repairs the wounded units, and needs oil and water for that. \layout Itemize Wooden Fence : A good fence. \layout Itemize Wooden Tower : A good tower. \layout Itemize Stone Fence : A very solid fence. \layout Itemize Stone Tower : A high and very solid tower. \layout Itemize Stock : A building that allows to temporarily stock any resource. But take care, the enemy can steal them! \layout Itemize Corn Field : A field where breeded corn grows. Some water shouldn't be far. \layout Comment It is not clear how the water goes to the field. Do the units need to bring the water in buckets, or does the proximity of water decide of the productivity of the field, or both? \layout Itemize Oil Factory : Extracts the oil combustible out of the seaweed. \layout Itemize Bakery : Creates bread from water and corn. The bakery also needs oil. \layout Itemize Foundry : Heats the stones up to a very high temperature, until the metal comes out. The foundry also needs oil. \layout Itemize Ostrich Farm : For each ostrich breeded in this farm, a wild ostrich egg must be found. This farm also needs corn and water to feed the ostriches. Ostriches allow your units to move much faster. \layout Itemize Basket Factory : This factory needs wood and builds baskets, they are useful to transport more resources. \layout Itemize Shield Factory : This factory needs metal and builds shields, they are useful for a better protection during the war. \layout Itemize Leadership School : For some religious reasons, this school needs oil and water. It also needs a lot of time for the units that go to that school, and there are only few units that may be at the same time in that school. Once a unit comes out of this school, it has become a leader and is able to receive certain direct orders. \layout Section The technology tree \layout Standard \align center \begin_inset Figure size 190 841 file yg_tree.ps height 3 100 angle 90 flags 8 \end_inset \layout Chapter Issues of the Ysagoon Game \layout Section Artwork issues \layout Standard There are many artwork issues that will lead to different code choices. The first choice that must be done is to decide between 2D or 3D graphics. Another important question is the level of realism used in the dynamic environment, like water simulation. \layout Standard An interesting idea for getting more realistic and diversed graphics, is to describe each building geometry by a grammar. Thanks to this, it would be possible to have different graphics of the same building, for instance the placement of the windows could be sightly different for each displayed building. \layout Section Programming issues \layout Standard The code design is not really done yet and all the following informations are highly subject to change. The basic idea is to have a clean object hierarchy in game, named the GOM (Game Object Model), in an analogy to the DOM used in DHTML. The GOM will be fully reflected in a script, probably ECMA 262, aka Java-Script. The script will also have full access to the GUI and the widgets will be written in C++ and used from script. This will allow high level of flexibility. A subset of CAP2 from Sebastian Gerlach will probably be used to provide object garbage collection, serialization and identification, as well as an aid to the GOM interface construction. \layout Standard Networking will be implemented using TCP/IP and UDP broadcasting will only be used to find LAN game servers. A meta-server, named YOG (Ysagoon Online Game) will be used to find Internet games. This meta-server already exists and is working. \the_end