Week 02 - aefreedman/SP2018_IntermediateGameDev GitHub Wiki

WEEK 2 HOMEWORK

REMINDER: download, install, and activate Maya 2017 before class on Thursday

Devlog 02: read 10PRINT ch. 10 "Introduction"

  • write 50-100 words in response to:
  • (1) what the heck is "platform studies"?
  • (2) in the 10PRINT code, what does the "10" do?
  • (3) in the 10PRINT code, what does the "1" in "RND(1)" do?

complete the vector math handout and we'll go over it in class on Tuesday

develop: a small 2-3 minute "treasure hunt" game prototype

  • short game about exploring a space, finding 4 landmarks / clues, culminating in a "treasure" or goal
  • camera perspective can be 2.5D "top down" / or a "third person" mode, up to you? also, you can write camera code, OR you can just parent the camera to your player object, it's up to you

1. prototype the world in the Unity editor

add a big floor plane; roughly place landmarks / obstacles / game objects, for now just use cubes as placeholders for all this

2. prototype a capsule player controller

make a player object that we can control with WASD and/or Arrow Keys.... you choose the complexity:

OPTION A: if you don't need collision in your game, you can reuse the simple CubeMove.cs controller we made in class

OPTION B: if you want collision detection, you will have to use CharacterController (specifically, CharacterController.Move() )... try translating the pseudo-code below into C#:

// put this script on a capsule with a CharacterController component on it
// also: make sure to parent the Main Camera to the capsule, behind it (third-person game) or above it? (top-down 2.5D game)

// make sure you assign this reference in the inspector
declare a public variable of type CharacterController called "cc"

UPDATE:
// TODO: make sure to multiply directions and values with speed values
// TODO: make sure to make each value FRAMERATE-INDEPENDENT

if player holds W, call cc.Move( this transform's forward direction )
if player holds S, call cc.Move( this transform's negative forward direction )
if player holds A, rotate this transform to the left
if player holds D, rotate this transform to the right

// TODO: I wouldn't bother with jumping, but if you have to, look on the CharacterController.Move() manual page for more on that

  // apply gravity
  call cc.Move( downwards )

3. write a hint script

hint system that measures the player distance or position, and offers appropriate on-screen text clues, for example:

 if ( Vector3.Distance(player.position, palmTree.position) > 10f ) { 
         uiText.text = "go West until the palm tree!"; 
 } else if ( player.position.z < -30f ) { 
         uiText.text = "you went too far south!"; 
 }

4. write a treasure script

lets us press [SPACE] near the treasure to win, with text that says "press [SPACE] to pick up treasure"... and then text changes to "you win!" after we pick up the treasure

if you need to review how to use Text UI in Unity, here's a video tutorial (or, you can parent a 3D Text Mesh to your camera, and that's kind of the same thing)

5. art pass your prototype

when you are done prototyping with cubes/spheres, do an "art pass" and spend 1-2 hours in Maya to model some assets:

  • player model (could be a pirate ship? a person hunting for treasure? a UFO looking for cows to abduct?)
  • 4+ unique landmark models (a shipwreck? a duck-shaped rock? a palm tree? a giant floating apple? be as weird as you want, just as long as it's not too simple and not too complex and you made it yourself in Maya)
  • the treasure object
  • NOTE: when you replace art assets in-game, just parent the Maya models to your prototype objects, and turn off the placeholder renderer... e.g. if you had a capsule character controller, then just parent your new Maya model onto the player object, then turn off the capsule's mesh renderer... there, done! do NOT remake the entire object from scratch!

examples from previous semesters:

Mid-Life Crisis | Martian Treasure Hunt


add links to your treasure hunt WebGL players below here


John: https://johnwan.itch.io/3d-runescape

Val: https://valanars.itch.io/ass2

Edgar: https://edgar11.itch.io/hw2-treasurehunt

Noah P: https://doctorbagels.itch.io/breakdancing-simulator-2011-the-treasure-hunt-saga

Julia: https://juliadelmatto.itch.io/treasure-hunt

Brett (Play in Fullscreen): https://bam547.itch.io/the-disco-treasure-hunt

Aaron: https://sartrexcamus.itch.io/you-are-a-fucking-donut

Noah : L https://noeh.itch.io/igd-sp18-2-treasure-hunt

Uti: https://agustinazulay.itch.io/intermediate-game-dev-treasure-hunt

Nina: https://ninatendo.itch.io/thot-hunt

Tyler: https://tjt288.itch.io/treasure-hunt-igd-week-2

Isa: https://isa10.itch.io/messy-desk-treasure-hunt

Emily: https://koonce.itch.io/beet-it

Patrick: https://pog.itch.io/week-2-treasure-hunt