1 / 61

More Than “Just a Game”

More Than “Just a Game”. 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

Télécharger la présentation

More Than “Just a Game”

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.


Presentation Transcript

  1. More Than “Just a Game”

  2. 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

  3. 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

  4. Students’ Story • We came into the class with green thumbs and big smiles Giacomo Paul Justin Nick J.D. Eric

  5. 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

  6. Still Innocent • The Deceit project started • Still smiling =)

  7. 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

  8. Still Innocent • We started developing • Still smiling =)

  9. Responsibility • We experienced working under deadlines • Weekly journal progress reports • Bi-weekly milestone reports • Weekly customer meetings

  10. 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

  11. 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

  12. 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

  13. 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

  14. Selective Hearing • Dr. Wong attempted to show us how to get back on the right track • We listened • Sometimes

  15. 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

  16. Realities

  17. 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

  18. Current MMOs

  19. 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…

  20. The Problem Specification Turning His Vision into Reality: Formalizing Expectations

  21. 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

  22. 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

  23. 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)

  24. Our Proposal • Factions • Players • Tags • Quests • Abilities

  25. 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

  26. 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

  27. Players • Have an inventory • Carry items • More or less depending on size or weight • Resources • Gathered or mined • Awarded for completing quests • Stolen

  28. 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”

  29. 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

  30. 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

  31. Abilities • Examples • Move • Pick up • Speak Russian • Gaining abilities • Learn from other players • Complete quests • Assigned by admin

  32. Diagrams • Formal tools to help us understand our design • Deployment diagrams • System diagrams • Subsystem diagrams

  33. Example Diagrams • TODO

  34. What You Have All Been Waiting For THE DEMO

  35. 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

  36. Additional Game Content • More quests • Player generated • Auto-generated • Faction • Items (NPCs) • Time • Tag

  37. Additional Game Content (cont.) • More game worlds • Different game worlds for different genres • Western • Space Opera • Cyberpunk • Fantasy • Medieval • Etc. • Larger and more complex

  38. 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

  39. Better Menus

  40. Enhanced Graphics

  41. Heads Up Display (HUD)

  42. 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

  43. 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

  44. 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

  45. 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

  46. Learning Experience • Contrary to our preconceived notions, we knew next to nothing when it came to software development • Nothing beats raw experience!

  47. 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

  48. Individuals’ Remarks • What have I taken away? • How has this course changed how I learn? • How has this course affected me personally?

  49. Q&A Ask Away!

  50. Thanks! Thank You!

More Related