Great Justice

 

A 2D RTS/Shooter from the upstart game development group Games for Great Justice.

 

 

 

 

Games For Great Justice

    

 

     Our mission statement

         

          Game for Great Justice is a group of video game developers that got together in order to design the best computer games in the industry.  We are a low-budget (read: no budget) team that is not doing this for the money.  Some say we are making “Great Justice” so that we may pass cs4995, some say that we do it because we love video games, but the truth is that we make games for one reason and only one reason: for great justice!

    

     Who we are

 

            Games for Great Justice is made up of 5 developers:

                        Thomas Chou: Programmer, graduate student specialist.

                        Ramiro Corbetta: Level designer, sprites burglar, and writer.

                        Ang Cui: Programmer, sound and music designer, website designer.

                        Lawrence Chi-Ping Wang: Programmer, AI specialist.

                        Tao Wang: Programmer, graphics and physics specialist.

                              Note: all the specialist roles are liable to change at any point.

 

     Our Website

 

More information Games For Great Justice can be found at http://www.ramirocorbetta.com/games.htm

 

 

 

Design

 

The Basics

 

The player controls a team of up to ten units fighting against another team in real time on a rectangular battlefield with obstacles such as walls, boulders, and bridges. (Imagine a bird's-eye view of a Counterstrike map coupled with control of an entire team at once.) The player also controls the main unit (the Hero in the storyline) by moving him around and shooting at enemies with the mouse.  The game tests the player’s ability to strike a balance between (a) shooting at the enemy and (b) directing the allied troops.  

 

 

The Controls

 

            The control scheme is simple and elegant.  We designed this scheme in order to blend real time strategy and action.  Bored of dill strategy games that don’t reward any hand-eye coordination and tired of repetitive action games that don’t take strategy into consideration, this mixture of two genres should both excite the player and stimulate his brain cells.

 

In order to control both the main character and the units in the map, the player needs an interface that is extremely intuitive.  While he must be given the option of performing complex operations, he should also be able to keep control of the main character.  In order to strike a fine balance between not having enough control of his group and having to overly micromanage his allies’ action, we decided to follow a number based system.  Each unit on the team has a number above his or her head (read the section on UI for more information on this).  Upon pressing a number between 1 and 9 on the keyboard, the player picks the unit corresponding to the number.  Pressing the space bar brings him back to controlling the main character. 

 

            Once he has selected a unit other than the Hero, he will notice that the mouse cursor changes from a crosshair to an arrow.  Left clicking somewhere on the map will send the unit to that location (obviously, as the unit moves he still shoots at enemies in his vicinity).  Right clicking anywhere on the map will tell that unit that the Hero needs backup, which will cause the unit to move close to the Hero and shoot at any units that are shooting at him. 

 

Pressing the Panic button, the F key, will make every friendly unit move close to the Hero and protect him without any regard to their lives.  In order to discourage the player from overusing this feature, the panic feature decreases the level of accuracy of every unit by 40%.

 

An option that simplifies the player’s decisions is to group allied units.  In between level, the player has the option of putting allied units into up to 5 different groups.  These groups can later be selected by holding shift and pressing the number key that corresponds to that group’s number.

 

On top of controlling his allies, the player will also have to control the Hero.  We actually expect about 80% of the player’s time being spent controlling solely the hero, even though the 20% that he spends controlling his allies matter almost as much.  The player has direct control over the hero, using the WASD keys to move and the mouse to shoot.  Whenever the left mouse button is pressed the Hero will shoot towards the crosshair.  There is no relationship between the location of the Hero and the location of the crosshair: the Hero can be moving south while he shoots at enemies coming from the north, or vice-versa. 

 

Whenever the player is controlling one of the allies, the Hero does not move, but he keeps shooting at units that are close to him.  Overall, this control scheme should avoid over-management of the ally units, thus striking a balance between action and strategy.

 

 

The Strategy

The main resource the player has to manage is his team itself. Units are equipped with projectile weapons which vary in their damage dealt, ranged accuracy, and rate of fire. When a unit is hit, it takes some damage, which influences its performance. Enough damage and the unit are useless for the duration of the battle.  If the Hero unit dies, the player loses the game.

 The optimal strategy in any given battle will be an emergent property of the game system, which will depend on a number of factors:

  • The forces' key factors (number, speed, weapons, health, etc.)
  • The enemy forces' key factors
  • The control groups and unit bonuses
  • Battlefield layout (terrain, bottlenecks)
  • Items (weapon bonuses, first aid)
  • The victory conditions

The ideal game play that arises from this complex system is not too hard, but not too easy; it stresses making smart decisions to control the battlefield, rather than frantically micromanaging one's way to victory.

What makes this game different from a traditional real-time strategy game? In a basic RTS, combat strategy follows one simple rule: massed force. This principle can be modified with resistances to different weapon types and other tweaks, but remains the same in general. This is fine for the traditional RTS, since amassing those forces requires resource management.

Our game changes this formula by moving team combat into the realm of the 2D shooter, with accurate collision detection that encourages players to intelligently use the features of the battlefield for cover and movement. The comparison to Counterstrike earlier encapsulates the idea. Team-based first-person shooters produce fairly advanced strategies; this game lets the player develop those strategies directly.

 

 

The Modes

 

            “Great Justice” will include three completely different modes of play.  The main mode will be Story Mode, which will be covered in the next section (The Story).  The other two modes are Waves of Horror and Multiplayer mode.

           

            Waves of Horror

 

            This mode takes place in one of many different maps the player can select.  As the game begins the Hero stands in the middle of the map with only five allies.  Starting with small number, but slowly ramping up, waves of enemies appear from the edges of the map in order to attack the Hero and his allies.  In this “survival” mode, the player fights off the waves of enemies unit the Hero perishes.  The final score is based solely on how many units were killed before the Hero died.

 

            Multiplayer

 

            The multiplayer mode is a battle between two players.  They can meet online (either through a program like Gamespy Arcade or by connecting directly by IP) to fight against each other.  Players can choose between two styles of battle- Fair or Power Monger.  Fair means both players start with the same units.  In Power Monger, the player can use the units they have built up (through online play or single player mode).  Online games should be fairly short, lasting only a couple of minutes.  Thus, best of X battles will be an option (between best of 3 and best of 1001).  Since the multiplayer mode is not one of our major concerns at this point, we will not develop this section until later in the development process.

 

 

The Story

 

            When writing the story for “Great Justice”, we wanted to give the player an extra impetus to keep moving from stage to stage.  The story is not, however, the driving force behind this game.  The story is a crutch to keep the player going.  By making the player interested in the storyline and by making him care about the Hero we believe that we will create a game that is more significant in the eyes of the player.  While this game is not like a console RPG, which is strongly guided (and sometime even controlled) by its storyline, it is also not a platformer game with a save the princess/save the world from the evil monster storyline.

 

            Years ago, the Hero (the player may choose his name) was convicted of murdering every single member of his extended family (his children, his wife, his parents and his brothers).  While he disagreed with the jury, he was obliged to follow his sense of lawfulness.  He spent twelve years in a jail for the mentally unstable before changing his mind.  His friendship with Jonah, a fellow “jail resident” as he liked to call himself, deeply affected his sense of the justice system.  To keep an innocent man in jail because of a faulty justice system was not acceptable.  A few days before Jonah from jail, the Hero decides that he must leave that place.  He agrees to meet with Jonah at Jonah’s home a week after Jonah’s release.  Once the time comes, the Hero and 5 of his most trusted friends succeed in a daring escape in the middle of the night through the jail’s underground tunnel system.  The game begins as the Hero and his allies are making their way to Jonah’s home.

 

            Throughout the story the Hero keeps questioning the validity of his crimes.  Until the end of the story, the player never knows if the hero is innocent or if he is actually insane and cannot remember having committed the crimes.  There will be two possible endings, depending on how the player makes it through the game.  (a) If the Hero is a killing machine who exterminates over 50% of the enemies, then it turns out that he actually is the killer.  (b) If the allies kill more enemies than the Hero, then the thoughtful, strategic Hero is innocent.  Either way the Hero will have to fight Jonah in the last battle.  If (a), then Jonah figures out the mistake he made by telling the Hero to go free, and in an attempt to get him back in jail ends up fighting him.  If (b), then it turns out that Jonah was actually the killer who was trying to frame the Hero for yet more murders, but once he saw the Hero growing too intelligent, decides to kill him in order to hide the evidence.

 

            In between the prison escape and the final battle, there is obviously a long story to be developed.  What follows is a list of all the stages in the game and what is going on in each one.

 

1. Going Home

            The Hero and his four most trusted allies are walking through a forest on the way to Jonah’s house when the get attacked by a group of police guards who have caught up to them.  The player can go to stage 2 once he has killed all the guards.

 

2. Outside the Castle

            Once he arrives, the Hero notices that Jonah’s “home” is actually a castle.  Unfortunately, a wave of guards attacks the Hero’s party from the north and from the south.  The player can move to stage 3 as soon as he reaches the door of the castle.  Due to the large number of guards, fighting is not actually encouraged in this stage.

 

3. My Name is Jonah

            Soon after the player finds Jonah, they hear news that the castle is being invaded.  While Jonah gets away, the player promises to hold off the guards for long enough for Jonah to return with reinforcements.  The player must survive for sixty seconds in order to move to stage 4.

 

…The rest of the stages, as well as the core of the storyline are still under development.

 

 

The Roleplay

 

“Great Justice” records statistics from each battle; such has how many kills each unit scored, and aggregates them into a measure of experience. As units gain experience, they improve in skills like movement speed and accuracy. The experience bonuses may come in the form of "perks," or special abilities, or in the form of RPG-style increases in core statistics.

As the team advances through battle after battle, certain units will therefore become veterans and more valuable to the player. This adds an extra layer of strategy to setting up control groups; in some cases, if the leader of a control group has a perk, it is also given (in lesser degree) to the other members of the control group.

Names and distinguishing features of the player’s ally units are customizable, so they become valuable not only strategically, but also as "people" in whom the player has invested effort and time. Naming units after people the player knows, for example, leads to the humorous Oregon Trail effect ("Bernie has died of cholera").

 

When an allied unit dies, the player may choose to pay a certain amount of money (money and items will be discussed later) in order to bring him back to life.  The exact amount and the storyline explanation behind this are yet to be determined.  Moreover, throughout the story other people who have run away from jail will ask to join your team.  All these team management decisions will obviously be made in between stages and not during the action.

 

 

The User Interface

 

            The user interface will be extremely simple, giving only a few bits of information.  While there will be no information filling the corners of the screen, each character will have his name, a health bar and his number written above his head.

           

            This section will be completed once the UI is finalized…

 

 

The Power ups

 

            Power ups will play an important role in “Great Justice”.  Dead enemies will drop these power ups.  A description of each power up will be added to this document once the power up list is finalized.

 

 

 

Art

 

            The art in “Great Justice” is completely 2D.  The unit sprites are taken from classic SNES games, as well as the Hello Kitty cartoon.   The environments are made up of a mix of sprites from SNES classics (especially The Legend of Zelda: a Link to the Past), some sprites made by people who post them for free on the Internet and pictures created using Photoshop 7.0.

 

 

 

Sound and Music

 

            While some of the sounds were found on free Internet databases, most of the sounds were created in-house.

            The music in the game consists of extremely fast, happy hardcore songs that are supposed to create the feeling that everything is moving too fast.  These are commercial songs that were remixed by members of Games for Great Justice.

 

 

 

Technology

 

            Using extremely advanced, next generation state of the art programming techniques and even a little bit of prestidigitation, the members Games for Great Justice were able to create a top-down 2D shooter that moves at unprecedented speeds.

            “Great Justice” is programmed in Python using the Pygame engine.

            For more information on Python go to http://www.python.org

            For more information on Pygame go to http://www.pygame.org

 

 

I Want More!

 

            More information on the intricacies of “Great Justice” is still to come, so keep your eyes glued to our webpage.  Also this holiday season don’t forget to ask Santa for a copy of “Great Justice”, in store everywhere December 16th.

 

 

 

 

 

-We though about using a three button mouse interface, but then we decided that not everyone has a three-button mouse.

-if you’re moving, you go slower, so that retreating while firing takes longer

-path of bullet deviates after a certain distance

-CTF mode?

-new command UI to make it easier and more user friendly

-level loading music, baby!

-FSM and more FSM