Pirates & Ninjas. P&N: Plan Project summary Architecture User Interface World Creation (town) World Content Creation Game Play Artificial Intelligence.

Slides:



Advertisements
Similar presentations
On-line media tools for strategic communications purposes When using media tools for communication we try to use the latest technologies such us blogging,
Advertisements

Musical Social Networking Using Real-Time Audio Transport Software Research Conducted by Justin A. Gutierrez Advisor: Miller S. Puckette Cal-IT 2 Undergraduate.
Executional Architecture
Packetizer ® Copyright © 2009 H.325 Overview Paul E. Jones Rapporteur, Q12/16 H.325 Experts Group April 7,
EEE436 / CS422 Final Presentation Group
 Currently there is no software solution that combines video and animation in to one platform.  Every single change drag changes in all of the environments.
Soul Envoy Final Year Project 22nd April 2006 By Zhu Jinhao.
On the Impact of Delay on Real-Time Multiplayer Games Authors: Lothar Pantel, Lars C. Wolf Presented by: Bryan Wong.
Visual jMUD Oscar Chen CS491. Important Note The IMAGES used in this presentation and demonstration of Visual jMUD are COPYRIGHT by their respective holders.
How do games work? Game Workshop July 4, Parts Sprites/pictures Map/background Music/sounds Player character Enemies Objects.
“You Sunk My Iceberg!” An Android Game. By: Kevin Morillo, James Redway, and Ishmael Smrynow.
Quality of Service in IN-home digital networks Alina Albu 22 July 2003.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Game Design and Programming. Objectives Classify the games How games are design How games are implemented What are the main components of a game engine.
Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization I’m Curtis.
Yard Wars David Greer Alex Gross Ahsen Uppal. Goals Wireless, Portable Development Real Time Voice Conferencing Exciting, Expandable Game Engine.
Game Design Documents.
Group: RO3 1 MMORPG Networked Game Advised by Prof. David Rossiter Date: 29 April 2006.
Computer Networks Transport Layer. Topics F Introduction  F Connection Issues F TCP.
A. Frank - P. Weisberg Operating Systems Introduction to Tasks/Threads.
L/O/G/O Prepared By Abdullah Mustafa Abu Nada Hussian Abd-Jaleel Shaalan Nael Wael Skaik Supervised By.
Applying Real-time Simulation to Real-time Collaboration Bart Miller.
HOCKEY2D A C++ Videogame Using the SDL 2.0 Library By PaintedLady.
In association with Technion and Qualcomm. Project supervisor: Tatyana Finkel. Technion Israel Institute of Technology.
CSE 381 – Advanced Game Programming 3D Game Architecture.
Holistic Mobile Game Development with Unity 2015 Taylor & Francis. All rights Reserved.
Games 1.Have a reason to design a game. 2.Brainstorm 3.Sift, strain, and find the “good” ideas 4.Prototype 5.Playtest 6.Experience Doc.
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
1 Lecture 4: Threads Operating System Fall Contents Overview: Processes & Threads Benefits of Threads Thread State and Operations User Thread.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Design Document Presentation. Review Quoridor – a board game played on a grid where players must advance tokens across a board to win. Our basic objective:
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
10/9/20151 Unreal Basics CIS 488/588 Bruce R. Maxim UM-Dearborn.
CPT 123 Internet Skills Class Notes Audio/Video Communication Session.
Multimedia is a combination of text, art, sound, animation, and video.
The Design Document The Design Document Introduction Game Mechanics Artificial Intelligence Characters, Items, and Objects/Mechanisms Story.
The transmission quality is the base of the added value of the platform. Our streaming promotes exponentially the user's experience: : · Solution.
1 Web Based Programming Section 8 James King 12 August 2003.
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.
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
APPLICATION SOFTWARE Objectives Describe several important trends occurring in computer software. Give examples of several major types of application.
“You Sunk My Iceberg!” An Android Game. By: Kevin Morillo, James Redway, and Ishmael Smrynow.
TomeNET Tales Of Middle Earth.
1 MMORPG Servers. 2 MMORPGs Features Avatar Avatar Levels Levels RPG Elements RPG Elements Mission Mission Chatting Chatting Society & Community Society.
Game Programming Patterns Event Queue From the book by Robert Nystrom
“The perfect project plan is possible if one first documents a list of all the unknowns.” Bill Langley.
Rawhide Frontier Ctrl + Y John Battagline, Paul Betts, Aaron Cardwell, Jordan Lehmiller, Kyle Moore, John Scott.
 A plan of attack for your games content  Or (more specifically)  A detailed description of all games mechanics, objects, characters, stats, ect… that.
