Video Game Design and Programming

4.15 / 5 rating2.30 / 5 difficulty12.63 hrs / week

Quick Facts and Resources

Something missing or incorrect? Tell us more.

Name
Video Game Design and Programming
Listed As
CS-6457
Credit Hours
3
Available to
CS students
Description
Techniques for electronic game design and programming, including graphics, game engines, animation, behavioral control for autonomous characters, interaction, social and interface issues of multi-user play.
Syllabus
Syllabus
  • SSSOP28ZCXJKKGVI/KdIhg==2024-04-27T16:56:44Zfall 2023

    This was easier than most of my undergrad CS classes.

    The course is more of an exercise in organization and project management than it is in making a video game.

    From day one create GitHub issues and a sprint board. Meet up every week and create/assign tasks. As long as everyone puts in a small amount of effort it's pretty easy to create a game that meets the expectations of the course.

    The milestone projects are fun and were where I did most of my learning in the course. Get good grades on these so that you can stress less about the team project.

    The lectures are absurdly long and drawn out, and have little relevance to your grade. They're useful at the beginning for understanding the milestones, but they are quickly irrelevant. I would skip most of the lectures and went straight to the quizzes.

    Rating: 2 / 5Difficulty: 1 / 5Workload: 5 hours / week

  • HEgP3uohxFl0KsOLnijblg==2023-12-19T06:14:54Zfall 2023

    This is an excellent class. I would recommend it with no doubt. The course is pretty much team-project based, with some tutorial exercises in the beginning. Therefore the product is open-ended and you can really make some good projects if you opt to. If you don't, there are also clear guidelines to make sure you get all the points. Prof Jeff Wilson is enthusiastic and the lectures are really fun to watch. He goes into allot of trivial about games and gamming culture in general. While they are not directly related to the assignments or your projects, they interesting and engaging. The TAs are usually helpful and encouraging. One thing to note is that I feel like you do need to find a good team, since you will be hanging out with them for most of the semester and making the team-project together. Aligned expectation and concepts will make your semester a blast!

    Rating: 5 / 5Difficulty: 2 / 5Workload: 12 hours / week

  • cxsbENgcaJBmChUNzOSxRg==2023-10-20T07:12:02Zfall 2023

    Take it. It gives you a great intro to Unity. You will not be a C# expert, but you will add few lines of codes here and there for the assignments. They are very well written out and all you need to do is follow the instructions. The instructions will tell you what functions to use (just do some basic search on the functions and on how they're usually implemented).

    The main project is a group video game project.

    Tips: Get a good group. Well, although it seems like you do not have control over your group, you can get up your chances of landing good members by being proactive at searching for a group. The best talents tend to be the first to look for a group.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 6 hours / week

  • ex/+WEggftoEEjwISXXHLg==2023-09-25T18:25:39Zsummer 2023

    This class provides a decent overview of what seem like a core set of fundamentals for making 3-D games with an engine.

    I was a little disappointed with this class because it really doesn't dive too deeply into how engines actually work, but rather touches on a lot of surface-level stuff that are fairly obvious/well-known to anyone who plays a lot of games and has a computing background. The lectures are very long, and you can usually do well on the quizzes without even watching them.

    The project is most of the work - you'll 4-ish warmup projects ("milestones") that are just small Unity projects that'll take 1-5 hours each. Then you'll work on the final project, your own Unity Engine game, for the rest of the semester. How this project goes is entirely decided by how good your group is.

    I was, again, kind of disappointed with the final project. It was oddly restrictive in many ways (MUST be 3-d, they REALLY want you to use things like root motion and inverse kinematics) but oddly loose in other ways. My group spend an inordinate amount of time dealing with things like finding assets and fixing textures, which are really unrelated to the class and not something many of us were interested in learning. Blender skills are good to have, unfortunately.

    Rating: 3 / 5Difficulty: 2 / 5Workload: 20 hours / week

  • zIh1gxYgpvOfkPc3Cs0F2g==2023-08-01T14:28:35Zsummer 2023

    I've always played video games so this course was one of the ones I really wanted to take. It was cool understanding concepts of video games because I've seen it being used in games I've played. The quizzes are a little hard because the answers are not as clear as it could be in the videos or slides. The individual assignments weren't bad, but somewhat time consuming. The group project is hard because it requires a lot of time and some members might not do as much work as you or put in that much effort. It was worth taking. This class took the most time out of my previous class I've taken but I'm glad I took it. It's probably a little more rushed in the summer sessions also. TDLR: Worth taking if you like video games, pick good group members who will do work

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • 5za5QUnNTEC7jIRDoBPQ9g==2023-08-01T11:44:54Zsummer 2023

    The class had a few key issues that diminished its effectiveness. The individual milestones, though intended as stepping stones, felt disconnected from the main group project, seeming more like distractions than useful learning opportunities.

    The group project's success is a lottery, depending greatly on the luck of the draw with your group.

    I created the group on the first day of the semester and our group shrunk from five to two by the time that all groups were formed. The teaching staff cannot do anything if that happens

    However, the grading curve adjusted for these variables, providing some relief as long as the necessary game elements were included.

    Lastly, the lectures were long and monotonous, making it challenging to remain engaged and absorb the content effectively.

    Overall, the class had potential but It still has room for improvement

    Rating: 3 / 5Difficulty: 2 / 5Workload: 12 hours / week

  • yOszeyzTORRG9LepsvJifA==2023-05-10T20:11:11Zspring 2023

    I love this class. The lectures are long, but entertaining and you can watch them on 2x speed. The instructor gives you a ton of context on the homework assignments and how to complete them, so I always felt supported. The instructor and TAs are also super active in the ED forum. The material is comprehensive and resulted in a lot of neat student projects. Overall, fun class and an aasy A as long as you stay on top of the material.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • E+YLEsDrlLWYqvO7Wg1Viw==2023-05-06T18:40:56Zspring 2023

    This is a really good class if you want an introduction to Unity. I really learned a lot from this class and Dr. Wilson was an amazing prof. The assignments(milestones) are pretty straight forward and they have walkthroughs on how to complete them though there are parts you need figure out on your own. The last milestone (AI) was probably the hardest one but is easily doable. The group project is the main component in this class. Find a group early on. I was very lucky to get a good group and we did really well on the final project. Only thing I didn't like was the quizzes, they are a bit difficult if you don't pay attention to the lectures. I finished with a high A and I'm soo happy that I took this class.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Ojl0MXcRXugZ07N2iC5wNA==2023-05-01T02:32:58Zspring 2023

    This class was absolutely AMAZING. Dr. Wilson provides great information and lectures. I watched on 1.75-2x speed and it made things a little faster. You can tell that he actually genuinely cares about the success of his students. The TAs were also wonderful. They provided helpful and encouraging comments on each project submission.

    I'm not a regular gamer but have dabbled. It's so cool to learn more about the work that goes into video game dev. I have a genuine appreciation for the beauty of video games now.

    The individual milestones were at the perfect difficulty level. They weren't too easy but definitely not too hard. Grading is very fair. There are open lecture/note quizzes with no time limit. There are no exams in this course.

    My team was awesome! I could see where having a bad team would ruin the class for some as most of the coursework is dependent on team success.

    I found my team within the first day or two of classes being opened. This is the BEST approach because you're pairing up with people that are ready to get started.

    It is best for teams to focus on functionality and project criteria before getting too ambitious with complex game concepts. My team had great success with keeping expectations aligned with the rubric. We expanded on additional features closer to the end of the semester (post Alpha).

    TLDR: Great course, would recommend to anyone. Very dependent on teamwork and success. Find your team early for better luck.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • xjELL5pznt0QI6i07TV3Sg==2023-04-11T15:30:16Zspring 2023

    9 classes in, and this has been my least favorite class by far. I can understand why some people love it though. If you really really REALLY like video games, this might be worth your time, but otherwise I’d say skip it.

    First, the lectures are extremely long and pretty boring. Hours and hours of the professor speaking at a snails pace, reading off of PowerPoint slides. Even on 2x speed the lectures were just way too tedious and I ended up giving up on watching them entirely.

    Second, this class is a TON of work for what it is. Lots of lecture quizzes, individual milestones due every couple of weeks, and a group project that spans the semester with milestones due every few weeks. The individual milestones were fun-ish and I didn’t mind those as much, but the sheer volume of work and deliverables was too much IMO. I honestly felt more overwhelmed in this class than I did in ML or DL.

    Also, your experience in the class will be entirely dependent on your group, which unless you group with people you know you can’t really plan for. I had a team of driven people who all did their fair share of the work, but a few people who are too aggressive about their video game opinions made the group dynamic miserable.

    Overall, I regret taking this course. I’m not a serious gamer though, I only game a few times per year. So maybe if I was more passionate about the subject I’d have enjoyed this more. I think there are some good Unity tutorials out there for someone who wants to learn Unity, which may be a better use of time than spending a semester on this.

    Rating: 2 / 5Difficulty: 2 / 5Workload: 12 hours / week

  • dqyOcZsXe36mVXTr80sgLg==2023-01-09T01:51:27Zfall 2022

    For the incredibly high ratings this course has received, I honestly expected more. This is a good class, but it really could be a GREAT class with some tweaks.

    The good: If you've taken Game AI there won't be many surprises here: the lectures are ridiculously jam packed with good information, and Jeff is always enthusiastic and fun to watch. Similar to Game AI, Jeff talks really, really slow. I watched most of the lectures on 2x speed. Sometimes on 2.5x speed by hacking the JavaScript to speed it up even more. There are a LOT of lectures to watch compared to other courses in this program, but they are fun and you'll learn quite a bit. Huge props to Jeff for his ability to synthesize so much information into well laid out, watchable lectures. You will not dislike this course because of the lectures.

    The bad: The one, huge, group project. Most of this course is an almost-all-semester-long group project. I had a great team! The fact that this is a group project is not the problem with this course. The fact that most of the hands on learning in this course is for a single project done with 4 other folks. Many of the most important topics in this course you learn nearer to the end, at which point you are way too far into your game to actually implement them. If you get a good team (like I did) this group project will likely still be somewhat stress inducing. It's just the nature of coordinating 5 peoples schedules week after week, let along hoping you all have the same expectations and standards. MY SUGGESTION FOR THIS COURSE: Like Game AI, this course would be much better if every week you did a solo project, learning a new skill based on that weeks lectures. This way you would build your skills up, and by the END of the course you would likely have the skills needed to actually make a game that doesn't suck. This course should be split into two: Video Game Programming (part I) where you learn HOW to build a game and Video Game Design (part II) where you build a game. There is simply too much to learn and not enough time to make the group game project fun and or successful, IMHO. That said, again, I had a good team, and we did get an A.

    Overall this is a good course, it's not very difficult, plus you will learn a lot and enjoy the lectures. Could it be better? Yes. Did I enjoy taking it? ... some weeks yes, some weeks no. All that said, this is still likely one of the more "fun" courses in this program, which is all the more pertinent because you will also learn a lot. Big shout out to Jeff for increasing the quality and enjoyment of OMSCS, and for sharing his love of video games with us all.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • +rlO22mv1WfHSZ5PuZEMhQ==2022-11-14T20:27:25Zsummer 2022

    This is a great course, by far the best of the 5 I've been in so far in OMSCS.

    Most of the course is geared around a group project, but don't let that spook you. I had a great group, so my experience was awesome. Find a group early and you'll probably end up with go-getters and have a better time.

    Quizzes are only 10% of the course (no midterm), so most of the importance is placed on coding. This is such a relief.

    I'd suggest doing a crash course in Unity on YouTube / Pluralsight before taking this course. You'll have a better time and get more out of it if you aren't fighting the program. There isn't a ton of teaching of Unity in the course materials, which is a huge downside. The "teaching" of Unity is done through the individual assignments, which I didn't love. If you don't get it, your grade suffers. And since they're graded, it's trickier to ask questions without giving away solutions. The assignments also fall short of teaching intuition in Unity (ex - paste this code block here rather than teaching how things work).

    Overall the course would benefit from having less on video game history and more on Unity tutorials.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 23 hours / week

  • aPUo+fai3Uca5eV1JXAiNw==2022-09-12T01:59:52Zsummer 2022

    Overall, I enjoyed this course. It is CLEAR that the prof and TAs all love the content and want to help you succeed. This is always good to see. Overall the individual homework was not too difficult, most had videos walking you through the content and even sometimes telling you what to do. On top of this, TAs and Prof were very active on Ed Discussions and questions were usually answered promptly. The group project can be hit or miss... I got a good group so we were able to meet deadlines and work together mostly without a hitch. I did hear of some groups crashing and burning with bum teammates and the like (typical group projects). Make sure to get a solid group together that has coding experience! The lectures were pretty good, I enjoyed the class. Not too difficult but finding time to meet as a group especially towards the end of the class can get dicey sometimes. I recommend this class.

    Rating: 4 / 5Difficulty: 2 / 5Workload: 14 hours / week

  • F0oPZPr1x08x/FdMWXkV0Q==2022-08-10T17:39:25Zsummer 2022

    Individual assignments are pretty high workload, the majority of the work coming from me being stupid and leaving it until the last minute. There is a somewhat of a walkthrough for the early assignments and for the impossible parts of the later ones, and these are not perfectly discoverable, but they usually show up on ed and stuff. However, the content of these assignments is amazing and makes you feel like youre doing magic pretty much. I've never done game design or unity before this, and I loved it. They're somewhat open ended and you can put as much as you want into perfecting them

    The group project is also a large large amount of work - in particular, it's a little unclear how to work on a single unity project as a group, using Git and stuff like that, but once your group develops a work flow and merges stuff into one scene for an alpha version, the bugs and bug fixes pop up and are much easier to fix.

    Anyway, this is my favorite class I've taken (and the last one of my OMSCS experience). Maybe not the most usable for my real job, but I probably learned more in this class (history, modern unity, theory, formal elements, etc) than any other class all while having fun, being creative and goofy, and making a project I was really proud of (and the workload was pretty flexible too, assignments have a 24 hour grace period which I utilized upon getting super stuck late at night once or twice, and the group project allows for some people to fix other people's bugs and so on).

    The lectures are also amazing, the instructor talks a bit slow but on 1.5 speed you get to learn the technical history of how to create fun immersive experiences with computer - what an amazing idea. I love it. The TAs were also extremely nice and helpful, and the ed forum was the best environment of any class I've had.

    Grading is fairly reasonable, maybe a bit of an easy A, except that I/everyone put a lot of active working hours into this class, so maybe we earned it.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 12 hours / week

  • Georgia Tech Student2021-12-21T06:53:41Zfall 2021

    This was my last course; and they say you should leave the best for last, I am glad I listened. It was an awesome semester, the individual projects were time consuming but gave a good background into Unity and C#, and the real fun starts when the team project kicks in. Several groups had a hard time with their game and working together; ours was smoothing sailing from the start and I believe we have one of the best games made this semester. Pick your teammates wisely; the main problems I saw in other groups is they were not on the same page as far as what game they were making or kept leaving parts of the game for the last minute that ended up breaking the code. This course can easily be paired with another medium or easy course, but I recommend you take it alone if you want to focus entirely on developing an amazing game like we did.

    The only thing I would change in this course is the name: it should be called Video Game Development. Yes we focused a lot on design but we worked on all aspects of game development, which included planning, -story telling, GUI and character design, lot's of coding, non playable character AI and sound design to list a few. This course gives you a great overall view of what parts are required to develop a working, fun game. You probably will not be hired as a team leader for the next Fortnite update, but you will have enough to feel confident to work at an entry level position at a game startup. Take the class, I couldn't recommend it enough.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-12-20T14:41:53Zfall 2021

    This ended up being one of my favorite classes in the program so far. I was expecting an easy, but overall interesting course and that's exactly what I got.

    The individual projects are a great introduction to Unity. They're a bit more open ended than other projects in the program, so a lot of students were fretting that they didn't do enough or do it correctly, but based on the grade distributions, the professor and TAs were pretty forgiving when it came to "improvising" and as long as you do the minimum of what is asked in each project, you'll be fine.

    The exams were open book and open note and completely fair. You can take it twice and you receive the average between the two grades. They're also only worth 10% of the total grade, so you could theoretically do badly on both and still get an A.

    The group project was a great experience. I had a super solid group where everyone contributed consistently. We started the group under the premise of "let's get things done early" which worked well the entire semester. We hosted our project on Github and used the PR system for code reviews which worked out great. We also met weekly and distributed tasks based on availability.

    Finding a good group is probably the best thing you can do for yourself in this class. There were some horror stories from other groups, but it was smooth sailing for us.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2021-12-20T04:46:16Zfall 2021

    How much you'll enjoy and get out of this class greatly revolves around what group you'll get for the semester project.

    The class consists of:

    • A bunch of lectures. You can skip these and just reference them as needed. There are certain lectures that correlate to the projects, watch those as you're doing the projects.

    • 2 Exams. They're open book, watch the lecture and search through the slides while doing this. You can take it twice, you get the average between the two attempts.

    • 4 Solo Projects, simple projects to get you started with Unity. Most are done for you as part of the lectures

    • A Semester Project and milestones to go with it. The project, alpha, and reports that go with it make up the majority of the class.

    The semester project will revolve around what kind of group you get and you will get out as much as you put in. I had a horrible group so it was really an unenjoyable experience and it was clear everyone had given up after the alpha. We had a guy drop without telling anyone and another member just didn't commit anything throughout the entire semester. People would implement game-breaking changes at the 11th hour or push code that was obviously not play tested. Lots of coding over each other because people would not push code often or attend group meetings.

    I got an A, but honestly, I did not get nearly as much out of this course as I wanted to. It was a pretty miserable experience. I can see now that getting in the class slack channel and teaming up with other people that are also eager to find a group is the way to go, that's probably the best way to find other individuals that actually want to do work.

    Rating: 3 / 5Difficulty: 1 / 5Workload: 10 hours / week

  • Georgia Tech Student2021-11-30T11:00:41Zspring 2021

    This class was my favorite class, up there with AI4R (I have taken AI4R, ML4T, HCI, IIS, DB).

    The lectures are fantastic, I wish all OMSCS lectures were of this quality. Also the professor, Jeff, is super active on Piazza which is good to see.

    There are 4 milestones, 2 small quizzes, and a group project. 90% of your time will likely be in the group project. The milestones are mostly tutorials, but do a great job at teaching concepts. For example there is a physics milestone, animation, etc.

    This course allows for a lot of creativity, as long as your game meets the minimum requirements (3d, has AI, root animation, etc.) you are free to build whatever you (and your group) want.

    I could have gotten away with maybe 10 hours a week, but I found myself wanting to spend time on group project (loved my group too). I recommend finding a group early on and being really organized from the start. We used Trello, Slack, and had weekly video conferences.

    This class is definitely one that is as good as you put into it. I went in wanting to learn Unity, and left having made a really awesome game and a group of new friends.

    I am excited to take Game AI down the road.

    Rating: 5 / 5Difficulty: 2 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-10-27T05:02:04Zsummer 2021

    It is a fun class but it basically teach you some fundamental of Unity, but far from enough to get a job in this field. In fact, your final project won't even worth going to your resume

    Rating: 2 / 5Difficulty: 2 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-10-21T23:07:40Zfall 2021

    This is my 7th class in OMSCS (CN, IHI, GIOS, CP, AI, KBAI). I write C# for my day job.

    This class is a near-guaranteed A with most semesters at a proportion of >85% A grades. You don't need any C# or Unity experience to succeed in this class. That said, I'll repeat the words of previous reviews: you get out what you put in. This is especially true in a class that doesn't provide the external motivation of challenging assignments & exams. If you want to learn the basics of game development, this is a great opportunity to pursue that hobby while still making progress in OMSCS.

    I was pleasantly surprised to find that the class is great for learning practical Object-Oriented Programming principles & patterns. I believe these are essential industry skills for building maintainable applications, so this is a rare opportunity in OMSCS.

    If you intend to double-up with a hard class, please be considerate of your teammates. Nobody likes that teammate who invests the minimum effort because they're focused on another class.

    Also, if all of your classes have a OMSCentral difficulty rating ≤ 3, you should consider taking harder classes. Please don't use this class to find the easiest way possible through the program.

    Team Project

    Your most important assignment in this class is finding a group of 5-6 for the team project. The quality of your group will make or break your experience here, and the project is probably too big for one student to "carry the team". To find good teammates, I believe the best strategy is form a group as early as possible. Proactive teammates tend to be very responsible teammates. Get on the class Slack and ask around before the semester starts. Also, search the introduction threads for anyone with prior Unity experience, which is a huge advantage for common solutions to common Unity problems. Don't wait until the class starts talking about that team project.

    My biggest complaint with the project requirements is the narrow scope of game mechanics. The game requires 3rd-person character control, so you're limited to mostly 3D platformer or 3rd-person shooter genres. To be fair, a few ambitious groups did psychological horror and puzzle games as well.

    Working with a team in Unity can be a pain because Unity Scenes are a nightmare to resolve merge conflicts. My team mitigated this by using an "exclusive lock" system for Scenes. We also heavily used Prefabs which allowed us to create assets without modifying the Scenes.

    The time commitment will likely spike on weekends when the team needs to cleanup bugs, create builds, write READMEs with code & asset attributions, complete peer assessments, and record videos (trailers or demos). The more you can spread this out, the better. Again, proactive teammates will help avoid a classic "crunch" situation.

    This does not require the students to create original art / sound / animations; most of those can be pulled & cited from paid or free sources. The project only requires that all code is fully original and created by the team. If in doubt, ask a TA and they will gladly give a thumbs-up or thumbs-down.

    Milestones

    The 4 individual assignments are all straightforward implementations following the instructions. I've seen more organized instructions in OMSCS, but nothing here is complicated enough to require significant help. The worst case is encountering a strange Unity behavior, but we're playing in well-documented territory in this class.

    The most challenging part is just organizing the submissions. There are very specific instructions on builds, file structure, a README, and excluded files.

    None of these assignments should require more than 10 hours each unless you're determined to overdo them. Even in that case, that effort might be better spent on the team project.

    Quizzes

    The first quiz was 26 multiple-choice questions, no proctor, open everything. They allowed 2 attempts, but the score is the average and the questions change between attempts. I felt the first quiz was very reasonable with a few tougher questions. With no time pressure, I spent almost 1.5 hours going through the lectures & lecture notes to pick up details.

    Second quiz was roughly the same: 27 questions with True/False, multiple-choice, and select-all types. The difficulty was roughly the same.

    I don't recommend stressing over the quizzes; they're only worth 5% each. As the weight suggests, you should focus your efforts on the group project instead.

    Lectures

    The lectures have an unusual structure for OMSCS. These were recorded by Dr. Wilson in his office and resemble long-form lectures more than the MOOC-style lectures of most classes. This means the lectures feel substantially longer, even watching on 1.75x or 2x speed. Keeping up with 3+ hours of lectures per week was an unwelcome chore when I just wanted to focus on finishing the team project.

    Early lectures contain useful information from both a high-level and specific to Unity: several of the videos are walkthroughs for the individual milestones, and most concepts are required mechanics for the group project. For example, the class includes a short Audacity tutorial for processing audio clips for the game.

    The later lectures (Interesting Choices, Interactive Narrative, Future of Games) aren't bad, but they don't feel integrated with the class except to pass Quiz 2. Lecture demos are fine, but not nearly as engaging as assigned playthroughs.

    Rating: 5 / 5Difficulty: 1 / 5Workload: 10 hours / week

  • Georgia Tech Student2021-07-31T07:04:07Zsummer 2021

    I only learned how to use Unity(software) to make some boring things, not very enjoy this course.

    Individual Assignments, which are just time-consuming part, but easy to get 100s.

    2 quizzes, very difficult and tricky, you have to watch videos very carefully.

    Group project, choose someone you know better than some strange and lazy team members, they never showed up when you did the project yourself, and changed everything at the last minute before the due date.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-05-13T20:56:06Zspring 2021

    You get what you put in. This class is generally extremely low stress. If you put the bare minimum of work to get an A, this can be the lowest course load out of all your OMSCS classes. But that's no fun! Video games are never really finished and you can easily put as many hours as you want into your game.

    While the milestones (homeworks) were great practice for implementing things we would need in our video game, if there was anything to complain about in this class, I wish there were either more of them, or more rigorous ones. Not so much that we would get bogged down by deliverables which is the case for many other classes (and the stress-free nature of VGD is honestly one of the biggest positives about this class), but just that there is so much to learn in Unity it would be great to have more structured learning.

    All in all though, a lot of fun. Here are some practical tips for success.

    Rating: 5 / 5Difficulty: 1 / 5Workload: 10 hours / week

  • Georgia Tech Student2021-05-01T14:33:22Zspring 2021

    I really appreciate when a course gets out of your way and lets you learn without bogging you down with quizzes, grading hassles, and minutiae. Video Game Design is such a course; it places minimal stressors on you, allowing you to get out of the course what you desire. I found this course to be greatly enjoyable in nearly all aspects, especially compared to the other OMSCS courses I've taken (this was my 7th course).

    The curriculum is divided roughly into two parts. For the first ~30% of the course, you'll be doing individual assignments (4) in Unity to learn the basics in areas like animation and physics. These are the sorts of assignments where the instructions tell you pretty much exactly what to do, and you have little excuse not to make a high grade. I had never used C# or Unity, so I found them instructional. The remaining bulk of the course is taken up by the group project, in which you and four others will make a 3D "Game Feel" game. Now, I usually hate group projects, but I got lucky in this one and had a great group of guys who put in lots of work. Our game turned out better than expected, and I found myself putting in more work into it than in any other OMSCS course, not because it was strictly required for a good grade, but because I enjoyed it. If you get a good group, you will probably have a good time, but if you get a bad group, it will probably be hell. The groups are not randomly chosen, but instead solicited on Piazza, so if you take the course with some friends, you can pre-arrange your group. Or you can just be diligent in choosing teammates from the Piazza posts and hope for the best.

    The professor was very active and helpful on Piazza. Whereas other courses felt like the professor was the Lord of All Knowledge deigning to toss some scraps to the peasant students, Professor Wilson seemed more like a helpful mentor who was always willing to point you in the right direction. The course videos were enjoyable to watch (though you should definitely watch them at 1.5x), but unless you have lots of time, I'd say skip the textbooks (they're not required at all). I can think of almost no downside to the course content or structure... the only thing might be to update some of the Unity lessons to fit with current best practices, but I understand it's difficult or impossible to keep up with that.

    Overall, this has probably been my favorite course in the program thus far. My ranking would go like this: VGD > KBAI > ML4T >>> HCI > SDP >>> ML > IIS

    Rating: 5 / 5Difficulty: 2 / 5Workload: 12 hours / week

  • Georgia Tech Student2020-12-14T00:30:27Zfall 2020

    4 Individual assignments (they can be time-consuming, but easy 100s if you follow the directions)

    The lectures were screen recordings of Prof. Wilson going over power points. Despite the lack of Udacity-level production quality, they were still interesting. He really has a passion for interactive media and it shows.

    2 quizzes - "open book", based on the lectures. we get a 3-4 day period to take it. Very easy, though there are a few difficult questions which require you to go back through the lectures to find specific details.

    Group project - Where you will spend 95% of your time in this course. My advice is to keep it a simple 3d "game feel" platformer as suggested in the rubric. We sank a lot of time into ambitious features that were eventually scrapped since they were too complex. There are many Unity tutorials on YT that you can follow to get a decent running game.

    I would say the course is pretty heavily front-loaded as we the have 4 individual assignments due back to back every week and then the alpha (which should have a majority, if not all, of the game features you have planned) due 3 weeks later, so beware if you are planning to pair it w/ another heavy/front-loaded course. The second half of the course was pretty lax and my group made small changes here and there based on alpha feedback end ended up w/ an A in the course.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-12-12T06:11:41Zfall 2020

    This was a surprisingly good class - especially considering that this was the first semester it was taught in OMSCS. However, it is fundamentally different from most classes in the program: it's really not designed to teach you much academic material but rather gives you time, resources, and guidelines / guardrails to learn how to develop fun 3D video games.

    The class structure is very simple:

    • Five homework assignments. These are worth 45% of your grade and are pretty much free points. The assignments are structured more like step by step tutorials and the professor even has a couple lectures showing you exactly how to do some of the assignments. While these assignments aren't difficult, they do go through a lot of the ins and outs of Unity and are quite useful.
    • Two quizzes. These are actually pretty tricky even though they're open note. The only reason to watch the lectures is to do well on the quizzes, but they're only worth 10% of your grade so you can get an A in the class even if you do poorly on the quizzes.
    • The group project pretty much dominates the class. This project is actually very well structured - there are quite a few checkpoints (some graded and some informal) where you can get feedback to make sure you're on the right track.

    It's important to note that while the course pre-reqs sound a bit scary, you really don't need to know any complex math, C#, or have any experience with game development or Unity to do well in this class. According to a class poll, >60% of students this semester were completely new to Unity. However, the class does ramp up quickly so if you're new to game development (like I was) I would highly recommend going through some of the beginner Unity tutorials like the create with code series.

    The TAs and professor for this course were great. They were really active on Piazza, pretty decent at getting grades back on time, and gave good feedback on the project.

    I think my only complaints with the class were that the group sizes were a bit too big. I would've preferred to work either alone (though it would've been difficult to get something really good together) or in a smaller group. Working in such large groups made it a bit harder to learn about all of the different aspects of Unity since each member owned smaller portions of the group project.

    Overall, if you're even mildly interested in learning about video game programming but never had the time to learn (or you're an old hat but want some dedicated time to try out some new stuff) I would highly recommend taking this class.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 9 hours / week

  • Georgia Tech Student2020-12-09T23:51:12Zfall 2020

    This is my sixth course in the program and was by far the easiest while at the same time being the one I enjoyed the most. I learned a TON from this class and it was only easy because the professor was excellent and very passionate. I highly recommend pairing this with another class though as the workload was relatively light compared to others. By the end of this class you should be confident in making your own game in Unity. If that's what you're looking for, then go for it!

    Rating: 5 / 5Difficulty: 3 / 5Workload: 5 hours / week

  • Georgia Tech Student2020-11-06T16:37:47Zfall 2020

    Although the first semester of this course isn't over yet, I've noticed some concerns about this course considering it's newness, so I want to get a review out there before everyone has registered for their next class.

    The grading this semester breaks down as follows: Individual Milestones 44% Warm-up Milestone 1% Team Project Pitch 4% Team Project Alpha 8% Team Project Playtesting 8% Team Project Final Game 25% Quiz 1 5% Quiz 2 5%

    Essentially the class is 45% individual assignments 45% a team project, and 10% quizzes.

    The individual assignments are mostly focused around what can be done in Unity. They are somewhat structured, but the student has some freedom in the creative implementation

    The team project is where most of the time for this class is spent. Teams are formed very early in the class, and deliverables are scattered throughout the semester. This is the most time consuming part of the class, but also the most fun. The project has and number of requirements such as the need to be a 3D game with some AI, but how the students choose to meet those requirements is very open ended. You team has a lot of creative freedom with what they choose to create. This is why I've been describing this class to friends and family as more of an art class than a CS class. You are expected to contribute to the code/algorithms your game uses, but you won't be implementing a neural net from scratch.

    With the quizzes, everyone on my team was surprised by the tickyness of the first quiz, so don't take them too lightly. They are open book with no time limit, but if you take them seriously, and you should be fine.

    Don't avoid this class just because it has a group project. This was my third class in the OMSCS program with a group project, and I've had a great experience every time. Although I'm always nervous about group projects due to the large number of unknowns when getting started, in this program you are more likely to work with an ambitious veteran developer than a complete slacker. (It would have been four group projects if the pandemic didn't scuttle the group project portion of HCI for spring 2020)

    My personal recommendation for when to take this course is after you're at least half-way done with the program. Focus on the core courses of your specialization first. If you need a change of pace, definitely consider this class. It is a fun change from some of the other brain melting courses you may encounter here. So far, it's been great! (If all goes well, this is my last semester in the program, having already met the requirements for the ML specialization.)

    The course focuses in doing development in the Unity framework. Unity uses C#, but you aren't expected to know anything about it until after starting the program. My experience programming in Unity so far is more about understanding how Unity wants to do things rather than how C# would prefer you do them. I'd never touch C# before this class, and no one on my team had ever used Unity before, but picking it up hasn't been a problem.

    When it comes to the lectures, don't forget to speed them up. The professor acknowledges that he talks somewhat slow, but in my opinion, if you speed them up, I think they are pretty great! Different style than the Udacity lectures, but well done.

    Because this class is more fun than brain breaking, I think it's a good candidate for pairing with another course. While I never experienced an "easy" course in grad school, if aiming for an easy/hard pairing, this would fit in nicely as the easy course. How much time you spend really depends a lot on how ambitions your group project becomes. On my project, it can feel pretty time consuming at times, but the time is much less stressful than with other classes.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week