1 SuperCY Group Dec 14-04 Dec14-04 -or-

Slides:



Advertisements
Similar presentations
Global MP3 Geoffrey Beers Deborah Ford Mike Quinn Mark Ridao.
Advertisements

Information Systems in Business
Cosc 5/4730 Game Design. A short game design primer. A game or animation is built on an animation loop. – Instance variables of “objects” are updated.
Chapter 19: Network Management Business Data Communications, 4e.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Lessons learned from a multiplayer RTS development Based on: ures/ /terrano_01.htm - accessed on 17th December.
How do games work? Game Workshop July 4, Parts Sprites/pictures Map/background Music/sounds Player character Enemies Objects.
SMM5101 (ADVANCED MULTIMEDIA PROGRAMMING) Review of Multimedia Programming.
Team Sparkle Motion Jetris – A multiplayer java based implementation of Tetris Team Member and Roles: Devin Kelly-Sneed, Lead Programmer Tristan Johnson,
AraFell Project By: Joey Peters. System Selection A video game – Video games implement many OS principles Already working on the project Challenging Fun.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Contents Overview Major Features Major Components User Interface Gameplay Testing UML Timeline.
Maintaining and Updating Windows Server 2008
Call Center – What Really Makes Sense? Call Center – ce este cu adevarat important?
Gearbox Software PRODUCTION PIPELINE – JOBS TITLES – JOB DESCRIPTIONS.
INTRODUCTION TO SCRATCH. About Me Resources Scratch Website Learn Scratch Washington-Lee Computer.
H-1 Network Management Network management is the process of controlling a complex data network to maximize its efficiency and productivity The overall.
Applying Real-time Simulation to Real-time Collaboration Bart Miller.
SURF-IT Symposium Luke Heidbrink Mentor: Mark Bachman August 26, 2011.
Understanding Android Security Yinshu Wu William Enck, Machigar Ongtang, and PatrickMcDaniel Pennsylvania State University.
CSCI 101 Introduction to Software Development and Design.
(CONTROLLER-FREE GAMING
Lua & Love2D Game Engine GALAGUH
CSE 381 – Advanced Game Programming 3D Game Architecture.
Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0 Key Abstractions in Game Maker Foundations of Interactive Game Design Prof. Jim Whitehead.
CS378 - Mobile Computing App Project Overview. App Project Teams of 2 or 3 students Develop an Android application of your choosing subject to instructor.
CS426 Game Programming II Dan Fleck. Why games?  While the ideas in this course are demonstrated programming games, they are useful in all parts of computer.
A 2-D, multi-player tank game developed in PLT Scheme ~ ~ ~ Ben VandenBos, Tim Reeves, Justin Hall, and John Ericksen ~ ~ ~ Senior Project - CS496 Spring.
Canyon Adventure Technology David Maung, Tristan Reichardt, Dan Bibyk, Juan Roman Department of Computer Science and Engineering The Ohio State University.
Paul Danner - Leader Taylor Gehling - Communications Austen Gregor – Key Idea Holder Trevor McCormack – Webmaster Manimaran Govindarasu – Advisor/Client.
Team ThinkTank. Specifications Ad Hoc networking game. Similar to the Atari Combat! Players control their tank and shoot enemy tanks. Each player gets.
In addition to Word, Excel, PowerPoint, and Access, Microsoft Office® 2013 includes additional applications, including Outlook, OneNote, and Office Web.
Department of Information Engineering The Chinese University of Hong Kong A Framework for Monitoring and Measuring a Large-Scale Distributed System in.
Description, Classes, Interfaces, Hierarchy, Specifics George Georgiev Telerik Software Academy academy.telerik.com Technical Trainer itgeorge.net.
Software Project Documentation. Types of Project Documents  Project Charter  Requirements  Mockups and Prototypes  Test Cases  Architecture / Design.
Funativity CS 426 Fall Team Members David Smits – Lead Chintan Patel – Programmer Jim Gagliano – Programmer Ashleigh Wiatrowski - Artist.
Idea1 : Net Aooni Arcade Idea2 : Shooting Arcade Project Brainstorming Computer Game 2011 Fall ♣ Lee Sang Min.
UFCFS D Technologies for the Web Unity 3D: Review of Topics and Related Concepts.
:D.  The game is still a top-down 360-degree shooter  You gain points as you shoot down enemies  Powerups spawn at a chance everytime you kill an enemy.
Ophelia User friendly Network Multi-player game engine Albert Öhrling.
A Space Game By William Sistar. The Problem What is provided:  Most network games are single player  Some do allow team work but not in a common environment.
Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer.
Network Enabled Wearable Sensors The Combined Research Curriculum Development (CRCD) project works with the Virtual Reality Applications Center (VRAC)
Team 2: Gamers & Coders Final Sprint Presentation.
UFCEK-20-3Web Games Programming Unity 3D: Review of Topics Publishing for the Web.
Team 2: Gamers & Coders ‘ The Last Warrior’ Android Game Application By Chinmay Kulkarni, Darshan Shinde, Matt Frey, Peng Ye, Satoshi Inoue & Shachi Chandrashekhar.
July 5 Game Workshop. Schedule 9-10:25Finish maze/platform games 10:25-10:45Game structure –Different interactions to motivate players 10:45-11:15Playtest.
11 General Game Programming Approach. The program is event-driven The program is event-driven –Messages = events –So as all windows system (for example.
Object Oriented Analysis & Design Game Patterns. Contents  What patterns are  Delegation  Game Loop  Scene Graph  Double Buffering  Component 
Super Pong Andrew S. Dunsmore CSC436 August 2004.
Group9 Kenny Sanders, Ashneel Singh, Jillian Cornette, Justin Mills, Chris Woolfe, Nathaniel Escribano, Jason Hachen, Andrew Melnyk, Elizabeth Graham,
Warlords Patrick Levoshko SE 558 – Multiplayer Game Design.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
Designing Design Tools. What is design tools? Why do we need them?
THE WINDOWS OPERATING SYSTEM Computer Basics 1.2.
1 Topics: Introduction to Game Engine Course Overview What is a game engine? Advantages and Disadvantages Torque Game Engine.
Pirates & Ninjas. P&N: Plan Project summary Architecture User Interface World Creation (town) World Content Creation Game Play Artificial Intelligence.
Busta’ Sandwich Life Cycle Architecture. Specifications.
PROWIND (Positioning Relay over Wirelessly Networked Devices) Team Members: Alexander Smithson, Dian Ding, Yeh Cheng Yuan Graduate Advisor: Eric Liao Faculty.
● Neil Hoggatt - Team Leader ● Yash Ahuja - Technology Leader ● Ryan Cram - Level Designer ● Peter Trang - Artistic Director ● Dr. Elaine Kang - Faculty.
ALL OUT RACING “Live To Race” This unique racing game tries to bring you the best in realistic racing from our amazing collision detection system to the.
Game Maker Tutorials Introduction Clickball IntroductionClickball Where is it? Shooting Where is it?Shooting.
Flash Session 3: Events Shiny Yang special thanks to Alex
Background Shapes & Collision Resolution (Top-down and Side-scrolling)
Game Description Story Goals Controls. Game Description Story Goals Controls.
Yue Zhang, Nathan Vance, and Dong Wang
2D Game Pitch Cave Explorer (FINAL)
Week 6: Time and triggers!
Transparency & magic pixel
Unity Game Development
Presentation transcript:

1 SuperCY Group Dec Dec or-

Team Members Paul Danner – Leader Taylor Gehling – Communications Austen Gregor – Key Idea Holder Trevor McCormack – Webmaster Manimaran Govindarasu – Advisor/Client 2 Dec14-04

Scope of Project Initial Create testbed to implement network optimizations over Android based system Optional Goal: Integrate with Union Pacific Multimedia Wall Modified Made integration with media wall mandatory Removed network optimization goal Iowa State University3

Reasons for Project Re-specification To attract potential students and show them what current students are capable of creating Lay a foundation for future apps looking to utilize the multimedia wall Give department something fun and exciting to show on multimedia wall Iowa State University4

Demo Iowa State University5

App Overview- SuperCY Side-scrolling shooter game Shoot at hordes of enemies, resulting in boss battle Multiplayer – Potential for up to 20 players Powerups add competitive element to game Interacts with media wall for unique experience Iowa State University6

Screenshot of App Iowa State University7

Unity Game Engine for variety of platforms – Android, iOS, PS3, Xbox, Windows/Mac Handles much of back end programming Focused around GameObjects – Players, background objects, scenery, etc. – Write scripts (C#, JS) to control the various GameObjects Iowa State University8

Application Design – Stage I – Singleplayer Created GameObjects to represent player/enemies Write C# scripts to control behavior of various GameObjects – Health – Movement – Shooting/collisions Unity provides means for modularization of GameObjects – i.e. Health script attached to each enemy/player Iowa State University9

Modularization CY Player Script Move Script Weapon Script Shot Script Move Script Health Script Photon View Script Cy Network Script Iowa State University10

Powerups – Challenges Singleplayer – How to get a powerup to spawn on an enemy death – Doesn’t need to spawn on each enemy death – random Multiplayer – Disallowing multiple players to obtain single powerup – Disallow multiple spawning of same powerup – Caused by technical network latency of GameObject Destroy Iowa State University11

Powerups – Solution Singleplayer – Add XYZ_powerup_module for each powerup Sprite renderer – Graphic for powerup to spawn Powerup_Script – Controls collision and corresponding actions – On each enemy death, generate random number to determine if powerup needs to spawn Multiplayer – Assign boolean within powerup scripts, keep track of collisions – On first collision with player Set boolean to false to disallow other players to interact with it Iowa State University12

Application Design – Stage II – Multiplayer Iowa State University13 Integrated Photon Unity Networking into singleplayer project Modify how game runs across multiple devices – Player/Enemy Spawning – Player/Enemy Shots – Player/Enemy Movement Modified game settings to accommodate media wall

Character Spawning Treat media wall as host of game – Spawn enemies/boss – Synchronize background Treat each Android device as client of game – Spawn character – Update movement/shots across network Host and client interact across Photon Cloud and RPC messages Iowa State University14

Networking Breakdown Photon Instantiated Objects Player movement/shots Boss movement/shots Level Synchronization Player Score/Ammo/Health RPC Enemy damage/destruction Player joining/leaving game Call a function on networked object Iowa State University15

Synchronization – Challenge Player movements getting relayed to other devices – Very jittery & delayed Player/enemy shot collisions & destruction – Because enemies were spawned locally on each device via RPC call, object collision was not uniform across network Boss health/spawning across devices – Delay caused by network transmissions cause player shots to last longer Iowa State University16

Player Synchronization – Solution Linear Interpolation – Method of “curve fitting” using linear polynomials Used to smooth out player movement across devices – Player sends updated position periodically – Other devices receive, and take average over a time frame to smooth out other player movements Iowa State University17

Collision/Destruction – Solution Updated enemy spawning to only spawn one character across the network – Pro: Much easier to synchronize states – Con: Enemy position messages increases network traffic When one device damages enemy, send RPC to all users – If enemy health is low enough, make host “Network Destroy” object Keeps all device’s levels synchronized within technical delay time Iowa State University18

Boss Synchronization – Solution Player bullets would hit multiple vertices before being “network destroyed” – Cause each bullet to cause additional damage to boss Caused by technical network delay in message transmissions Updated shot mechanics to cause it not to make more than one damage to enemy/boss Iowa State University19

Garbage Collection – Challenge GameObjects that were not in use anymore would build up and drastically reduce game performance – Issue with both Single and Multiplayer development Examples – Enemies that weren’t destroyed would continue forever – Bullets that missed would continue forever Iowa State University20

Garbage Collection – Solution Attach a frame counter to each GameObject – Count the number of frames since instantiation After ‘X’ amount of frames, destroy the GameObject Example 60 fps – Enemy will cross screen from right  left in 4 seconds if (enemy crosses screen without being destroyed) Destroy ( GameObject ) at frame_count = (60 * 4 + buf) Iowa State University21

Testing Test early, Test often – After each small addition to game logic, test using controlled level variables – Able to isolate problems easily by manipulating level – Make use of Debug Logs Beta-test – FAN Club – Let students test our game on media wall – Received feedback from testers – Observed game from developmental perspective Iowa State University22

Questions? Thank you for your time Iowa State University23

BACKUP SLIDES Iowa State University24

Menu Diagram - Note Like functional decomp in 491 project Iowa State University25

HW/SW Technology Software Unity Game Engine – Used to create Android application – Utilizes C# scripts written by user to complement traditional game mechanic backing Photon Unity Networking – Unity backed network support for multi-player apps – Cross-compatibility between different devices i.e. Windows, Android, iOS, etc. Hardware Android Devices – Up to 20 devices concurrently Union Pacific Multimedia Wall – Runs Windows 7 – 12 touch screen monitors – Located in Coover East Entrance Iowa State University26

(X 1, Y 1, t 1 ) (X 2, Y 2, t 2 )