Sample Parser of structured data
This is what I talked about in the first class of the winter quarter. It may make your lives easier to use this to load/save data. This comes with some sample code in AutoParse.cpp. If you have any questions about using this, please email me!
Class 17, February 18th
- Notes
- Audio of Lecture
Class will be held in the computer lab.
Another hybrid lab/lecture class. The lecture will finish up using Python as a scripting language, covering how you can pass actual C objects around and how to passing parameters to the Python functions that you are implementing in C.
Please bring a demonstration of how far along your project is so I can look at it!
Class 16, February 11th
This class will be the first part in teaching how to use Python as a scripting language. You will see many of the same techniques here as you did when writing OpenGL shaders, as how you interface with other languages from C is always very similar. I wwill discuss how to build Python as part of your game project as well as how to call Python code from C. If there is enough time, I will discuss how to call C code from Python as well.
Class 15, February 5th
Class will be held in the computer lab.
This class will be a hybrid lab/lecture class. For the first third of the class I will talk with each team and see where you are and see if there is anything I can help you with.
Then, for the remainder of the class, I will cover some strategies for making AI fun to play against. Most AI classes focus on how to make optimal decisions. Little focus is given to making AI fun to play against, but that is much more important for games. In particular, I will discuss different ways to implement Rubber Banding, Artificial Stupidity, and Dynamically Adjusting Difficulty.
Please bring a demonstration of how far along your project is so I can look at it!
Class 14, January 28th
This class will cover FSMs as they pertain to Game AI. No, not Flying Spaghetti Monsters, this will be about Finite State Machines. FSMs are often what is exposed to game designers to let them control the behavior of the critters in a game. I will cover the usual way an FSM is implemented in the industry so to expose a reasonable amount of control to designers.
Class 13, January 21st
This class will be a lab where you guys can create Pixel Shaders for use in game, or just work on general game-related stuff with me available. Each of your games has some FX that would benefit by using pixel shaders -- Blind Samurai could do a really awesome darkness overlay, M.O.D. Shell and Project Redstream could do some cool looking particle FX, and Project Onset could have cool looking reflective ice. Also, if you have any other things you are having trouble with in your game development, here's the place to do it.
Bring laptops or access to compile and run your source code!
Class 12, January 14th
This class will be an intro to using Pixel Shaders in OpenGL. Pixel Shaders are a modern way of rendering, all current games use them. My goal here is to give you some exposure to the functions and how you would use pixel shaders from an API perspective.
Class 11, January 7th
- Notes
- Audio of Lecture
This class will cover straties for pathfinding. Now that I know you all have previously taken an AI class, I will cover here some more advanced ways of using A* so that it runs quickly and efficiently.
Class 10, December 3rd
I don't want to give any new material so close to the end of the quarter, so this class is going to be a review on all the prior subjects. If you have any questions about previous subjects, I will answer them here. If there is extra free time after reviewing the prior material, we will go into a lab.
Holiday, November 26th
Have a happy Thanksgiving!
Class 9, November 19th
This class will cover the physics of games. In particular, I will focus on how games break the usual physics assumptions, either for speed or for ease of implementation. I will be covering how in particular these concepts are implemented in top-down adventure style games and side scrolling platformers.
If I get enough time, I will also cover how to do per-pixel collision detection quickly and efficiently.
Class 8, November 12th
This class will be a lab to allow all of you to continue implementing features for your games.
Class 7, November 5th
Since most people seemed very confused with how to implement the drawSprite() function, I will be covering exactly how you would implement the 2D animation techniques covered last class. I will also be covering some additional techniques used in 2D sprite-based games, such as tile (and meta-tile) based graphics, and simple 2D collision.
Class 6, October 29th
For the first half of this class will cover the basic animation and rendering techniques used in 2D game development. Some of the techniques here will require the linear algebra from Class 5. Then, for the second half of this class we will have a free-form lab where you can implement some of these techniques.
For the lab, I highly recommend each of you have a ready to use drawSprite(texture, x, y, w, h, matrix) function.
Class 5, October 22nd
In this class, I will cover Linear Algebra, from a computer graphics perspective. I consider Linear Algebra "the mathematics of game programming", because it comes up in so many different parts of game programming. By the end of this class, I would like for you to be familiar with the Points and Vectors, the Dot Product, the Projection Formula, and Matrices as space transforms.
From the perspective of getting a job in the game industry, this is the MOST important class. If you understand Linear Algebra, you are ahead of 70% of your competition.
Class 4, October 15th
Every team should have their pitch ready, because in this class they will be giving a pitch for their team's game in front of the whole class. Each pitch should be 5 - 15 minutes in length, and will be followed by a Q&A session where everyone else in the class can ask questions.
Class 3, October 8th
This class will be a lab where everyone makes a simple SDL game in C. I will cover the basics of getting SDL up and running, loading graphics, sounds, and getting input set up. I will cover creating a simple fixed-timestep loop.
Class 2, October 1st
- Notes
- Audio of Lecture
- Aquarius GDD (Waterfall-style)
- Catalyst GDD (Agile-style)
This class will review the test given at the end of the previous class as well as cover all the documentation commonly generated for a video game. There will be talk about Game Design Documents (GDDs), Technical Design Documents (TDDs), and different forms of scheduling such as Waterfall and Agile Development. I will also talk about the first major project for this class -- the Game Pitch on week 4.
Class 1, September 24th
This class was an introduction to COEN 29, a special topics class in Video Game Development, intended to compliment everyone's senior project. I talked about Scrapped, a game that I made with similar sized teams that was able to win in the IGF Student Showcase. I also touched on grading polcies and mentioned libraries that I would recommend using for game development: FMod, SDL, Glew, and XNA.