Download - More Than “Just a Game”
![Page 1: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/1.jpg)
More Than“Just a Game”
![Page 2: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/2.jpg)
Student’s Viewpoint
No homework! (It’s much much worse) We’re a small company doing contract
programming Our customer knows next to nothing
about software We must interpret the customer’s
wants and needs and compromise when his desires are not feasible to implement
![Page 3: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/3.jpg)
Instructor’s Viewpoint
Comp410 is designed to teach students How to be professional How to deal with a large software project How to work as a team How to use popular industry
technologies How to design enterprise class systems
![Page 4: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/4.jpg)
Students’ Story
Giacomo Paul Justin Nick J.D. Eric
We came into the class with green thumbs and big smiles
![Page 5: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/5.jpg)
Innocence
The warm-up project came and went We thought we:
Had learned all there was to know about working as a software development team
Wouldn’t repeat the mistakes we made
![Page 6: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/6.jpg)
Still Innocent
The Deceit project started Still smiling =)
![Page 7: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/7.jpg)
First Customer Meeting
We met with the customer, Dr. Nguyen
Got a sense for the degree of professionalism we were supposed to bring to the class
![Page 8: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/8.jpg)
Still Innocent
We started developing Still smiling =)
![Page 9: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/9.jpg)
Responsibility
We experienced working under deadlines Weekly journal progress reports Bi-weekly milestone reports Weekly customer meetings
![Page 10: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/10.jpg)
Literature
Each journal and milestone ~800 words
6 people * 800 words * 15 journals = 72,000 words over the course of the
semester We could write a small book
![Page 11: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/11.jpg)
Innocence Fading
We quickly stopped smiling
Our customer Didn’t care if half
the team was out for the week
Still demanded some visible measure of progress
![Page 12: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/12.jpg)
Bad Practices
We pushed ourselves to develop something significant for every week
Under this pressure, we often had to
Compromise good
code by making hacks to have something to show at the customer meetings
![Page 13: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/13.jpg)
Hacking Away
Weeks passed Then months Our “hack” base grew larger and
larger Due to our mountains of hacks and
sophomoric designs, we were making negative progress with every new line of code
![Page 14: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/14.jpg)
Selective Hearing
Dr. Wong attempted to show us how to get back on the right track
We listened Sometimes
![Page 15: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/15.jpg)
Good Practices
Heeding Dr. Wong’s advice, we got somewhat back on track by Critically analyzing our design Refactoring our code Revamping our team structure
![Page 16: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/16.jpg)
Realities
![Page 17: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/17.jpg)
The Customer’s Vision
Political satire “… war and
deceit…” Allies become foes Enemies
masquerade as friends
Online in real-time Essentially an
MMORPG Massively Multiplayer
Online Role Playing Game
![Page 18: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/18.jpg)
Current MMOs
![Page 19: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/19.jpg)
The Customer’s Vision (cont.) Blending gaming with reality
Google Maps in-game to help players navigate
Local weather is reflected by the in-game weather
Etc…
![Page 20: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/20.jpg)
The Problem Specification
Turning His Vision into Reality:Formalizing Expectations
![Page 21: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/21.jpg)
Documenting the Requirements
Potential names: Spy Games Unending War Specification Introduction Game World
Factions Players Objects Environment
Game Interactions Real-Time Interactions Faction Interactions Quests to improve player
Additional Constraints Introduction: Triangular conflict with bad translation and varying degrees of cheating, ranging from in-game botting and terms of use violations to federal offenses like credit card fraud. The client would like a MMORPG that allows for continuous play, has no start or end, and engages the player’s character even when the player is not logged in. The game will have
multiple factions that the players will choose to join initially, and these factions will influence their style of gameplay by offering unique opportunities in the game world. Most factions may be pitted against each other, although some may be aligned. Players can either run free or join factions. Once a player has joined a faction, there is some game
mechanism that prevents whimsical Game should be a satirical reflection of today's political scene where enemies may not be as obvious as "the guys wearing the other color" and where friends are sometimes hard to
find. Game Play Player Objectives Survive. This may require eliminating the opposition. End Game Conditions There is no "final level" or "boss" to defeat in order to win the game. The player's goal should be to best all other players in comparative rankings. Starting Out When a player creates a new character, do they start off as an independent? Or can they choose from a list of already created factions? Maybe we have two standard factions that have no
real abilities where people can start off? Game World Factions Factions are named groups of players that form a "team". The game application never explicitly indicates to which faction a player belongs (e.g. there is no text label floating above a
player's avatar with the faction name in a graphical client or there is no mention of the player's faction in the description text in a text-based client). A key element of gameplay is determining whether or not other players are friendly.
Faction Membership Players may be a member of exactly 1 faction or may not belong to a faction. Players that are not members of factions are called Independents. How hard is it to change factions? Is there time involved, like... you can't join another faction Membership Benefits Once a member of a faction, a process exists whereby the player can acquire (with varying amounts of effort and time) "abilities" from the faction's knowlege, e.g. learning "languages" or
how to use spells or weapons or mine for certain resources. Another key benefit of faction membership is protection. Faction members can band together and help protect each other when outside of faction territory. Inter-faction Relations
![Page 22: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/22.jpg)
More Documenting The factions may form allegiances. Should we specify different types of allegiances? Certainly there will be full-blown allegiances where "fully aligned" factions can enter each other's "territory" and utilize allies'
bases/towns/outposts and where killing friendly (belonging to a fully-aligned faction) players decreases the player score/elicits penalties. But maybe there can be lesser alliances such as trade alliances. Maybe in a trade alliance factions trade resources with each other or allow allies to move around on their land without attacking them.
Faction Merging Entire factions can be captured by rival factions or absorbed by larger friendly factions. The old faction ceases to exist. Collective knowledge should flow in both directions. Relative Power of Factions The strength of a faction can be measured by size of influence (number of members) and by wealth (amount of resources in store). Resources Factions gain some resources by gathering/mining them. They can be found throughout the game world. Factions can also steal resources from other factions. The prizes of some quests
are resources. Key to the City Each faction has a "treasure chest" of sorts that it wants to protect from enemy discovery. The object or secret knowledge should be significant enough that should an enemy discover the
object and use it or learn the secret then the victim faction should be significantly affected, perhaps by being disbanded entirely, losing its collective knowledge, losing its leader (if there is such a game construct), or losing its resources.
It has been suggested that to find out the location of the treasure chest, maybe a faction member that wants to know the secret has to solve a puzzle or riddle. Leadership Should every faction have a single Faction Leader, initially the creator of the faction and then perhaps elected by vote? Leader knows location of the treasure chest.
Faction points vs loyalty points Resources – Quests achieve them Game masters release resources and quests for the players to go after Player Interactions Game Masters Game masters act as Gods: Influence levels of resources Quests Illnesses Objects: Environment The game world is persistent. When the player is logged out, the world progresses around him. Time The game world cycles through periods of daylight (where visibility is normal) and nighttime (when players have difficulties seeing). Time-based events can be based on this cycle. Quests and the like may require players to wait a certain number of days before progressing. Weather Weather can affect many things in the game world. Flooding from rain can make rivers impassable. Storms can reduce visibility even during the day. Static abilities Dynamic environment
Notion of locality Resources Money, energy When you’re weak, you probably need to join a faction Interactions: Real-time
![Page 23: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/23.jpg)
And Some More… Faction Interactions You change factions when you get captured Different languages Acquire new abilities at runtime (short term abilities) When you’re captured, Quests Additional Constraints Audience Tablet no xbox login from anywhere Application The game world is persistent. Realtime Use standard libraries Don’t make anything new unless it’s new Mostly text-based is fine, no emphasis on graphics. Extensible so that graphics can be added later. Run third party programs to alter data (e.g. find a text document and open it with external software)
![Page 24: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/24.jpg)
Our Proposal
Factions Players Tags Quests Abilities
![Page 25: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/25.jpg)
Factions
Named teams Players may be a member of up to
one faction Any player can create a faction and
invite others to join their faction Never explicitly revealed to other
players Can form political agreements Strength measured by number of
members, territory controlled, or resources collected
![Page 26: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/26.jpg)
Factions (cont.)
Initially controlled by its creator Leadership can be changed
democratically Membership benefits
Faction’s knowledge▪ Use spells, weapons, or foreign languages
Ability to use faction resources Responsibility, including faction
management Protection
![Page 27: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/27.jpg)
Players
Have an inventory Carry items More or less depending on size or weight
Resources Gathered or mined Awarded for completing quests Stolen
![Page 28: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/28.jpg)
Players (cont.)
Map Players have a mini-map that shows
their position and immediate surroundings
Players can attack each other Use items and abilities to weaken the
others After incurring enough damage, a player
goes “unconscious”
![Page 29: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/29.jpg)
Tags
Players can tag items in the game world Claimed faction of another player Location of hidden treasure
Players can view all their tags Players are notified when they come
across items they’ve tagged
![Page 30: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/30.jpg)
Quests
Puzzles and tasks that players can complete
Once completed, help the player Can award resources or abilities to
player or player’s faction Quest journal
Players can check their progress completing quests
![Page 31: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/31.jpg)
Abilities
Examples Move Pick up Speak Russian
Gaining abilities Learn from other players Complete quests Assigned by admin
![Page 32: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/32.jpg)
Diagrams
Formal tools to help us understand our design Deployment diagrams System diagrams Subsystem diagrams
![Page 33: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/33.jpg)
Example Diagrams
TODO
![Page 34: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/34.jpg)
What You Have All Been Waiting For
THE DEMO
![Page 35: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/35.jpg)
Future Development
We’ve created an extensible game engine
You’ve seen just a few examples of what it makes possible
Looking forward Additional game content Additional features Enhanced graphical user interface Extended use of tagging Non-player characters
![Page 36: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/36.jpg)
Additional Game Content More quests
Player generated Auto-generated▪ Faction▪ Items (NPCs)▪ Time▪ Tag
![Page 37: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/37.jpg)
Additional Game Content (cont.) More game worlds
Different game worlds for different genres▪ Western▪ Space Opera▪ Cyberpunk▪ Fantasy▪ Medieval▪ Etc.
Larger and more complex
![Page 38: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/38.jpg)
Additional Features
In-game weather based on current local weather conditions
Game maps based on real-world maps via web services such as Google Maps
More player abilities Enhanced graphics
![Page 39: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/39.jpg)
Better Menus
![Page 40: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/40.jpg)
Enhanced Graphics
![Page 41: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/41.jpg)
Heads Up Display (HUD)
![Page 42: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/42.jpg)
Extended Use of Tagging
Currently tags just store text Share tags with faction members
Copy Share live
Potential to generate game content and events based on tags’ contents If many people tag a particular player as
a leader, that player’s status and abilities may change
![Page 43: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/43.jpg)
Extended Use of Tagging (cont.) Potential to generate tags from
game events If two parties engage in combat,
witnesses can have tags generated for them identifying the parties as enemies
Tags can be used to represent incomplete knowledge that is still useful
![Page 44: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/44.jpg)
Non-Player Characters (NPC) NPCs would add life to the game
world Characters without users to control
them would use default behavior scripts They keep interacting with the world
when the gamer is not online▪ Mining resources▪ Protecting the faction from enemies
![Page 45: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/45.jpg)
Impact on Students
Introduced us to software engineering on a scale such that no individual has knowledge of the entire system
Forced to work together and rely on each other
We’ve learned how to be better communicators, programmers, and team members
![Page 46: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/46.jpg)
Learning Experience
Contrary to our preconceived notions, we knew next to nothing when it came to software development
Nothing beats raw experience!
![Page 47: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/47.jpg)
Learning Experience (cont.) We all have a much better
appreciation for Time management Tasking Communication skills Good design
Better appreciation! We still have room to improve
![Page 48: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/48.jpg)
Individuals’ Remarks
What have I taken away? How has this course changed how I
learn? How has this course affected me
personally?
![Page 49: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/49.jpg)
Q&A
Ask Away!
![Page 50: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/50.jpg)
Thanks!
Thank You!
![Page 51: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/51.jpg)
Thanks to
for listening
You
![Page 52: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/52.jpg)
Thanks to
for all their hard work!
The teammembers
![Page 53: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/53.jpg)
Thanks to
for giving guidance
The TA’s
![Page 54: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/54.jpg)
Thanks to
for providing us with matching laptops
The CS department
![Page 55: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/55.jpg)
Thanks to
for understanding when we were busy
All of our friendsand professors
![Page 56: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/56.jpg)
Special Thanks to
for feeding us! =)
Schlumbergerand Microsoft
![Page 57: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/57.jpg)
Extra Special Thanks to
for caring and putting up with us
Dr. Wong &Dr. Nguyen
![Page 58: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/58.jpg)
Where do we go from here? Related Design Classes
Comp 415 Comp 460
![Page 59: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/59.jpg)
Comp 415 Experience real customers, software, and
situations Class will be contracted by an industrial
customer to design build, and deliver a product
Negotiate to finalize specifications, updates, and delivery schedules
Encounter real-life issues such as team management, intellectual property, and vagueness and specification changes
Develop a state-of-the-art software application
![Page 60: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/60.jpg)
Comp 460
Project-based class Teams of 2-4 CS and Visual Arts
students Design and build computer games
suitable for Xbox Live Arcade using C# and XNA
Comp 260 or Comp 360 is recommended as a prerequisite for CS students
Previous experience drawing in Photoshop is recommended for Visual Arts students
![Page 61: More Than “Just a Game”](https://reader036.vdocument.in/reader036/viewer/2022062302/56816519550346895dd7963f/html5/thumbnails/61.jpg)
More Than“Just a Game”