Game Artificial Intelligence

4.29 / 5 rating2.79 / 5 difficulty11.26 hrs / week

Quick Facts and Resources

Something missing or incorrect? Tell us more.

Name
Game Artificial Intelligence
Listed As
CS-7632
Credit Hours
3
Available to
CS students
Description
An exploration of how artificial intelligence is used in modern digital computer games.
Syllabus
Syllabus
  • aX7v+yTogLvsY6OhYBAN7A==2024-03-26T23:39:41Zspring 2023

    Overall, it can be a good course if you are interested in gaming. If you don't, and you happen to be entering a busy period, don't take it because it will make you feel like doing something utterly tedious and useless for 70% of the time

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

  • /AO2b9uFNEUxLlYJ/EqCfQ==2024-01-21T19:40:55Zfall 2023

    This is a good course, though pretty easy. The assignments are just really well designed and fun. I really appreciated the effort put into them as well as some of the optional activities like tournaments for some of the AI we designed. I didn't spend much time each week because I didn't have the time, but I absolutely could have sunk 40+ hours into some of the assignments and enjoyed it. Didn't have any C# experience going into this and I was fine, people who are newer (< 3 yrs) may have a bit of trouble, make sure to get intellisense running and save a ton of headache.

    The class gives you a good overview and implementations of some 'good 'ol fashioned AI' but has some opportunities to experiment with RL/DL as well. I really gained an appreciation of the difficulties of designing game AI and how different it is than what you see in ML papers.

    The downsides are that the lectures are a bit long/slow, and the class is not particularly challenging. Honestly though, I think this works as a fun class that has enough material that if you want to put in more work you absolutely can, and I'm a bit regretful that I didn't.

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

  • ScojLJabnNDE3kGW4WxudA==2024-01-07T10:22:54Zfall 2023

    Class is pretty hard, but manageable. Some of the homework was difficult to me for a person without too much AI experience, Lectures do follow homework assignments, but still a struggle. I had to go to TA office hours in order to get past some blockers, and some homework assignments clicked much easier than others. The good thing is that the second half of the semester is super easy, this class is very frontloaded in the workload and difficulty. By the time you finish the mid-term, you have done all of the hard assignments, and the mid-term is significantly harder than the final. I got around a 50 on the mid-term and an 80 on the final.

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

  • /5OWkDXxV/LpMaGSfWIvWQ==2024-01-05T13:04:06Zfall 2023

    Easily my favorite class of the program so far (this was my third). Game AI is such an incredible in depth, interesting dive into the world of not only game programming, but also a great introduction to Artificial Intelligence for those (like me) who had not worked in the AI field of computing before. The Professor is by far and away the most available, and active, of the OMSCS program thus far.

    I definitely felt like I walked away from the course with a solid grasp on AI fundamentals that would allow me to succeed in other AI classes going forward, but the fact those AI fundamentals were taught through fun, interesting projects in game development, made the process of learning those fundamentals that much more fun!

    That being said, a big caveat here: if you have not had any prior AI or Game Dev experience (like me!), this class can initially be very intimidating. This class dives right in, and while it doesn’t explicitly mention any AI or Game Dev prerequisite experience, I’d recommend at least coming in with some knowledge of one or the other. Otherwise, you will (like me) find some of the initial projects to be very difficult, as you try and navigate how certain tasks can be implemented in a game environment, while also trying to develop the algorithms around that task.

    If you do not come in with prior AI or Game Dev experience, I would say to expect your weekly load to increase 5-7 hours (avg. 17-20 hrs), just because you will need to catch up on some of those fundamentals. I still ended up with an A in the class, but definitely had to work for that grade.

    Finally, while the 9 projects are generally all enjoyable, some are definitely better than others. Project 9, especially, felt like somewhat of a let down when compared to the others (much less code heavy than the first 8, and not as tangentially related to the material). It’s also important to note that the projects, while released in batches early, have their due dates come at you in rapid succession. I’d definitely recommend starting each project as early as possible, as some projects are due within 7 days of one another, and some projects are certainly heavier lifts than others. Also, keep in mind for the midterm and final that you will want very organized notes (they are open book), as these tests are much less recall based, and more “how would you do this thing I’m asking you to do.”

    All in all, amazing course, and highly recommended!

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

  • EvIDgOl0GKlq/cqA5rWTDg==2023-12-10T22:53:39Zfall 2023

    Pros: I like the projects very much. If possible, I would like this course to have more projects rather than having 2 boring 4-hrs exams.

    Cons: The reason that I would like to rate this course difficulty as 5 is not about the content of the lectures but the way the professor adopts to teach:

    1. Most of the lecture videos have random length which usually are more than 60 minutes, some even 90+ minutes. Professor could talk about a single plain and unchanged slide for more than 20 minutes, during this time, it's really hard to follow what he is talking about since he is indeed knowledgable but what he is talking about is so unorganized and boring and so easily to be distracted.

    2. I don't like the only-2-tries and average-point homework mechanism very much. This is the only course I encountered that has such aweful mechanism. IMO, homework is NOT as same as exam, homework should give students ample times to try wrongs and be able to understand the lecture/project and then enhance the code. After I submitted my 2nd tries, I literally have not way to continue studying my homework. What I don't understand is still unknown to me in the end with my poor averaged points... Again, homework is not exam. I really would like to study the topic while working on the project, but after two tries are done, what I was trying to do seems doesn't make sense anymore, I cannot enhance my project, I cannot increase my points either.

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

  • tTb8KqAw9Zs01vBDk45q4A==2023-12-09T18:56:36Zfall 2023

    The concepts are interesting and the projects are pretty fun. The professor is knowledgeable and good at helping you figure out what's wrong with your code. TA office hours are helpful. Although you can only submit the assignment twice, good hints and feedback are provided after the first submission. It's enough to help you figure out what's wrong with your code to get a better score with the second submission. The only part that I didn't like is the lectures which are long and dry and sometimes hard to follow. Overall, it's a fun class and makes you more understandable with games' slow updates and expensive prices.

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

  • djYyM55g6cs5rSqUV6QUMg==2023-12-09T17:03:01Zfall 2023

    This is my first review on OMS Central, even if it is my eighth course in the program. It was my favorite course as well, similar with other people. The right amount of difficulty, mostly fun assignments. The 70/30 percent ratio per assignments/exams, plus a couple of opportunities for extra credit, there is a decent chance to get an A. A few points of what I think is more important based on my experience:

    1. I was worried about the 2 submissions limit for Gradescope. I don't think I used at any assignment more than 1 submission. It makes you more anxious when you click the Submit button, but with local testing and a thorough approach, you should be ok.
    2. I enjoyed the Race Truck assignment the most, with Prison Dodgeball coming in second. The tournament based on that assignment was a nice touch as well.
    3. The lectures, even at 2.0 x speed are sometimes hard to follow.
    4. The professor was very responsive on Ed Discussion, especially in the first part of the course (when I think is the most important).

    At the end of the course, I really feel that I learned something and I have a small insight into the game industry. I think this should be the goal of any course in the program: for the student to remain with some knowledge and to have good projects for which the sole purpose is not to give you tens of pages of directions, one more confusing than the other, but to have that spark where you feel you achieved and learned something.

    Anyway, enjoy!

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

  • Fx764/8uQ176zln00wiLog==2023-12-07T14:54:48Zfall 2023

    I really enjoyed this class. I have taken several AI classes at this point, and this was a breath of fresh air. The entire point of Game AI is that you have to cut algorithms down, or else the game performance will suffer. Because of that, nothing can be too complicated. Projects were all so fun to work on, they provide tons of starter code and you just fill out the algorithms. They also all have pretty impressive visualization so you can see the changes you make immediately. Lectures are extremely long and usually multiple per week, definitely watch on 2x speed. Lots of lecture material is not covered in assignments but you need it for exams, so don't skip them. Pretty significant curve provided on the midterm, but the curve wasnt released until finals week. Great class, take it if you can!

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

  • aPUo+fai3Uca5eV1JXAiNw==2023-12-06T02:00:19Zfall 2023

    Overall, this was a fun class that wasn't too challenging. The assignments are fun to work on and there is a TON of support from TAs and the prof directly on the forums. The prof is super helpful usually. The lectures are fine if played at 2x speed. The exams weren't too bad but a little tricky but if you do fine on the assignments you'll be fine. There is an interesting 2 submission limit to encourage more local testing but most assignments it was pretty clear if you would get most of the points. Assignments weren't too challenging and had some cool concepts. I wouldn't say the class was too difficult and makes for a good pair with another class. The prison dodgeball assignment was pretty impressive and you could either go as easy or hard as you wanted, with simple implementations getting most of the points and wild implementations getting all the points for sure. I didn't do anything crazy and got full points. My favorite assignment was the fuzzy logic racing, with fairly simple code you can get some great results that look cool to play.

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

  • zPiW5zEJYqcfHuRmUK5dcA==2023-11-29T21:08:06Zfall 2023

    TA and professor engagement on Ed declined after the midterm.

    The lectures are extremely dull and long. I found five-minute videos on YouTube that taught the content more clearly and interestingly.

    The exams are less a test of buzzword knowledge and more a test of concept application. Many people score lower than are used to in OMSCS.

    The assignments are interesting, challenging (depending on your background), and rewarding. The TA team provides one-on-one tutoring with screen share - my favorite feature of any OMSCS course I've taken.

    This is a good one.

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

  • 3N/3LUnj3r9Mano7r+uNTg==2023-06-27T08:21:57Zsummer 2022

    What I like the most about this course is the assignments. They're very well thought, enough code is already provided so students don't spend too much time on implementation details, but enough work to make sure the essence of the materials are captured. The amount is just right. I find the lecture a bit slow and not very captivating / clear, I often end up stop in the middle and just read the book. Overall a very good course, especially for summer.

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

  • BM7EFaJ7ODh553IIRjug1Q==2023-05-08T17:06:25Zspring 2023

    Really enjoyed this course. Dr. Wilson was very active in EdSTEM, and the TAs hold individual office hours to help if you're struggling with an assignment (for example, you can screen share & they'll give you comments on your code.) This was a huge bonus, as most other office hour formats seemed like an extensive Q&A without a ton of individual guidance on your issue. Shoutout to Oliver for doing an exceptional job.

    The course itself was laid out in a very organized way, and I benefitted from watching most if not all of the lecture content. Dr. Wilson definitely put some time and thought into his production value & planning when preparing the course material.

    There were 8 projects, and each one was challenging & left me with a good sense of accomplishment after completing it, but none were so difficult that it was unapproachable. There were only a few where I was stuck enough that I had to make an office hour for a TA to help. I would say this class is well-distributed in terms of workload. It wasn't hard in the beginning, then easy, or vice versa. The projects are also very interactive & provide a unique and fun debugging experience. For example, in the prison dodgeball project, you need to watch your minion's behavior to improve your code.

    Another nice perk was-- the first half of the class is released all at one time, so you can work ahead if that fits your schedule better. This allowed for a bit more freedom in my personal schedule.

    This was my 7th class & was definitely at the top of my list in terms of satisfaction. Would recommend it to anyone else thinking about taking it.

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

  • UfLZ7HeMFhLz8He29deVEQ==2023-05-07T19:59:08Zspring 2023

    Overall, this was a pleasant course that was sometimes interesting, sometimes boring, but never particularly stressful. A lot of the content is repetitive from other AI courses. The highlight of the class is doing all of your assignments in Unity and having a visual output to work with, which creates a more interesting development experience than a typical course, and can be fun to show off to people. Some of the assignments are very rote (for example: implementing A* for hundredth time), while others create room for creativity that can suck you in for way more time than you need to get full credit because they're actually fun (for example: creating an AI dodgeball team). There were 7 assignments in my semester, and they are usually released a few weeks ahead, so you can easily end up with a lot of gaps where you don't have much coursework to do (very ideal for a semester where you might have a lot of travel planned). The assignment files have a lot of work put into them, you could easily leverage them to explore above and beyond the coursework without having to do a lot of your own setup in Unity if you have enough genuine interest. There is a ton of lecture content, roughly 2-4 hours of videos each week. Watching on double speed is ideal--they're slow and at times pretty dry. These lectures cover way more content than the assignments do, and are often only mildly touched on in the exams. The exams are open note and offer a generous allotted time, but are not necessarily a knock it out of the park experience, as the questions are pretty specific and require you to carefully interpret them. I did literally nothing to prepare for them and got low Bs. There is also some opportunity for extra credit here and there. Overall, I ended up with an A in the course. The professor responds to nearly every question on Ed, it feels like he is invested in meeting students where they are at and making sure they succeed. If you are newer to programming, this class might be a little more challenging, but a good early-on course in your degree to learn the ropes of development. If you are very experienced, it'll probably be a breeze but possibly boring.

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

  • p19PDQCMCANoV503QlqdWQ==2023-05-06T22:50:42Zspring 2023

    Overall, this was one of my favorite courses so far in OMSCS. I learned a lot about not just video game development, but also AI algorithms. The projects were interesting. However, I felt that the exams were made to be pretty tough. Overall got a low A.

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

  • +rlO22mv1WfHSZ5PuZEMhQ==2023-05-06T22:28:15Zspring 2023

    Overall I liked this course, but it has some frustrating elements that could be improved. I took Video Game Design before this course, and went into it expecting to like this one even more. Although a good course, the structure of the course made it less enjoyable than VGD for me.

    Pros

    • Material is interesting
    • Projects are fun
    • Projects are visually appealing and can make for good portfolio pieces
    • Dr. Wilson is very active on Ed
    • Frequent office hours

    Cons

    • 2 exams (although open note)
    • Lectures can drag and lots of material is presented by reading slides / reading math formulas instead of teaching and making it more engaging. I found myself frequently bored.
    • Assignments don’t have great documentation on how to work with starter code. This can be frustrating at the beginning of each project.
    • Limited to 2 submissions for each assignment and few local tests provided. This makes assignments stressful.

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

  • 5OF4BxzgwHSPRo/ztUu4pA==2023-03-26T23:14:58Zspring 2023

    For starters, I'm taking this course towards the end of my degree (have not taken any other video game related course).

    I think the course is ok, it feels like a lot of review to me as someone who did CS for undergrad. Path algorithms, FSM, decision tree, all material I was introduced to long before this class. There's some interesting tie ins to video games that make it a bit fresh, mainly through assignments.

    Some of the assignments are simple fill in the blank jobs that have you implementing what's given in the lectures. There's some more free form coding assignments later in the course that require some creativity to get full credit.

    Forum is really active including the professor. Unfortunately, this is (I think) my first class where office hours weren't recorded which I'm not a fan of.

    I've only done the midterm exam as of now but it was extremely easy. It was open note/lecture with more than enough time to complete as well as being curved. Overall, assuming the final isn't a sucker punch compared to the midterm, the class should be an easy A for any one with solid CS fundamentals. It's mildly interesting, mainly to me just for understanding the considerations that are made when programming a video game.

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

  • EShinfbg6gtSOBkv/eBf0w==2023-01-18T18:31:23Zfall 2022

    Summary: A highly overrated, boring and largely useless class. (News flash: The professor being active in discussion forums is a very basic requirement and does not make the class great in anyway)

    My background: 7th OMSCS course (CV, AI, DL, CPDA, ML4T, AI4R)

    Grade: A (98% on assignments, ~75% on midterm and final. There was a curve)

    Pros:

    1. Yes the professor is active on discussion forums. (I'll get this out of the way)
    2. Assignments are code only for the most part. No pages and pages of writing here. Also, they are autograded (there is a big caveat though. See cons)
    3. Exams were fair (but not easy IMO) and you are given more than sufficient time to complete them. The midterm however was more of an aptitude test and your performance was not necessarily in line with the amount of studying you did

    Cons:

    1. The lectures and the slides are incredibly boring. (mind you "boring" is putting it mildly here. Coma inducing is more like it). How do you take super interesting topics such as video games and AI and make them so unbearable? I just don't understand why certain courses in the program don't take advantage of visual aids while presenting slides? There are no animations or graphics here - just 24+ hours of slide reading.

    2. For them most part, the assignments are too superficial to be of any real value.

    • Assignments 1, 2 and 4 are glorified geometry problems.
    • Assignment 3 is A* which has been handled in a much better way in courses such as AI and AI4R.
    • Assignment 5 and 6 (finite state machines and fuzzy logic) were better, but again not very challenging. I didn't learn anything doing them
    • Assignment 7 is procedural content generation and was 100% useless. You just play with some sliders in the GUI till you get the desired results

    Though the assignments were autograded, you are allowed a maximum of 2 submissions and your score is an average of the two. With nearly no local test cases provided, this grading strategy makes absolutely no sense. When asked, the TA made some snide comment about things being challenging in the real world and we should be prepared for it. BS

    Final thoughts: In conclusion, the insomnia curing lectures and the pointless assignments make this course hard to recommend. I learnt nothing about AI or video games at the end. If you have taken AI and AI4R, the AI part of this course will be completely useless. If you want to learn about video games, the VGD course might be an option, but I am just inclined to suggest a Unity youtube course at this point.

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

  • ebjPyKDLgqJevrdpIZP3DA==2022-12-19T22:40:36Zfall 2022

    Game AI is a great course if you're interested in video games. I took it because I needed an elective, but I didn't want to take Game Design because I was wary of the group project, and I'm very happy with my choice of Game AI. The content is interesting and in my opinion, the lecture videos are very good. The professor speaks slowly but I sped them up to 1.5x or 1.75x to get through them faster. The assignments were all very achievable in my opinion. I struggled at the beginning of the Fuzzy Logic assignment, but the TAs and the professor gave a lot of help on Ed that helped pull me out of my confusion. The assignments are all coded in C# using the Unity environment, so if you're familiar with either of those that'll help. However, C# is fairly similar to Java, so if you're decent at Java (that was the case for me) then you should do OK on the assignments. It is a bit annoying that you're only allowed 2 submissions on gradescope for each assignment, but in my opinion they are easy enough and there is enough of a testing environment provided to us that it's still fair. The midterm and final exams were also fair and about medium difficulty. They are both open-notes You are given 4 hours for each one but I only took about 2 hours for each. I scored in the high 80s for each which was enough to give me a ~95 final grade. My process for the exams was to speed-watch (2x) all of the relevant lecture beforehand just to familiarize myself with the content, then download all of the lecture pdfs ahead of time and have them well-organized in case I need to reference them for the exam.

    The best aspect of this course is how active the professor is. It's very clear that he takes a lot of time to ensure his students' success. He knows the content well and I believe he wrote the assignments himself because he understands them intimately. This is incredibly helpful for students, especially because the professor responds to Ed posts usually within a few hours.

    Overall, if you have any interest in video games, I would recommend this course as a moderately easy elective. By far the best part of this course is the professor's involvement, which I wish was copied over to some of the other OMSCS courses.

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

  • dBUSaIXRrJZ1RjOdnzwLnQ==2022-12-09T17:53:54Zfall 2022

    Very good course. Took this as my first in the program with non-CS background. 7 projects and 2 exams. The projects are all interesting and enjoyable. The exams are tricky, but open everything. The professor is extremely active and responsive to almost every question for the class. The only way to not do well on something is by not trying.

    The course covers a large range of topics. The projects do a good job of reinforcing the lectures, but the rest of the topics are mostly covered at a shallow level. You don't need CS6601 as a prerequisite to succeed, but it will definitely help and you'll probably get more out of the class. There is also some math that can surprise you if you're not ready for it (predictive physics, ID3, naive bayes...).

    I personally enjoyed that the course didn't require huge amounts of time to complete the deliverables. This allowed for some freedom to explore the topics more deeply and play around with the projects. Excellent course for people who want something interesting and not too challenging, or for someone that wants to get lost down a rabbit hole researching the topics.

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

  • BfmHlaFaDh3yDvwuq+/Mwg==2022-12-03T21:27:34Zfall 2022

    Not much to add. Fantastic course. You learn a lot in a fun way, so it feels easier than it is.

    This course covers some material you'll hit again in ML4T & AI courses and is a great intro (or if you've taken the others, a fun follow-up to practice those concepts).

    This is hands-down, the best first course option in the program. Yes, you'll have to write C#, but you won't have to be a pandas/numpy wizard like AI4R/ML4T performance dictated.

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

  • szFGSy34W3OiXNupCVHubw==2022-10-31T06:42:48Zfall 2022

    This course is a little strange. U cannot submit multiple times for your assignments. What you learn from lectures are different from assignment. Lectures only teach u about the idea or definition but u need to implement it by yourself. For assignmet, u need to write your own test application to test all the scaniros what will consume a lot of time.

    For the exam, it is not easy to directly find the answers from lectures. a lot of questions you need to guess.

    overall, it is easy to get grade C and it is hard to get A.

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

  • dqyOcZsXe36mVXTr80sgLg==2022-08-04T20:55:47Zsummer 2022

    There isn't much I can add that others haven't covered. But I'll do so anyway :-P

    The TL;DR is that this is a fun, relatively easy course, with good lectures, lots of professor/TA support and engaging assignments. If you have any interest in video games, AI, or even Robotics, take this course. There's a reason this is one of the most highly rated courses in the program.

    Some extended thoughts as bullet points:

    • Although there are a lot of lectures, you can easily watch them on 2x speed. The professor talks slow - so slow, that I assume he did so on purpose to help students who do not have English as their first language. You can even use a bit of JS to watch lectures at even faster speeds - while studying for exams I re-watched everything at 2.5x speed and it wasn't too ridiculous.

    • Lecture content, on the whole, is interesting and engaging. There are a LOT of concepts covered, mostly at a high level. If you want low level nitty gritty about Game AI, this isn't the course for you.

    • Assignments are fun. There is a submission grace period. I spent between 10 and 20 hours, depending on the project. Some less. There is an option to re-submit if your first grade was low, and your final grade is the average of the two. As others have stated, I'm on the fence about these kinds of policy's in a graduate program. I think you should have it together enough to be able to submit assignments on time and not need an "extra chance" to boost your grade. But that's just my grumpy opinion, which doesn't matter since this course offers many, many chances (and even extra credit!) for grade boosting opportunities.

    • The exams are not super easy. They are not super hard. I got ~80% on each, and the midterm was curved to give me ~90%. The material covered matches well with the lectures IMHO, and the professor graciously gives students PLENTY of time to complete them (the assumption is it'll take 1 hour to complete, but you're given 4). I read slow, and think slow, so this was great. If I had spent the full 4 hours I'm sure I could have gotten slightly higher grades, too.

    • If you are interested in Robotics (like me!), this course is actually very useful. The course uses Unity, and even has a "self-driving truck" assignment (although to be fair, the AI used for this assignment is not something you'd ever use in a real life self driving vehicle). The course covers A* path planning, and other tid bits useful for Robotics. I wasn't expecting this, but it was a nice addition for me, since OMSCS doesn't actually offer too much in the way of Robotics.

    • If you do NOT know any C#, but you know any other programming language relatively well, do not worry, you will be fine. I'd never looked at C# in my life before this course, and after the first assignment I felt versed enough to easily work on all assignments. Take a quick intro course at Codecademy or something if you're worried. But, despite what the professor or syllabus may imply, don't let this stop you from taking this great course.

    • Huge shout out to the professor for being so active in the forums and for creating such a fun course. As the rating on OMSCentral implies, this is really one of the best courses in the program (for reference this was my 6th course).

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

  • Georgia Tech Student2022-05-01T22:35:22Zspring 2022

    Mostly leaving this review to praise the enormous amount of support one could receive from the professor and TA's. I don't believe it is possible to fail in this class if you start early and ask for help when stuck. Prior to this course I didn't had exposure to C#, but luckily I'm good with java and C# is basically Microsoft's version of it. Assignments are good and keep you entertained, I think on average I spent 10 hrs on average doing them. I definitely spent at least 20 hrs working on FSM and 15 hrs on self-driving vehicle, but also there were at least several of assignments where I spent like 5 hrs in total. Midterm exam was tough but fair, there was a little curve to make sure that those who performed poorly would get better a grade. Final exam was pretty straightforward, curved grade is not available yet, but I wouldn't expect any curve since most of the students performed much better this time around. So to sum up my experience: If you like video games and want to know more about how they work - I would strongly suggest you take this class. Lots of fun is guaranteed.

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

  • Georgia Tech Student2022-04-29T18:49:43Zspring 2022

    A nice course with active Profs and TAs. I like this course.

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

  • Georgia Tech Student2022-03-25T21:14:28Zspring 2022

    Overall, the class has some really strong virtues:

    • Projects are released a bit early, so you can work ahead.
    • The professor is concerned with student learning and is actively involved on Piazza. (In fact, he responded to nearly all student questions on Piazza)
    • The projects involve interactive designs that are fun to work on, especially the later projects.
    • The bar for project completion is set pretty low, but there is lots of room to improve your design.
    • You get a second chance to fix errors on projects and earn back points you missed.
    • There are also extra credit points available on some projects, including an optional dodge ball tournament.

    There are some drawbacks,:

    • The lectures are kind of boring and there are a lot of them to watch. I don't blame the professor. It's just the nature of the amount of material in this class.
    • The exams have LOTS of questions on many topics at a depth that is somewhat beyond anything that was presented.
    • You may hear (or create?) some whining / reminders about not knowing C# (which is structured very much like C++ or Java, and pretty easy to learn, especially using the VS editor).

    Then there is the gray area:

    • The professor will help you if you start late and/or don't understand what to do. I am on the fence here, because I feel a graduate student should have skills to do more on his or her own, but I commend the professor for his concern for student achievement. In my honest assessment, though, many students clearly either don't watch the lectures, don't know how to troubleshoot their errors, or just look to be spoon-fed the answers on projects.
    • There is down time between projects and lectures.

    I would recommend this class. I found the projects to be kind of addictive -- like playing a video game. That was pretty fun. If you don't put time into testing, though, you can still get a lot of help from the professor, who won't let you fall through the cracks. In all my classes, no professor has been as actively involved in the class on a day-to-day basis as Dr. Wilson. That alone makes the class worth taking. As with any class, you get more out of it when you put more in.

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

  • Georgia Tech Student2021-12-22T03:30:41Zfall 2021

    I really enjoyed this course. It was fun to see a more "practical" and fun side of AI. After taking AI (CS-6601) this course was pretty easy but it was really fun to learn Unity and apply what you learned previously to a fun assignments. FYI I got an A.

    Pros

    1. Professor is really active on the Piazza and answers all questions quickly.
    2. Assignments are fun and you get plenty of time to do them

    Cons

    1. Not all the material on the exams are covered by the assignments, so you need to really pay attention to the lectures and keep up with them. I do kinda wish all topics covered had assignments but its just not possible
    2. getting grades was kinda slow but I get it , it takes awhile to run on those Unity applications.

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

  • Georgia Tech Student2021-12-20T12:05:04Zfall 2021

    This was my 9th class in OMSCS and I would say this was among the best I've taken so far.

    The instructor (Dr.Wilson) is extremely helpful and literally tries to answer every single question on piazza. TAs were very good too. I liked the fact that this class uses a game engine (unity) that's widely adopted in the game industry. This definitely gives us hands on experience in a relevant technology and insights into what it's like to be a game dev. Exams were open book and open internet, but were challenging. Projects were fair without consuming too much time (all took < 15 hours, mostly less than 10 hours for me and I didn't know any C# beforehand) and I liked the fact that we get an opportunity to resubmit an improved solution once grades were out, which allowed to get back 50% of the lost points. One downside is that projects can be all-or-nothing just like in AI4R, but the regrade opportunity alleviated the issue to a reasonable extent.

    Overall I would highly recommend this as a low stress, fun and practical class where you'll learn quite a lot too.

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

  • Georgia Tech Student2021-12-15T10:39:50Zfall 2021

    Why and when did I take it ?

    I am planning to graduate in Machine Learning and had already taken AI, ML4T, RL. This subject was not a requirement but I was always interested in games and how they are created. I paired this course with Computer Vision.

    What can you expect to learn ?

    I learned some basics about Unity game engine in the course. I know some other students in the course who learned about Unreal engine after taking this course and found having learned Unity before was helpful. In terms of learning the unity engine this course just scratches the surface and doesn't offer a lot in terms of learning the tool itself. If you want to learn the tool itself I think Video Game Design might be better candidate.

    In terms of AI aspect of the course, it teaches a lot of algorithms and design strategies which are used in gaming industry to design a good game agent. So, you can expect to write a lot of scripts and algorithms and integrate the same in the unity engine. Some topics that I loved learning were designing a game agents, computational geometry, finite state machines to design game flows, using fuzzy logic in games, procedural content generation.

    How difficult was it ?

    I found this course to be of medium difficulty and I think it is good candidate to be paired with some other course. The first half part of the course teaches some core algorithms like path planning, computational geometry, A* and you won't get a lot of action with Unity engine and mostly work with C# scripts. In most of these assignments, you'll have to complete some functions with predefined signature and sometimes pseudocode is also given which makes it even easier to implement.

    The second half of the course is a little step up and slightly more difficult but also more fun and enjoyable. The assignments are more open ended and you'll have to implement most of the things from scratch in a C# file provided. The last assignment is really interesting where you'll get the most action with Unity engine. There is no autograder so, you can't see you grade immediately and resubmit and improve it but professor Wilson mentioned about adding it pretty soon. But you still have a regrade opportunity of getting half of your lost score after first grade.

    First four assignment requires a maximum effort of 10 hours considering you've watched the video lectures already. The next assignments require more efforts and I was able to complete them in 3-4 days with a sitting of 2-3 hours per day. There were two open book exams which can impact your grade, not too difficult but they require you to have watched all the lectures. You can easily get an A if you put a little bit effort.

    Course content and Support from teaching staff ?

    Course lectures are really good but they are slow paced, I watched them in 2X speed ( as suggested by someone in previous review ) and it really helped. In terms of support, Prof Wilson is really-really helpful, he was answering a lot of questions himself and within a day and sometimes within hours.

    Overall, it is really well structured course with a lot of things to learn. I absolutely loved it and would recommend.

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

  • Georgia Tech Student2021-12-14T03:23:34Zfall 2021

    Awesome class, one of my favorites in the program! I would rate the difficulty overall as medium - some assignments were straightforward but others were very challenging. The workload per week highly varies (6-25 hours), with the latter half of the class ramping up in difficulty. I learned a lot of interesting concepts in this class, and the professor Jeff Wilson was extremely helpful and is probably the best instructor I've experienced in the program as I'm finally graduating.

    To do well in this class, I recommend keeping eyes on Piazza and joining the OMSCS study slack, and starting early on the Finite State Machine and Fuzzy Logic assignments; some weeks there were no direct deliverables, which I used to slack off, and I definitely don't recommend that (as it ended up hurting me) and suggest you use that time wisely!

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

  • Georgia Tech Student2021-12-13T18:38:19Zfall 2021

    Game AI was another quite enjoyable class, not quite as fun as Video Game Design, but still a good mix of useful concepts and entertaining assignments. This was my 9th course in the program, and after taking ML4T, ML, and AI4R, as well as VGD, I had been exposed to a large number of the things in this course, which made it much easier. Even if you haven't taken these courses, you'll probably be able to pick them up quickly.

    The course structure was much like VGD in that you have a bunch of course lecture videos to watch every week. They're of decent quality, and if you like games, you might even find them more than strictly educational. I do recommend watching on 1.75x, though, since they can be a bit lengthy. In addition to this, there are a number (7 in my semester) assignments, all individual, covering AI-related things from the lectures. The standout was the dodgeball assignment, which there was a class tournament for for extra credit. The fuzzy logic racetrack was also pretty cool. None of the assignments were very difficult since the instructions were very clear and the grading was lenient. There was no group project, thank God.

    There was a midterm and final exam that were a little tricky, open notes. You still have to use Honorlock, unfortunately. They also got a curve, which seemed unnecessary to me. And like VGD, Dr. Wilson is very active and helpful on Piazza. Really this is another exemplar class in terms of how it's run, low-stress, but you might want to avoid it if you've already taken a bunch of other similar courses. I'd rate my courses in terms of overall enjoyability: VGD > KBAI > GAI > ML4T >>> HCI > SDP >>> ML > IIS

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

  • Georgia Tech Student2021-12-08T03:07:28Zfall 2021

    Overall, I would say this is one of the best classes I've taken in the program. I will say I DID take AI prior to this, but I would say, in retrospect, I'm not sure it made this class any easier.

    Conceptually, AI goes into more depth on topics that this class touches on later, but this class does not have you writing any code at a level that would have been made easier.

    I do want to explicitly call out that the lecture videos and supporting material in this class are exceptional. Dr. Wilson has an outstanding A/V setup and the slides are very professionally done. This was the first class I've ever made sure to watch every minute of lecture material.

    The projects are all fun and engaging, but they vary in difficulty dramatically. Most are easy enough to knock out in an evening if you've watched all the relevant lectures. The only one that truly took a large amount of time was dodgeball, but it was by far the most fun.

    Exams were a bit... weird? They were difficult to study for, but they were curved in a way that most people will do well at the end.

    As another reviewer mentioned, Dr. Wilson and Joyner should be in charge of producing and running every class in this program.

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

  • Georgia Tech Student2021-12-05T01:09:16Zfall 2021

    This is definitely not a "very easy" class by any means. For comparison, SDP is 100% very easy. Game AI, however, involves quite a bit of computational geometry especially in the earlier assignments. Some of the initial assignments, particularly surrounding building and traversing a grid and navmesh polygons, were entirely new concepts (for me) that required watching the lectures multiple times in order to fully understand what was being asked on the assignment.

    The upside is that -- like many others have commented -- Professor Wilson is a baller when it comes to giving students the information they need to learn. David Joyner needs to sync up with him and figure out how to make all classes feel this supportive!! :) He will share starter code or example code when requested, provide a generous amount of time and help in private posts AND to top it off, his TAs have the same attitude and knowledge during office hours. They don't give answers like "it's mentioned in the lectures already" or "go read Chapter # again." They are genuinely willing to share knowledge and help everyone, even if that means explaining the same concept multiple times across different Piazza posts if someone isn't "getting it." On top of being helpful, Professor Wilson also extended due dates, especially for Assignment 5, which a lot struggled with (that single ball scenario!!!).

    Overall, this is not an easy class if you are not familiar with computational geometry. You will need to digest some new concepts fairly quickly for Assignment 1 and be ready to apply them to the next few assignments. That said, while the class is hard, the assignments are rewarding and fun and I learned A LOT!

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

  • Georgia Tech Student2021-12-03T01:32:49Zfall 2021

    I've taken AI4R, SDP, VGD, modeling, simulation and military gaming, and KBAI. I would rate this as hard or slightly harder than KBAI. It is recommended for OMSCS students that you have completed AI prior to taking this course, which likely would have made it easier.

    The first half of the course is computational geometry and path searching algorithms. The second half is really cool, involving finite state machines, ballistic targeting algorithms, fuzzy logic, and procedural content generation.

    I took this class because I'm interested in the CS behind video games and it satisfies the Interactive Intelligence specialization requirement. With it being newer, I think there were some hard-chargers that reviewed this as being much easier than it actually is. This is not a trivial class.

    At the end of the course, you will have some seriously cool projects to showcase that are self-rewarding. You implement a dodgeball game strategy (including the targeting and throwing), and a self-driving race car on a procedurally generated track. I feel like I learned a lot, really enjoyed the course textbook, kind of enjoyed the lectures (watch in 1.5x or 2x), and thoroughly enjoyed the course interaction with TAs/ Prof Wilson. Prof Wilson is an absolute unit and directly helps students all the time on piazza. The TAs are good as well.

    I was offered a TA position in this class, have received a 100 on assignments 1-6, and a 70 on the mid-term uncurved (80 with the curve). As of the time of this review, still waiting on assignment 7 grade and planning on taking the final in a couple days.

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

  • Georgia Tech Student2021-07-24T23:05:59Zsummer 2021

    Overview

    Awesome class. I find myself looking at options to rework my class plan to take prof. wilson's other course in game design.

    • fun if you enjoy thinking about game dev internals
    • straightforward
    • light workload
    • good lecture content

    AI4R, ML4T, AI make the cs portions of this class a cake walk.

    Context

    I am a SWE with 15+ years experience. I worked in unity before for a personal project. Ive taking the following courses in order of subjective difficulty:

    ML4T < HCI < AI4R < DVA < AI ~ CP

    Lectures

    • The pdf slide notes are pretty sparse. I heard some ppl used TTS to extract voiceover, these would be better and more searchable for exams. I didnt find it necessary.
    • slow voiceover, even at 2x
    • Content was relevant and well structured. Topics were layered effectively.

    Due to the low information density (From slow talking) and the effective lesson structuring, i found i absorbed the content reliably.

    There are quite a few lectures. I would watch these while doing errands or working out, taking time to pause and rewatch when hearing something interesting. Topics were not exceedingly complex, and the explanations were thorough and slow paced.

    Assignments

    There were 7 assignments for summer quarter. Syllabus indicates 6-8. All assignments are available on public github, but they are tweaked and officially published as the quarter progresses.

    In general, a lot of scaffolding in these assignments is provided. Think more along the lines of AI4R vs AI/ML. like chedcode. If you can view the github repo you can see what i mean, but in general the assignments are "runnable" out of the box with obvious flaws and gaps that you can fill in piecemeal with the contents of lectures.

    It is spoon feedy.

    Personally it was a welcome change from "heres a set of papers, go replicate the results and deploy a working program and oh also write a paper" (comp photo, AI).

    I enjoyed getting direct, actionable responses to my questions vs "go re-read these 4 papers and think about why you are not getting a good result". In other classes I have unresolved mental trauma from spending 20 hours writing and rewriting 3 way astar search because i misordered 2 lines in my heapq wrapper. i hardly consider that a learning experience.

    One thing that i disliked was the lack of auto grader. In assignment 1 i was mixing one boundary condition check, and even though my algorithm (due to defensive coding) managed to find the proper path reliably, i was dinged 30% credit because the unit test failed. There is no repeatable gradescope type thing, so this was my grade for that first submission.

    You get a regrade opp for 50% credit, and luckly for me for assignment 1 you get regrade for full credit. But because of this grading infrastructure, there is very little room for error.

    On the flip side, the assignments are very clear, the documentation is very good, and if you fail these assignments after the regrade, you truly earned that F. the unit test outputs make it easy to reverse engineer the unit test criteria, and then they are useful for finding your bugs.

    The latter assignments are really fun.

    Its easy to get "good enough" ai to get full marks, but i put in 20+ extra hours on each assignment just for fun to see if i can make my dodgeball minions coordinate better, or make my car faster.

    I found the assignments rewarding because there is immediate visual feedback for when your algorithm starts clicking and working. When my minions starting pegging the enemy reliably for dodgeball, or when my car would stay on course, it felt like you accomplished something, even if it was just incremental to the assignment at hand.

    Exams

    I crammed for these by watching all the videos over the week prior. Its open book. Open notes. 3 hour time limit. I finished both in ~40 minutes and got 88 on midterm and 82 on final. There is enough time that if you really wanted to, you could probably get a 100% by rewatching the videos while the exam is going. But my assignments were high enough that i was set for an A anyways.

    The wording on the questions can be confusing, but it doesnt feel "malicious". The wording is confusing because a lot of the questions rely on setting up preconditions which are difficult to verbalize without "seeing" a game in action. They are not confusing because they are trying to be clever and trap you into the wrong answer. Regardless, i still had some wtf i knew that moments when reviewing my exam scores. but given how easy it is to ace the assignments i think it balances out overall.

    There was talk of a curve if results were poor, but i dont believe summer was curved.

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

  • Georgia Tech Student2021-07-23T19:10:55Zsummer 2021

    I really liked this class, although it was a much higher workload than advertised on OMSCentral. This is typical for summer though, so I was not surprised.

    The best part about the class are the assignments which are really interesting and really fun to implement! For example, the Fuzzy Race Car and the Prisoner Dodgeball assignments were really fun. Another thing that is really great is the professor and the TAs. I’ve had some of the best response times in OMSCS in this class as well as some of the most useful responses. These people are passionate about Games!

    On the other hand, some of the lectures could definitely be a bit dry at times and long. There are also a lot of them, so expect to be spending most of your time actually watching lectures. I prefer the format of having small, more digestible chunks like in other classes rather than 1hr+ segments. This was one place where I felt Udacity was set up a little better, and could give the sense that you were making progress. (Like books with shorter chapters) The lectures are good though, and I recommend taking notes for the exams.

    Speaking of which…at this point, I’ve only taken the midterm; the final is next week. The exam was actually pretty difficult, and despite being open notes, these are really “apply what you’ve learned” types exams. I did not do well despite getting 100% on the assignments, and it actually makes we worry that I won’t get an A in the end.

    Nevertheless, this is a good class IF you are interested in games & AI and IF you’ve had some background in things like search and graph before. More important, be familiar with a typed language like C#. If not, I recommend you get up to speed on these things. I also recommend getting ahead in the first week, especially in terms of lectures. This class definitely felt front-loaded and I could see where the previous comment's reviewer felt overwhelmed. It gets better and its really not that bad!

    Overall, take this class if the subject matter interests you. Its not terribly hard, its fun, and you will probably learn a lot!

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

  • Georgia Tech Student2021-06-04T01:13:47Zsummer 2021

    If you have taken AI (CS6601) and perhaps AI4R (CS7638) previously then you will have the necessary pre-requisites to understand the concepts needed to complete the assignments, otherwise be prepared to spend a lot of time to familiarize yourself on those topics. Due to the compressed nature of the summer session, the weekly lectures are quite long (5 to 6 hours a week on average) and there is an assignment due every week. Also if you are not familiar with Unity and C#, expect some ramp up to do. The class is quite well organized. Dr. Wilson and the TAs are very helpful. However, I found it to be a bad fit for a summer session. I ended up dropping the class due to that reason and lacking the necessary background from the AI (CS6601) class.

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

  • Georgia Tech Student2021-05-12T03:44:05Zspring 2021

    This class was extremely well run. Dr. Wilson was active in the class, as well as the TAs. The content is very interesting. I personally took it to learn more about game AI techniques as they might apply to simulation, and I found that it filled some holes that other OMCS courses don't address. The lectures ranged from boring to very interesting depending on the content, but overall I think the lectures were good and delivered what the class promised.

    Being a non-CS undergrad, it was my 8th class and the first one where I picked up a new language (C#) pretty quickly. The assignments were relatively easy and I think could be more rigorous to compare with the other high quality courses in this program (AI, Deep Learning, AI4R, GIOS). There are some navmesh and search assignments early on that utilize some comp geometry algorithms that I thought I would have learned more about by having to code them myself. The finite state machine/dynamic targeting assignment (dodgeball game) was great. The fuzzy logic assignment (race car), which may include a neural net in future semesters, was interesting and fun as well. The last assignment was on procedurally generated content, which was also fascinating, but didn't involve coding. I would have liked to have coded up some of the algorithms that were discussed in detail in lectures, like poisson disk packing, dithering, or even perlin noise.

    Dr. Wilson has plans to build on the assignments and I'm confident in future semesters this course match the other courses I've taken in the program. Overall it's a fun, interesting course if you are looking to take an easier semester without taking a semester off.

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

  • Georgia Tech Student2021-05-05T00:56:49Zspring 2021

    For being the first semester it was offered the course ran pretty well: Professor Wilson was extremely active on Piazza, assignments had clear requirements and were graded within a reasonable amount of time, and overall there were very few hiccups. You can safely ignore the recommendation to take CS6601: Artificial Intelligence first, there's very little overlap, and what does overlap is much lighter in this course than in 6601 (but take 6601 anyway if you're interested, it's a great course!)

    The course videos aren't as flashy and well produced as many of the older courses; they're just recordings of Professor Wilson talking to slides, with the occasional clip from a GDC presentation or Youtube video to enhance the content. They can be dry at times but they get the job done. Lectures were typically released in large batches of several topics worth of videos per week. It's unknown if this will continue in future semesters or if everything will be available right from the start. I found the topics covered in the second half of the class to be much more interesting than in the first half.

    There were seven homework assignments. We had one week each to complete the first few and two weeks each for the rest. For the most part these were very easy, with the assignment documentation and code templates walking through how to do most of the work. The last few assignments had some open-ended components: one involved coding logic to control a Prison Dodgeball Team, another used fuzzy logic to pilot a racecar around a randomly generated track, and the last involved procedurally generating terrain. Meeting the minimum requirements for these wasn't too time consuming, but there's a lot of potential for playing around with and customizing your solution as much as you want. Note that Professor Wilson is still working on these and there will likely be changes in future semesters.

    The exams were multiple choice, open note, open book, open internet. We were given 3 hours to complete them but I found that to be overkill; I spent a little over 1 hour on the first, and about 45 minutes on the second. Personally I found that taking good notes during the lectures and having the slides open was enough to do well without much extra preparation.

    Overall I found this class to have a low workload and minimal stress, with some of the projects actually being fun. It's a great candidate to take in the summer, pair with another course, or to just take a light semester.

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