250 likes | 393 Views
Lecture 12. Announcements. This is the last lecture!. No more hours, make appointments with grader/mentor Next week is final presentations in the Sunlab during normal class time Week after is super deadline day (12/18) Might want to hand in everything earlier…. Course evaluations.
E N D
Lecture 12 Announcements
This is the last lecture! • No more hours, make appointments with grader/mentor • Next week is final presentations in the Sunlab during normal class time • Week after is super deadline day (12/18) • Might want to hand in everything earlier…
Course evaluations • Critical Review • In class today • Departmental • In class today • Banner? • Online • CS195N Final Feedback • When we send it out
Announcements Questions?
Lecture 12 Game Design Basics
Game Design Basics Definition
What is game design? • Broadly speaking, the process of designing the play experience • Especially rules, content • Frequently dictates work of other disciplines, but not always
Sub-disciplines of game design • World design • Backstory, setting, theme • System design • Game rules (and math) • UI design • Controls, menus, overlays • Level design • Actual playable environments
Game Design Basics Design considerations
Flow theory • Flow is a mental state in which a person is fully absorbed in an activity • Activity feels intrinsically rewarding • Marked by losing track of time, even forgetting to eat/sleep • Preconditions: • Goals are clear • Feedback is immediate • Balance between perceived challenge and perceived ability
Level Design and Progression http://buy.indiegamethemovie.com/
Mechanics, Dynamics, Aesthetics http://extra-credits.net/episodes/aesthetics-of-play/
Game Design Basics Questions?
Lecture 8 Tips for Final IV and Final V
Presentation format • 5-10 minutes long • Any number of slides in .ppt[x] or multiple .pngs • But be sure to keep it in the time range • Hand in separately as “postmortem” by noon on the 12th • Distribute speaking evenly among teammates • Order will be picked randomly as we go! • Don’t be late! • Must be a postmortem!
Postmortems • Standard: 5 things that went well, 5 that didn’t • You’re only required to do 3 of each • Purpose is to think about what you should and shouldn’t do next time you make a game (or any large project, really) • Can be about anything related to development: team dynamics, decisions about code/content,
Screen capture • To record a video on the department, you can run (on one line): ffmpeg-f x11grab -r 24 -s 1280x720 -i :0.0+X,Y -vcodeclibx264 -vprelossless_ultrafast -threads 0 /ltmp/video.mkv • Records video that is 1280x720 pixels starting at position (X,Y) on the screen • May take a couple of tries to get position right • Outputting to /ltmp recommended
Tips for Final IV and Final V Java Tip of the Week
Exceptions! • Exceptions allow (read: force) you to think about exceptional runtime circumstances • Too often we see this in handins: • What problems does this pose? try { // some code } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } // business as usual
Right ways to do it • Catch and rethrow • Logging, cleaning up state (though finally exists) • Wrap in higher-level exception • Map reader shouldn’t throw NumberFormatException, should throw MapParseException with original exception as the cause • Discard and keep going • Might want to at least log though…
What can be thrown? • Throwable • Base class, catch-all • Never instantiated directly • Error • Thrown by VM, unchecked • Exception • Normal exceptions, thrown by and handled by programmers • RuntimeException • Indicate coding error, thrown by programmers, unchecked Throwable Exception Error Runtime Exception
Common unchecked exceptions RuntimeExceptions Errors StackOverflowError OutOfMemoryError AssertionError UnsatisfiedLinkError NoClassDefFoundError NoSuchMethodError InternalError • NullPointerException • IllegalArgumentException • IllegalStateException • ConcurrentModificationException • IndexOutOfBoundsException • SecurityException • UnsupportedOperationException
Tips for Final IV and Final V Goodbye
Goodbye • Thank you for taking this course. • We hope you enjoyed the ride • The TAs did! • The work you have done has been amazing • Apply to HTA and TA195n next fall!
Final III playtesting! Last in-class playtest! :’(