DHHPC12 @ USC
Follow
Find tag "notes"
324 views | +0 today
DHHPC12 @ USC
Notes and resources for second week of DHHPC12.
Your new post is loading...
Your new post is loading...
Scooped by Rochelle (Shelley) Rodrigo
Scoop.it!

Notes: Day 5

WORKING WITH STUDENTS

Many CS undergraduate students need one year capstone project. Go to instructor to ask time to talk to the students. 200 lines of code per day for full-time person (500 lines of code for 20 hours a week). With students, check bug list. 

 

Waterfall Model of Software Design

REQUIREMENTS: requirement document with what you want...spend LOTS of time here. Specifications & use cases (put self in role of different audiences). 

DESIGN: how to make it, Flow doc, UML, 

...if do not take enough time in Requirements & Design phase, problems propogate exponetially and take a lot of time and money to fix after implementation. 

IMPLEMENTATION: Where it is made

VERIFICATION: testing it, testing docs

MAINTENANCE: post mortem

 

INCREMENTAL MODEL (Loop)

(Initial planning feed into loop-->) Requirements-->Design-->Implementation-->(deployment peals off)-->Testing-->Evaluation-->

Good model for growing a project because you can add elements each time through the loop (while testing earlier aspects). 

 

AGILE DEVELOPMENT

*Individuals & Interactions (Pair programming)

*Working Software (having a product is more important than documentation)

*Customer Collaboration

*Responding to Change

 

GAME DESIGN DOCUMENTS

1 page/r

more...
No comment yet.
Scooped by Rochelle (Shelley) Rodrigo
Scoop.it!

Day 3: Notes

Euler Angles: Rotation Matrix, rotation coordinators for x, y, z. 

more...
No comment yet.
Scooped by Rochelle (Shelley) Rodrigo
Scoop.it!

Day 1: Notes

1. Introductions: About IT-oLogy; what/how/why logitsics; Agenda

 

2. Michael: Why we should learn to code even if we won't code in the future. 

How are we similar...

Humanities and alogorithims do inductive logic

Differences...the type of evidence. 

Learn how to code means we learn how agorithims work; when we understand how works, we can then understand input, we can then translate what we want to know into something that fits input. 

We're learning both a method and a skill (may not stick/keep skill); want to learn method. 

 

3. JJ Sheppard: 3 days facilitating game design and development w/Unity engine. 

 

Introductions: What was the worst (video) game you have every played and why?

 

4. Why Unity?

Originally taught w/Sage (wasn't really a game engine).

Game Engine: a system in which to program a game; creates a framework and provides most features required for a game. 

 

Three types of errors: syntax, run-time, and logic error (hard to find); Unity's debugging options make it easier to find errors (esp. logic).

 

Unity is...

Intutitive interface

cross platform

simple resource management

many built-in features

large supportive community

free (mostly): upgrade includes some post-processing, plug ins/external library, 

 

5. Games need to be thought out. It needs to have purpose. 

 

6. Define a game...purpose, reinforcing factor (usually scoring), 

interaction vs. purpose

does it have a goal? 

 

7. Get Unity on the Machine

8. Build box (crate) and sphere (cabbage) in Unity. Also play w/camera and lighting. Made cappage a rigid (gives it physics response). Collider aspect is what decide if/how/where an object will acknowledge other objects. 

 

Component Base Game Engines

* Making a game is a software engineering exercise

* Most software today uses Object Oriented Programming (OOP)

* 3 principles of OOP

1. Encapsulation

2. Polymorphism

3. Inheritance

 

 

more...
No comment yet.
Scooped by Rochelle (Shelley) Rodrigo
Scoop.it!

Day 4: Notes

We spent the first hour discussing a few ideas for projects and processes for getting projects done. 

 

ANDROID APP DEVELOPMENT

See slides in another scoop.it window. 

W00T, finally stats showing Android more popular!!

more...
No comment yet.
Scooped by Rochelle (Shelley) Rodrigo
Scoop.it!

Day 2: Notes

Spend more time in Unity and learned about C# language.

 

All Games Have:

1. Initialization Step (called at the beginning, start function)

2. The Game Loop (where game play actually happens; corresponds to update function)

a. user input

b. sound

c. AI

d. etc.

3. Finalization (don't worry about too much in Unity)

 

2nd Variable Type: Object (class) types

*can contain many primitive types

*can contain functions

*to call these functions use dot (.) operator

 

Input.getkey (input=object, getkey=function)

 

if Statement (branch statements)

syntax

if(<boolean statement>)

{ <....>

}

if True, run code in block, if false, skips statement (or have "else" option)

 

transform.forward (0,0,1) (x,y,z)

 

&& for boolean statements = and

 

|| for boolean statements = or

more...
No comment yet.