Library guides
Subject: Computer science, Multimedia and TelecommunicationsVideo game development
This guide offers support materials to help you design and program your own video games. It brings together sources of information on game engines such as Unity, basic programming languages such as C++, C# and LUA, as well as places to find graphic and audio resources, and platforms where you can publish your final project.
Game programming
Programming languages
C++
Learn
Learn how to program in C++ with this guide that covers all the key aspects of this programming language. It is aimed at people with no prior knowledge.
Dmitrovic, S. (2020) Modern C++ for absolute beginners: a friendly introduction to C++ programming language and C++11 to C++20 standards. Apress. Available at: https://learning.oreilly.com/library/view/modern-c-for/9781484260470/ (Accessed: January 31, 2023).
A book that solves the common problems that arise in C++, aimed at both novice and experienced programmers.
Stephens, R., Diggins, C., Turkains, J., & Cogswell, J. (2005) C++ cookbook. O'Reilly Media, Inc. Available at: https://learning.oreilly.com/library/view/c-cookbook/0596007612/ (Accessed: January 31, 2023).
Using practical examples, you will find out how to program with C++11 and C++14 effectively to create software that is stable, efficient, portable and easy to maintain in the long term.
Apply
Learn how to create video games with C++ and Visual Studio 2019 by putting into practice several exercises with increasing difficulty.
This practical manual will teach you how to program 3D video games with C++ and to understand all the key concepts involved in the development process. Aimed at both novice and professional programmers.
Madhav, S. (2018) Game programming in C++ : creating 3D games. 1st edition. Boston: Addison-Wesley. Available at: https://learning.oreilly.com/library/view/game-programming-in/9780134598185/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
A guide for novice developers looking to apply their theoretical knowledge of C++ to create video games. However, no prior knowledge of this language is required.
Find out how to create Unreal Engine 4 games using Blueprints and C++ with this manual aimed at novice developers.
C#
Learn
Learn to think like a programmer and create your first C# programs.
Vystavel, R. (2021) C# programming for absolute beginners: learn to think like a programmer and start writing code. Berkeley, CA: Apress L. P. Available at: https://learning.oreilly.com/library/view/c-programming-for/9781484271476/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
Increase your knowledge of C# through case studies.
Albahari, J. (2021) C# 9. 0 in a nutshell : the definitive reference. Sebastopol, California: O’Reilly Media, Incorporated. Available at: https://learning.oreilly.com/library/view/c-9-0-in/9781098100957/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
A reference guide in which you will find answers to the most common questions about C# 9.0.
Albahari, J., & Albahari, B. (2021) C# 9.0 pocket reference. Sebastopol, California: O’Reilly Media, Incorporated. Available at: https://learning.oreilly.com/library/view/c-9-0-pocket/9781098101121/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
Apply
A guide for programmers or inexperienced users that explains.
Hardman, C. (2020) Game programming with Unity and C#: a complete beginner’s guide. Berkeley, CA: Apress L. P. Available at: https://learning.oreilly.com/library/view/game-programming-with/9781484256565/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
Learn the basic concepts of artificial intelligence with Unity and C#.
Cossu, S. M. (2021) Beginning game AI with Unity : programming artificial intelligence with C#. Berkeley, CA: Apress. Available at: https://learning.oreilly.com/library/view/beginning-game-ai/9781484263556/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
Learn the fundamentals of C# by creating games in Unity with exercises to put object-oriented programming into practice.
Ferrone, H. (2019) Learning C# by developing games with unity 2019 : code in C# and build 3d games with unity. 4th edition. Birmingham; Mumbai: Packt Publishing. Available at: https://learning.oreilly.com/library/view/learning-c-by/9781789532050/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
Aimed at independent developers looking to learn how to develop 2D video games in Unity with C#.
Halpern, J. (2019) Developing 2D games with Unity : independent game programming with C#. Berkeley, CA: Apress. Available at: https://learning.oreilly.com/library/view/developing-2d-games/9781484237724/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
LUA
Learn
Learn the concepts you need to get started programming with Lua quickly.
Szauer, G. (2018) Lua quick start guide : the easiest way to learn Lua programming. 1st edition. Birmingham; Mumbai: Packt Publishing. Available at: https://learning.oreilly.com/library/view/lua-quick-start/9781789343229/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
Learn Lua from scratch without any prior programming knowledge.
Jung, K. & Brown, A. (2007) Beginning Lua programming. 1st edition. Hoboken: Wrox. Available at: https://learning.oreilly.com/library/view/beginning-lua-programming/9780470069172/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
Apply
Build APIs with Lua and C to customize your applications and video games.
Neylon, T. (2017) Creating solid APIs with Lua : giving users the power to customize your game or app. 1st edition. Sebastopol, CA: O’Reilly Media. Available at: https://learning.oreilly.com/library/view/creating-solid-apis/9781491986301/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
Introductory manual for creating 3D video games with the Amazon Lumberyard game engine using Lua.
Herman, J. C. (2019) Beginning game development with Amazon Lumberyard: create 3D games using Amazon Lumberyard and Lua. Berkeley, CA: Apress L. P. Available at: https://learning.oreilly.com/library/view/beginning-game-development/9781484250730/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
Programming manuals
Learn how to create video games with practical examples of increasing difficulty in Unreal Engine 4.
Nixon, D. (2020) Beginning unreal game development foundation for simple to complex games using unreal Engine 4. 1st edition. Berkeley, CA: Apress. Available at: https://learning.oreilly.com/library/view/beginning-unreal-game/9781484256398/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
A practical manual which will teach you how to develop video games for Android using the Unity game engine.
Takoordyal, K. (2020) Beginning Unity android game development: from beginner to pro. Berkeley, CA: Apress L. P. Available at: https://learning.oreilly.com/library/view/beginning-unity-android/9781484260029/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
An advanced level guide on how to develop online games using JavaScript and HTML.
van der Spuy, R. (2017) The advanced game developer’s toolkit create amazing web-based games with JavaScript and HTML5. 1st edition. Berkeley, CA: Apress. Available at: https://learning.oreilly.com/library/view/the-advanced-game/9781484210970/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
Learn the basics of video game development with Python in PyGame.
Kelly, S. (2016) Python, PyGame and Raspberry Pi Game Development. 1st edition. Berkeley, CA: Apress.
Create fun video games while learning to code with this manual which focuses on developing them in Pygame Zero.
Watkiss, S. (2020) Beginning game programming with Pygame Zero: coding interactive games on Raspberry Pi using Python. Berkeley, CA: Apress L. P. Available at: https://learning.oreilly.com/library/view/beginning-game-programming/9781484256503/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
Find out how to develop 2D video games using only HTML5, CSS and JavaScript.
Stuart, G. (2017) Introducing JavaScript game development: build a 2D game from the ground up. Berkeley, CA: Apress L. P. Available at: https://learning.oreilly.com/library/view/introducing-javascript-game/9781484232521/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
A manual aimed at developers who want to migrate from Unity to Godot - an open-source, cross-platform game engine.
Thorn, A. (2020) Moving from Unity to Godot: an in-depth handbook to Godot for Unity users. 1st edition. Berkeley, CA: Apress. Available at: https://learning.oreilly.com/library/view/moving-from-unity/9781484259085/?sso_link=yes&sso_link_from=Catalunya (Accessed: January 31, 2023).
Librarians responsible for this library guide
Lis Balcells
Operative subgroup: Librarian for Computer Science, Multimedia and Telecommunications, vocational training Operative group: Library for Learning