Thinh Nguyen Spring 2014. Thinh Nguyen 5 th year undergrad Dustbusters – Spring 2013.

Slides:



Advertisements
Similar presentations
Visa-Valtteri visy Pimiä or how fumbling my way through pixel-based effects made learning WebGL a lot easier.
Advertisements

CSE 380 – Computer Game Programming Audio Engineering.
Teaching with Greenfoot
Aim: Use the given examples to record examples and our own ideas in our journal 1.Write technical examples in journal and/or participate in full.
Survey of Graphics and Games. Outline Overview of computer graphics – Coursework – Research Programming using game engines Computer game and animation.
CS 248 Videogame project Presented by Michael Green (based loosely upon Rene Patnode’s help session slides from 2003) Nov 3, 2004.
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.
CEP Welcome September 1, Matthew J. Koehler September 1, 2005CEP Cognition and Technology Who’s Who?  Team up with someone you don’t.
Web Page Behavior IS 373—Web Standards Todd Will.
Chapter 3.1 Teams and Processes. 2 Programming Teams In the 1980s programmers developed the whole game (and did the art and sounds too!) Now programmers.
A Technical Game Project 4 Due dates: Game Idea Friday, March 16 th Game Plan Friday, March 23 rd Web Page Sunday, April 9 th First Playable Wednesday,
SM3121 Software Technology Mark Green School of Creative Media.
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.
CHAPTER 17 Creating an Interactive 3D Environment © 2008 Cengage Learning EMEA.
Master Project Preparation Murtaza Hussain. Unity (also called Unity3D) is a cross-platform game engine with a built-in IDE developed by Unity Technologies.
Development of mobile applications using PhoneGap and HTML 5
Gearbox Software PRODUCTION PIPELINE – JOBS TITLES – JOB DESCRIPTIONS.
SE320: Introduction to Computer Games Week 8: Game Programming Gazihan Alankus.
© 2012 Microsoft Corporation. All rights reserved. Amazing apps. Windows 8 comes with built-in apps for the things you do most to help get your favorite.
Every week: Sign in at the door If you are new: Fill in Registration Form Ask a Mentor how to get started Make sure you are on the Athenry Parents/Kids.
Platforms for Learning in Computer Science July 28, 2005.
ART 488 / CMSC 493 Game Project Class. Introduction Marc Olano BS EE, University of Illinois – Visualization, Theatre Lighting Design PhD CS, University.
CSE 381 – Advanced Game Programming 3D Game Architecture.
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.
1/ 47 COP 3503 FALL 2012 SHAYAN JAVED LECTURE 19 Programming Fundamentals using Java 1.
EasyBoard Share schedule and ideas in a twinkle. EasyBoard Goals Application features Technologies used Schedule Problems that we can meet Questions?
UNIT 8 DRAWING WITH THE HTML5 CANVAS ELEMENTS AND FORMS.
11 Getting Started with C# Chapter Objectives You will be able to: 1. Say in general terms how C# differs from C. 2. Create, compile, and run a.
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.
Creating Web Pages Overview. Design – Start with a Purpose Before you start any web page, you need to design the website. The first question that should.
Java Mobile Apps with GWT & PhoneGap Josh Marinacci, webOS Developer Advocate.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
ing to Make Learning Relevant
Game Engine Programming. Game Engine Game Engine Rendering Engine (OGRE) Rendering Engine (OGRE) Physics Engine (Bullet) Physics Engine (Bullet) Input/Output.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
CS 425 Game Programming I Jan M. Allbeck. Outline  Introductions  Expectations  Tools and setup  Quick introduction to C++ and Visual Studio  What.
10/9/20151 Unreal Basics CIS 488/588 Bruce R. Maxim UM-Dearborn.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
James Williams e: eTutor Project SUMMARY OF KEY FINDINGS for 2 Pilot studies of the.
Funativity CS 426 Fall Team Members David Smits – Lead Chintan Patel – Programmer Jim Gagliano – Programmer Ashleigh Wiatrowski - Artist.
Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer.
Nic Shulver – Scratch – what, why and how? Click to edit Master text styles Second level Third level Fourth level Fifth level.
Announcements Due dates extended: Project 1B—Wednesday by 10pm rule Thursday by 10pm Lab 5—Friday by 10pm Next week Labs 6/7—Tuesday by 10pm 11/19/2015D.A.
Games Development Game Architecture: Entities CO2301 Games Development 1 Week 22.
Kevin Clow: Artificial Intelligence Programmer Physics Programmer 3D modeler Matthew Vaughan: Project Manager GUI Programmer Audio Engineer/Programmer.
University of Illinois at Chicago Electronic Visualization Laboratory (EVL) CS 426 Planning the Game Design Spec & Blitz3D Workshop © Jason Leigh Electronic.
 A plan of attack for your games content  Or (more specifically)  A detailed description of all games mechanics, objects, characters, stats, ect… that.