Trojan Rabbits. (10/31) Functional minimum: Tile/Grid-based Game "Engine" (Shaun & Michael) Game Objects Created (Timothy) User Interaction Movement (Yan)
A l a p a g o s : a generic distributed parallel genetic algorithm development platform Nicolas Kruchten 4 th year Engineering Science (Infrastructure.
Planning, Sharing & Promoting Your Podcast
TELE IMMERSION AMAN BABBER
Troops and Flags ITCS /10/07. Graduate Team #1 Daniel – Model (Team Leader) Jonathan –Rule Checker Priyesh – View, Sprites, Foley artist Rob –
OpEnSp a Ce LCA Proposal Calvin Chin David Couvrette Jung Son Mikiko Jama CSE403 Summer 06.
Dr. Brian Durney Computing and Networking Sciences at UVU C S
ELearning Brothers Storyboard Course Type: Audience: Projected Hours: SME’s: Project Manager: Assigned Developer: Course Title: Project Information Adult,
Multimedia Synchronization I. Fatimah Alzahrani. Definitions Multimedia System : A system or application that supports the integrated processing of several.
CS F EBRUARY 9, 2016 P ARTS G AME A RCHITECTURE, M EMORY, AND I/O S YSTEMS G AME T IMING G AME T IMING G AME P ARALLELISM G AME P ARALLELISM.
Finite State Machines Logical and Artificial Intelligence in Games Lecture 3a.
 Site specific art is influenced by it’s location (‘site’) and surroundings.  A Virtual-Site allows for easy duplication of the art object, which introduces.
The Stingray Example Program CMT3311. Stingray - an example 2D game May be useful as a simple case study Most 2D games need to solve generic problems.
CHANGES  Fixed dug dirt bug  Background Color + Glow  Random Level Generation  Point Value Display  New sounds.
Bakongo Mobile Game Development Final Project Presentation / 29.March.2012.
CS427 Multicore Architecture and Parallel Computing
Next Level Tic-Tac-Toe
Managed DirectX Joe Gavin.
Presentation transcript:

Pirates & Ninjas

P&N: Plan Project summary Architecture User Interface World Creation (town) World Content Creation Game Play Artificial Intelligence

Project summary Presentation Technologies used Architecture User Interface World Creation (town) World Content Creation Game Play Artificial Intelligence →Project summary P&N: Plan

Project summary Presentation Technologies used →Project summary P&N: Plan

Project summary Presentation Technologies used →Project summary P&N: Plan

Architecture Data Flow Buffer Management Tool Game Application Aggregator Video Manager Audio Manager Network Manager Main AI →Architecture

P&N: Architecture Game application + player input Main AI Aggregator Buffer Video Manager Buffer Network Manager Buffer Audio Manager Buffer

P&N: Architecture AI Aggregator Buffer Video Manager Buffer Network Manager Buffer Audio Manager Buffer →Data Flow Read Write Game application + world data + player input Player Management Buffer Management Tool

P&N: Architecture →Data Flow Why so many buffers? –Multi threaded applications Calls must be ‘safe’ –No simultaneous writes to data –Less lock necessary for synchronization –Easy duplication of information –Thread info transmission and network works the same way Use the same buffers Buffer management tool

P&N: Architecture →Buffer Management Tool Aggregator Packet Destination: Packet Source:Anywhere AggregatorVideoAudioNetwork Buffer Management Are we playing a multiplayer game ? Should the packet be copied to the network ? No AudioVideo

P&N: Architecture →Buffer Management Tool Aggregator Packet Destination: Packet Source:Anywhere AggregatorVideoAudioNetwork Buffer Management Are we playing a multiplayer game ? Should the packet be copied to the network ? Yes No AudioVideo Network or Video PM Yes AI

P&N: Architecture Game application + player input Main AI Aggregator Buffer Network Manager Buffer Audio Manager Buffer →Game Application Video Manager Buffer

P&N: Architecture →Game Thread Game Application World player elements monster elements room listInteractible elements Player Management Graphic Renderer Manages Player Input Holds Game Data Renders Graphics Manages Player Menu Manages Main Menu

P&N: Architecture Initialize Data references (Resources) Initialize Data holder (World) Initialize Monster Type Generator (MTG) Initialize Audio Manager thread (AM) Initialize Aggregator thread (Agg) Initialize Artificial Intelligence thread (AI) Initialize Network thread (Net) (multiplayer) →Game Thread: Init

P&N: Architecture →Game Thread: Running For each player: –Create a player management (PM) –Treats input via the PMs from the players Manages main menu Manages play time initialization Updates the graphics Renders the graphics

Player Management P&N: Architecture →Game Thread: PM Inputs Buffer Management Tool

Game application + player input Main AI Aggregator Buffer Network Manager Buffer Audio Manager Buffer P&N: Architecture →Aggregator Video Manager Buffer

P&N: Architecture →Aggregator Thread AGGREGATORAGGREGATOR Handles its buffer Updates spell position Handles spell effects Updates spell cool downs Handles dynamic elements Handles interactive elements Buffer Management Tool

P&N: Architecture →Aggregator Thread Two working mode: –Master mode Single player or multiplayer and host –Slave mode Multiplayer and client Difference in the working mode: –A master aggregator will calculate spell effects regarding life –It will also create the world and send it to the slave aggregators

Game application + player input Main AI Aggregator Buffer Video Manager Buffer Network Manager Buffer Audio Manager Buffer P&N: Architecture →Video Manager

P&N: Architecture →Video Manager

Game application + player input Main AI Aggregator Buffer Network Manager Buffer Audio Manager Buffer P&N: Architecture →Audio Manager Video Manager Buffer

P&N: Architecture →Aggregator Thread AUDIOAUDIO Handles its buffer Play sound with 3D effects Play music in random loop Buffer Management Tool

Game application + player input Main AI Aggregator Buffer Video Manager Buffer Network Manager Buffer Audio Manager Buffer P&N: Architecture →Main AI

P&N: Architecture →Main AI Thread Wakes Monster Main AI Monster Element MovementDecision Making Monster Element MovementDecision Making Monster Element MovementDecision Making Monster Element MovementDecision Making Monster Element MovementDecision Making Monster Element MovementDecision Making Monster Element MovementDecision Making Monster Element MovementDecision Making When the Main AI thread wakes a monster it: Creates a decision making thread Creates a movement thread A monster can also ‘learn’

Project summary Architecture User Interface World Creation (town) World Content Creation Game Play Artificial Intelligence →User Interface P&N: Plan

Project summary Architecture User Interface World Creation (town) Parameters Room Generation World Content Creation Game Play Artificial Intelligence →World Creation P&N: Plan

Project summary Architecture User Interface World Creation (town) Parameters Room Generation World Content Creation Game Play Artificial Intelligence →World Creation P&N: Plan

P&N: World Creation Number of rooms in the world Common border size between 2 room Size of doorway between 2 room Compacity level of the world Max number of branching room Straightness of the walls between 2 room Number of test made to place a room →World Creation: Parameters

Project summary Architecture User Interface World Creation (town) Parameters Room Generation World Content Creation Game Play Artificial Intelligence →World Creation P&N: Plan

P&N: World Creation Respects set of constraints: Border overlapping for 1 pixel The world must stay close at all time to keep players in Respects the parameter inputted by the player You must be able to go from any room to any other room →World Creation: Room Generation

P&N: World Creation →World Creation: Room Generation We use logical operation to combine rooms together 28 & 193 = & 193 = & 199 = 4

P&N: World Creation →World Creation: Room Generation

Project summary Architecture User Interface World Creation (town) World Content Creation Building Creation Monster Generator Game Play Artificial Intelligence →World Content Creation P&N: Plan

Project summary Architecture User Interface World Creation (town) World Content Creation Building Creation Monster Generator Game Play Artificial Intelligence →World Content Creation P&N: Plan

P&N: World Creation →World Content Creation: building

Project summary Architecture User Interface World Creation (town) World Content Creation Building Creation Monster Generator Game Play Artificial Intelligence →World Content Creation P&N: Plan

P&N: World Creation →World Content Creation: Monster

Project summary Architecture User Interface World Creation (town) World Content Creation Game Play Artificial Intelligence →Game Play P&N: Plan

Project summary Architecture User Interface World Creation (town) World Content Creation Game Play Artificial Intelligence →Artificial Intelligence P&N: Plan

Artificial Intelligence –Movement Path finding Orientation –Decision Making –Learning Methods Decision per decision AI versus AI AI versus player →Artificial Intelligence

P&N: Plan Artificial Intelligence –Movement Path finding Orientation –Decision Making –Learning Methods →Artificial Intelligence

P&N: Plan Artificial Intelligence –Movement Path finding Orientation –Decision Making –Learning Methods →Artificial Intelligence

P&N: Artificial Intelligence →Decision 6 possible decisions –Move (towards and away from target) –Flee –Switch target –Counter target –Cast offensive spell –Cast defensive spell We sort the efficiency of the decisions and then act on the best one

P&N: Artificial Intelligence →Decision: Move Movement is based on answers to: –Am I already moving? –Am I casting a spell? (instant? Y/N) –Need to move to cast best offensive spell? –Need to move to cast best defensive spell? –Is my target immune? –Where can I go? (number of directions)

P&N: Artificial Intelligence →Decision: Flee Fleeing is based on answers to: –Am I fleeing? –Are some of my friends fleeing? (contagion) –Is my group well? (Sufficient life) –Can I kill my target before it kills me? –Do I have lots of friends?

P&N: Artificial Intelligence →Decision: Switch & Counter Counter is based on answers to: –Is my target casting? –Is the counter useful? (right magic school) –Is the counter on cool down? Target switching is based on answers to: –Is my target immune to my spells? –What is the best spell I can cast on any enemy? –Am I cornered?

P&N: Artificial Intelligence →Decision: Offense Offense is based on answers to: –Am I already moving? –What is the best offensive spell I can cast? –Is my group well? –Is my target well? –Can I kill my target before it kills me?

P&N: Artificial Intelligence →Decision: Defense Defense is based on answers to: –Am I already moving? –What is the best defensive spell I can cast? –Is my group well? –Is my target well? –Can I kill my target before it kills me?

P&N: Plan Artificial Intelligence –Movement Path finding Orientation –Decision Making –Learning Methods →Artificial Intelligence

P&N: Artificial Intelligence →Learning Methods Decision per decision For each decision we say it is good or bad Long process and un-scalable since an AI takes a decision every second AI versus AI If the AI loses then it means the decision it made were wrong AI versus player Same as AI vs AI however it a player playing. It should make the AI stronger

Questions ? Thank you for listening

P&N: Plan Data Description –Elements DynamicInteractiveStatic –Rooms –Spells –Talents →Data Description

Game application + player input Main AI Aggregator Buffer Video Manager Buffer Network Manager Buffer Audio Manager Buffer P&N: Architecture →Network Manager

P&N: Architecture →Network Manager Thread Client Buffer Client Buffer Host AI Buffer All aggregators do not do everything Why ? Because the data would become incoherent

P&N: Plan 2 Buffers –In –Out Each buffer has a read and write method –Write is a locked operation because different thread may access it –Reads are made by the network manager –Reads write data to: Aggregator Network Stream →Network Manager Thread