Games and Related
Java 2D Games Tutorial:
Online Tutorial (FREE) Example Code: Java (FREE)
This online tutorial teaches the basics of creating a 2D game in Java. Topics covered include sprites, animation, and collision detection. A variety of example games are given with line by line explanations of their code. Example games include a jigsaw puzzle game, Snake, Breakout, Tetris, Pacman, Space Invaders, Minesweeper, and Sokoban.
TheCherno's Game Programming Tutorial:
YouTube Tutorial Playlist (FREE) Example code: Java (FREE)
This YouTube playlist contains videos by TheChernoProject which describes line by line the process of creating a game in Java from scratch. Topics covered include basic game architecture, graphics and rendering, key and mouse input, tiles/sprites, building levels, animation, projectiles/particles and physics, enemies and AI, transforming sprites, and user interfacea. At the time this page was created there are 123 videos in the playlist, where the early videos are around 10-15 min. long and the later videos in the series are around 20-30 min.
Java 2D Game Development - Tips and Techniques:
(Supplementary tutorials based off TheCherno's Game Programming series)
YouTube Tutorial Playlist (FREE) Example code: Java (FREE)
This YouTube playlist containing videos by Andy Solace continues TheCherno's tutorial series with topics such as animated tiles, progressing stage levels, and saving/loading. Proper context for these videos requires watching up to around episode 110 of TheCherno's series. At the time this page was created there are 22 videos in the playlist, where the videos are around 10 min. long on average.
Programming Game AI by Example:
Book Downloadable Source Code: C++ (FREE) Downloadable Source Code: Java (FREE)
This 495 page book by Mat Buckland "provides a comprehensive and practical introduction to the 'bread and butter' AI techniques used by the game development industry, leading the reader through the process of designing, programming, and implementing intelligent agents for action games using the C++ programming language. Techniques covered include state- and goal-based behavior, inter-agent communication, individual and group steering behaviors, team AI, graph theory, search, path planning and optimization, triggers, scripting, scripted finite state machines, perceptual modeling, goal evaluation, goal arbitration, and fuzzy logic."
By navigating to the "Sample Materials" tab, one can download the source code in C++ plus executables for the examples in the book for free (one may buy the book here as well if they so wish):
Additionally, source code in Java for the book's examples is available here:
Math for Game Developers:
YouTube Lecture Playlist (FREE)
This YouTube playlist contains videos by Jorge Rodriguez covering a range of topics including vectors/matrices, quaternions, optimization, graphs/pathfinding, fragment shaders, and probabilty. At the time this page was created there are 92 videos in the playlist, where the videos are around 10 min. long on average.
Massive UE4 Tutorial Playlist:
YouTube Tutorial Playlist (FREE) Game Development Suite (FREE)
This YouTube playlist contains videos by Unreal Engine which provides complete tutorials for using the Unreal Engine 4 game development suite. This playlist covers topics such as working with the user interface, level design, blueprints, networking, materials/textures, and more. At the time this page was created there are 208 videos in the playlist, where the videos range from 5-30 min. in length.
Unreal Engine 4 is available for free here:
Machine Learning and AI
CS273a: Introduction to Machine Learning
Youtube Lecture Playlist (FREE)
This YouTube playlist by Alexander Ihler contains video lectures from University of California, Irvine's CS273a-Introduction to Machine Learning course as taught by Professor Alexander Ihler. The course covers topics such as nearest neighbor algorithms, Bayes classifiers, linear regression, decision trees, linear classifiers, support vector machines, neural networks, ensembles, and clustering. At the time this page was created there are 35 videos in the playlist, where the videos are around 10-15 min. long.
Lecture Collection | Machine Learning
Youtube Lecture Playlist (FREE)
This YouTube playlist by Stanford contains video lectures from Stanford's CS229-Machine Learning course as taught by Professor Andrew Ng. The course covers topics including supervised/unsupervised learning, reinforcement learning, adaptive control, and applications of machine learning. Some applications discussed are robotic control, data mining, autonomous navigation, bioinformatics, speech recognition, and text and web data processing. At the time this page was created there are 20 videos in the playlist, where the videos are around 1 hour 15 min. long on average.
MIT 6.034 Artificial Intelligence, Fall 2010
Youtube Lecture Playlist (FREE)
This YouTube playlist by MIT OpenCourseWare contains video lectures from MIT's 6.034-Artificial Intelligence course as taught by Professor Patrick Winston. The course covers topics such as reasoning, search, constraints, learning, representations, architectures, and probabilistic inference. At the time this page was created there are 29 videos in the playlist, where the videos are around 50 min. long on average.