3D graphics in Erlang Jakob Cederlund -
Motivates, interests and engages. Teaches problem solving skills. Allows for creativity and imagination. Demonstrates project design. Encourages teamwork.
11 Computers, C#, XNA, and You Session 1.1. Session Overview  Find out what computers are all about ...and what makes a great programmer  Discover.
Accreditation! The responsive curriculum game is made available through JISC under the terms of the Creative Commons BY-NC-SA Attribution-NonCommercial-ShareAlike.
Version Control and SVN ECE 297. Why Do We Need Version Control?
Engineering Projects In Community Service Matt Mooney Community Based Research University of Notre Dame.
ECE297 TA GUIDE Project supervision. Agenda M0 feedback Project overview M1 overview Project supervision.
Welcome to Snap! Below the Line Decal Facilitated By: Zachary McPherson and Bao Xie.
Systems and User Interface Software. Types of Operating System  Single User  Multi User  Multi-tasking  Batch Processing  Interactive  Real Time.
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
Félegyházi Tamás 3D Technologies for Web Student Workshop.
Objective To best develop our Python development skills, we decided to create an original concept for a text-based game. Our goal was to create a fast-paced.
Hello World D R. R OBERT Z UBEK, S OMA S IM LLC EECS-395/495: G AME D EVELOPMENT S TUDIO W INTER Q UARTER 2016 N ORTHWESTERN U NIVERSITY.
CS 134 Design Documents.
Tools Communication: Google Code Version Control: SVN UML: LucidCharts.
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler
Unit 20 Software Part 2.
Unit 20 Software Part 2.
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
Games Development 2 Tools Programming
Games Development 2 Entity / Architecture Review
Web Application Development Using PHP
Presentation transcript:

Thinh Nguyen Spring 2014

Thinh Nguyen 5 th year undergrad Dustbusters – Spring 2013

CSE 125 is hard~ Potentially the most intensive undergrad CSE course You get what you put into it There is always something you can do for any given day No such thing as being “finished” Collective effort No base code, no right or wrong answers, open ended Creative and academic freedom Real world experience

Brainstorm ideas! Come up with several ideas, collectively decide on what to make together Think about player interactions Cooperative vs Competitive game, scoring system, gameplay genre Art style Cartoony/realistic, 1 st /3 rd person, open/closed environment Be reasonable 15 minute demo Ease of development

Get the core elements of the game up ASAP Start off with the basics and work your way up Render a simple primitive Network two clients Camera movements/controls Load your basic model (placeholder graphics) Move your model Play music After you’re done with the core necessities, go crazy with effects Particle systems, different lighting models, basic AI, menus, Post processing effects, animations, etc. Start with the simple DirectX/OpenGL samples

Work and compile locally, store remotely Update, edit/compile, …, update, commit Work in the labs Pair programming, accompaniment, code-a-thons Get things done during meetings Discuss plans for the week, schedule code sessions, updates, make it fast and concise Commit before you leave, commit often Get used to resolving merge conflicts and using version control Keep a branch that has stable code, push only working code

Hang out with your team Not just in the labs… Talk with other teams/me/Voelker Everyone’s in this together, not a competition Play the game, hopefully enjoy it Split up the tasks, have 1 or 2 people in charge of each Gameplay Logic, Engine, Input, Sound, Animation(?), GUI, Network Make a schedule, expect delays Set earlier deadlines, they will get pushed back

DirectX Windows-only Standard for several games on PC A lot of support and examples on the web Built into Visual Studio 2013 (less reliant on outside libraries) Does more than just graphics Better shader management system (can be easier to make fancy effects). Might have to learn/get used to different quirks of the language (Left handed coordinate system, multiplication order, texture addressing order).

OpenGL Cross platform Lots of wrappers for every language Common for mobile games (OpenGL ES) Probably have experience via CSE 167 Linux & Mac friendly.

HTML 5 + Javascript (WebGL) No platform, runs off the web browser. Everyone can play your game without manually downloading source code. More difficult, less documentation, asset management Similar graphics coding to OpenGL Slower for larger games (should be fine for 15 min demo) Will need to manage Javascript well (no spagetti code) Something… Different? Java – LWJGL Python – through OpenGL wrappers/Pygame

Lots of sound libraries DirectSound SDL OpenAL FMOD Tons of free sound effects on the web

Useful so you don’t need to recompile all the time Health, damage, speed, timing, Network ports/addresses, etc. Game controls (keyboard mappings), camera controls (FOV), Path to media content (models, textures, sounds) Linking textures to models Parameterizing particle effects Use XML (maybe TinyXML) Use a hotkey to reload config files on the fly.

Use vertex buffers for speed Particle Systems make things look fancy Pass by reference Use meaningful names for everything Use meaningful comments for everything Decide on interfaces early Frontload memory allocation, don’t allocate/dealloc during the game, destroy at the end Whenever you find yourself needing to allocate memory, code the deallocation part first Be extremely careful if you must allocate memory during game loop

Start your project spec on Google Docs Tons of resources online and on the course website for tutorials on every aspect graphics, collisions, game logic, asset management, etc. Resolve problems quickly, don’t put them off Talk to other group members, other groups, me, Voelker Don’t be afraid of trying something new! Have fun working on it, playing it, and hanging out with your group! Good Luck~