Introduction Games have always been a fundamental part of human life. Space storm “ عاصفة الفضاء” is a 3D SCI-FI game that consists of two stages presented.

Slides:



Advertisements
Similar presentations
1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 9 Adding Realism Through Texture.
Advertisements

16.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 16 – Some Special Rendering Effects.
9.1si31_2001 SI31 Advanced Computer Graphics AGR Lecture 9 Adding Realism Through Texture.
Using 2D sprite with OpenGL 2003 team Koguyue. Overview Motivation and basic concepts Advantages with using OpenGL Basic requirements of implementation.
Video Object Tracking and Replacement for Post TV Production LYU0303 Final Year Project Spring 2004.
Chapter 4.2 Collision Detection and Resolution. 2 Collision Detection Complicated for two reasons 1. Geometry is typically very complex, potentially requiring.
3D Graphics Rendering and Terrain Modeling
CHAPTER 12 Height Maps, Hidden Surface Removal, Clipping and Level of Detail Algorithms © 2008 Cengage Learning EMEA.
 2004 Prentice Hall, Inc. All rights reserved. Chapter 18 – Macromedia Flash MX 2004: Building an Interactive Game Outline 18.1 Introduction 18.2 Object-Oriented.
Move With Me S.W Graduation Project An Najah National University Engineering Faculty Computer Engineering Department Supervisor : Dr. Raed Al-Qadi Ghada.
Real-Time Rendering SPEACIAL EFFECTS Lecture 03 Marina Gavrilova.
HCI 530 : Seminar (HCI) Damian Schofield.
Chapter 4.2 Collision Detection and Resolution. 2 Collision Detection Complicated for two reasons 1. Geometry is typically very complex, potentially requiring.
1 Geometry A line in 3D space is represented by  S is a point on the line, and V is the direction along which the line runs  Any point P on the line.
Game Mathematics & Game State The Complexity of Games Expectations of Players Efficiency Game Mathematics o Collision Detection & Response o Object Overlap.
IAT 3551 Computer Graphics Overview Color Displays Drawing Pipeline.
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Computer Graphics Mirror and Shadows
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
SOURCE 2006 Presentation by Luke Arntson Game Programming Optimization.
Antigone Engine Kevin Kassing – Period
COMP 175: Computer Graphics March 24, 2015
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
1 CMT Fundamentals of Computer Graphics Revision Dr. Xiaohong Gao BG---Room 2C23 Week 11.
CSE 381 – Advanced Game Programming Basic 3D Graphics
Week 2 - Wednesday CS361.
We will be creating a spaceship that simulates real movements in space. The spaceship will fire a laser beam that can destroy targets. The spaceship will.
Project Raytracing. Content Goals Idea of Raytracing Ray Casting – Therory – Practice Raytracing – Theory – Light model – Practice Output images Conclusion.
How to make a Shooting Target game in Scratch!. WE ARE GOING TO MAKE A TARGET GAME. This game will have: A Target that will move when clicked. A Timer.
Blender Animation Particle Systems and Interactions.
Programming games Show your version of Bo the dog. Start cannonball Preview: video, audio work session (cannonball) Homework: Cannonball with ball in a.
Learning Unity. Getting Unity
Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Chapter 9 Advanced Assembly Modeling Techniques. After completing this chapter, you will be able to perform the following: –Create design view representations.
Point Sprites Course Information CVG: Programming 4 My Name: Mark Walsh Website: Recommended.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Creating a Simple Game in Scratch Barb Ericson Georgia Tech June 2008.
Sky Boxes and Vector Math 2 Course Information CVG: Programming 4 My Name: Mark Walsh Website:
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
ANIMATIONS, REDUX. reviewing the “automatic” method 1: click AutoKey to start recording 2: move the time slider 3: adjust camera (or anything else) 4:
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
Copyright © Curt Hill Meshes A Little More to Know.
Graphics, Modeling, and Textures Computer Game Design and Development.
1 Teaching Innovation - Entrepreneurial - Global The Centre for Technology enabled Teaching & Learning, N Y S S, India DTEL DTEL (Department for Technology.
Introduction to Game Programming & Design III Lecture III.
Final Presentation CS491B ALAIN VINIOT DE LARA Spring 2007, CSULA.
Introduction to Terrain Sai-Keung Wong National Chiao Tung University, Taiwan.
Game Maker Tutorials Introduction Clickball IntroductionClickball Where is it? Shooting Where is it?Shooting.
Chapter 9 Advanced Assembly Modeling Techniques. After completing this chapter, you will be able to perform the following: –Create design view representations.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Unity 3D Rolfe Bozier 24-Apr-2017
Computer Graphics Overview
- Introduction - Graphics Pipeline
Introducing Blender.
IMAGES.
Game Development Unity3D.
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
© University of Wisconsin, CS559 Fall 2004
Learning Java with Alice 3.0 Game Design Kathy Bierscheid
CSCE 441: Computer Graphics Hidden Surface Removal
Chapter 4.2 Collision Detection and Resolution
Graphics, Modeling, and Textures
Blender API: Part 2: Game Engine
Transparency & magic pixel
Presentation transcript:

Introduction Games have always been a fundamental part of human life. Space storm “ عاصفة الفضاء” is a 3D SCI-FI game that consists of two stages presented through an Arabic interface.

The main goal of this project is to apply some graphical and physical principles. Present the game through a well designed Arabic Sci-Fi adventure game. Show female abilities in the field of game programming. Goal and Objectives

Graphics Design Designing 2D images. Modeling 3D objects. Adding light to models in 3DSTATE World Builder. Using texture mapping.

Stage One Design A control frame with multiple objects 3D Objects (3Ds Max) 2D Designs (PhotoImpact XL)

Stage One Design Sample key creation

Stage Two Design Stage two environments’ components

Stage Two Design Stage two environments’ objects

Stage Two Design The Spaceman FrontBack

Stage Two Design The two environments of the stage Green environmentWild environment

Stage Two Design Spaceman ( Adding hair using the editable mesh selection )

Stage Two Design Modeling Box with a star shape slot

Max Models VS. In-game Graphics Different models’ quality between those made with 3Ds Max and those in the In-game graphics. Model is converted into 3DState world without its features. Game engine lacks: - Glossiness - Reflection Light must be added in World Builder but still does not give the same model quality.

With light Couldn’t get a better result! Without light The 3Ds Max model In World Builder Max Models VS. In-game Graphics

Stage One Control Frame Using the texture mapping technique to add 2D image to the control frame

The 3Ds Max model Without light Adding light In World Builder Adding light to energy faces Max Models VS. In-game Graphics

Texture mapping for crystals Crystal in World Builder 3Ds Max model In-game texture mapped crystal Max Models VS. In-game Graphics

3Ds Max model Spaceman in World Builder before adding light After adding light (in-game graphic) Max Models VS. In-game Graphics

World Construction

Motion Control (Shuttle) Multiple transformations are applied on both camera and shuttle.

View from inside the shuttle Motion Control (Shuttle)

By using trigonometric functions to form a wavy path (direction) for the UFOs to follow. Motion Control (UFOs)

1.Increment theta variable. 2.Update direction. direction. x = 1 - cos (Theta); direction. y = cos (Theta); direction. y = cos (Theta); direction. z = 0; direction. z = 0; 1.Define a theta variable. 2.Set initial location. 3.Set initial direction (toward shuttle). 4.Set speed. Motion Control (UFOs)

Y X Z Y X Z Motion Control (Spaceman) Y Z X World coordinate system Object coordinate system

-X y Z Tilting spaceman while moving in object space -x y Z Motion Control (Spaceman)

Tilting the spaceman (movement in world space) y x z -x y Z

Motion Control (Spaceman) Spaceman object chasing dummy object Y X Z Z Y -X

Simple Bounding Sphere Collision Detection r2 r1 Distance between objects Before collision Show collision r1r2 Collision Detection (Stage One)

Simple Bounding Sphere Collision Detection r2 r1 Distance between objects = sum of radii After collision Show before collision r1r2 Collision Detection (Stage One)

Simple bounding sphere method Collision Detection (Stage One)

Collision detection between opponent and the UFO. Convert from 3D to 2D We apply conversion from world system (3D) to screen system (2D) to avoid depth checking Collision Detection (Stage One)

Collision detection between opponent and the UFO. convert Move the opponent No collision is not detected Position of opponent != position of UFO Collision Detection (Stage One)

Collision detection between opponent and the UFO. No collision is not detected Position of opponent != position of UFO collision is detected Position of opponent== position of UFO Collision Detection (Stage One)

Collision detection between opponent and the UFO Collision Detection (Stage One)

3D STATE collision detection method Collision Detection (Stage Two)

Shooting 1.Move the opponent toward the target UFO. 2.Direct the bullet toward the opponent. 3.Bullet moves after setting its physical movement properties such as speed. 4.Copy the current bullet.

Particle System Particle system applications are around us, and can be seen in explosion, fog, smoke …etc.

Show explosion effect Particle System

Show explosion effect Set vector direction Particle System

Particle System Algorithm 1.Get the target object. 2.Get the polygons belonging to it. 3.Make the object’s polygons move in all directions, by computing random vectors (directions) for each polygon. The principle of computing these vectors is according to the spherical-coordinate specification. –Inside a for loop that is repeated by object's polygons number count. »An emitter defines a sphere as the flowing: »Theta = 2 * ∏ * RANDOM(); »Phi = 2 * ∏ * RANDOM(); »Random_vector. x = cos (Theta) * sin (Phi); »Random_vector. y = sin (Theta) * sin (Phi); »Random_vector. z = cos (Phi); »Set new speed, since Random_vector is only a normalized vector, so we have to multiply it with a true speed »Speed = 5 * (factor of computer speed) »Random_vector … *= speed;

4. move the polygons, during each time, one step according to the random vector (direction) as well as scaling it, then render each step on the window to see the explosion effect. –For a certain number of time For each object's polygons –Move the polygon according to the corresponding random vector one step. –Scale the whole object, because the object contains the polygons –Render the image seen from the camera to the window, by using the built in 3DSTATE function (STATE_engen_render(…)) –The final step is to free the memory, and make the exploded UFO disappear, by using this statement: –Delete[] array; –STATE_object_set_event(object, 10, STATE_DELETE); Particle System Algorithm

Control Panel Construction (Stage One)

Control panel (frame) RadarNumber of tries Energy faces Buttons shapes Control Panel Construction (Stage One)

It plays an important role in detecting the location of any UFO visible to the player or not. Radar

Conversion of the location of UFO from the world coordinate system (xy-plane) to the local coordinates system (zy plane) of the radar. Y X Z Y X Z world coordinate system local coordinate system of radar convert

Conversion the location of UFO from the world coordinate system (xy-plane) to the local coordinates system (zy plane) of the radar. Y X Z Y X Z UFO in world coordinate system UFO in local coordinate system of radar Radar

Conversion is done through the following equations: Scaling factors Sx = (xr max –xr min) / xw max – xw min Sy = (yr max –yr min) / yw max – yw min Locations on radar Xr =xr min + (xw- xw min)* sx Yr =yr min +(yw – yw min) * sy Radar

Control panel (frame) TimerNumber of tries Crystals and keys Map Control Panel Construction (Stage Two)

Before correctionAfter correction Control Panel Construction (Stage Two)

Map

Shows the time left for the player to achieve his mission. Using an MFC function called OnTimer( ) to count one second of time. Timer

Optional Features Adding movies and sounds. Adding simple animations.

Future work Use a more advanced game engine. Link two players through a network. Add advanced animation to certain objects. Add more stages with difficulty levels. Add more particle system effects. Add shadow for objects.

Conclusion We produced a uniquely new game in Arabic language in a timely manner. We applied all project requirements. Our knowledge had expanded in the programming field as we learned MFC. We learned how to work and cooperate with each other to achieve our goal.