Biblioguides
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.

Video game conceptualization
Game Design
A manual for independent developers covering all aspects related to the development cycle of a video game, from its initial creation to its publication and commercialization on virtual platforms.
A practical book that explains how to create and improve the interaction design of a video game, to make it more fun, entertaining and addictive for players.
A theoretical approach to game design, which will help you analyse them in depth and apply new methodologies and strategies to create innovative products.
A study of game design that encompasses a wide range of different disciplines. It offers question sets and other materials that should help you appreciate the cornerstones of game design and create increasingly attractive products.
A theoretical and practical approach to the creative process of game design based on examples, technical illustrations and exercises. It covers design, production, programming and visual design.
A toolkit of ideas for game designers, with solutions and ideas for solving the most common problems in the field of game design.
A guide to the skills needed for storyboarding, character and environment creation, level design, programming and testing.
This manual will teach you the basics of game design by learning specific vocabulary from the field.
A theoretical and practical manual that follows a methodology focusing on the development of games based on functionality and establishing coherent rules.
A bachelor's degree final project that encapsulates the basic theory of video game design, analyses the player experience in qualitative terms, and extracts game mechanics to apply solutions to design problems.
A practical manual for learning the essential principles of game design. You will learn how to conceptualize an idea, define the scope and structure of your project, and present and communicate it effectively.
Gain in-depth your knowledge using this manual, which will teach you to think like a designer in order to solve problems effectively and efficiently.
Terminology
A glossary of terms from the field of video game development and the Unity game engine.
A glossary of terms from the Unreal Engine.
The "video game engine" Wikipedia entry.
The English Wikipedia entry containing a glossary of terms frequently used in the video game industry.
Development tools
Game engines
Unity is one of the most popular game engines available today. It supports compilation on a wide range of platforms, and has two versions: personal and professional. It can be used to develop 2D and 3D video games.
Created by Epic Games, it is one of the most widely used free game engines by game developers. It has a high degree of portability, and is used to create 2D and 3D games in a wide variety of genres, such as shooters, MMORPG, RPG, etc.
A platform for developing 2D games aimed at novice users or those with little programming knowledge. It is used by many groups because of its versatility. It has an active community, and many free tutorials and user manuals.
Godot is a free, open-source game engine for developing 2D and 3D video games. It is compatible with a wide variety of programming languages, including GDScript, and allows compilation on a wide variety of platforms.
Stencyl allows users to create 2D video games without using code in the process thanks to its drag-and-drop system. It also enables the game to be published on multiple platforms from a single project, and allows advertisements to be embedded in them, providing a revenue stream for developers.
Amazon's open source game engine aimed at AAA game developers, with native integration with the AWS cloud. It also has good integration with the Twitch streaming platform, allowing the community to be involved live during the development of a video game.
Developed by Photon Storm, Phaser is a 2D HTML5 game engine. It uses Canvas and WebGL to render the games, which can be played on iOS, Android and native desktop applications.
Developed by Crytek, CryEngine is a cross-platform, scalable game engine that has been used to develop 3D AAA games.
LÖVE is an open-source, cross-platform game engine for developing 2D games using the Lua programming language.
RPG Maker is a program for creating 2D role-playing games with no need to know any programming language. It also features assets, a map editor and a character creation tool.
A program for creating graphic adventure games that allows you to create, test and debug your video game. No prior programming knowledge is required, and it is compatible with Windows.
Libraries and APIs
A cross-platform API for writing applications that produce 2D and 3D graphics. Developed by Silicon Graphics Incorporated, it offers significant scalability and comes with a wide range of extensions.
A Microsoft API for 3D graphics programming, compatible with Windows. It facilitates the drawing of graphic entities (polygons, textures, etc.) in any application that displays them, such as game engines.
A cross-platform API developed by Khronos Group, compatible with Windows, Android and Linux. It provides more direct control over the GPU, and its CPU consumption is much lower than its competitors.
Official documentation
Unreal Engine learning resources and useful links for video game development students.
Official Unreal Engine 4 documentation.
The learning platform for the Unity game engine, with video tutorials and other free resources.
A Spanish-language manual teaching the basics of how to use GameMaker Studio 2.
The official Wiki for the LÖVE framework, which includes tutorials, configuration files, modules, games, libraries and other resources of interest.
Official CryEngine documentation.
Official documentation for the Amazon Lumberyard game engine.
Official documentation for the Godot Engine.
The Wiki for Stencyl, where you will find courses, guides and videos on how to use the program. You can also find sample games and access to the platform's developer centre.
Free courses
A tutorial by freeCodeCamp aimed at novice programmers focusing on video game development in the Unity engine. Some complementary assets and resources are included for putting the knowledge acquired into practice.
A playlist for novice programmers, containing 63 videos on how to develop a video game in Unity with C#.
A tutorial aimed at beginners where you will learn everything you need to know to develop a video game: from installing the engine to creating worlds and scenarios using Blueprints.
Find out how to develop video games in Unreal Engine using the C++ language in this tutorial aimed at beginners.
An official Amazon Training and Certification technical course which will teach you the concepts you need to build video games in Amazon Lumberyard.
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.
A book that solves the common problems that arise in C++, aimed at both novice and experienced programmers.
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.
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.
Increase your knowledge of C# through case studies.
A reference guide in which you will find answers to the most common questions about C# 9.0.
Apply
A guide for programmers or inexperienced users that explains.
Learn the basic concepts of artificial intelligence with Unity and C#.
Learn the fundamentals of C# by creating games in Unity with exercises to put object-oriented programming into practice.
Aimed at independent developers looking to learn how to develop 2D video games in Unity with C#.
LUA
Learn
Learn the concepts you need to get started programming with Lua quickly.
Learn Lua from scratch without any prior programming knowledge.
Apply
Build APIs with Lua and C to customize your applications and video games.
Introductory manual for creating 3D video games with the Amazon Lumberyard game engine using Lua.
Programming manuals
Learn how to create video games with practical examples of increasing difficulty in Unreal Engine 4.
A practical manual which will teach you how to develop video games for Android using the Unity game engine.
An advanced level guide on how to develop online games using JavaScript and HTML.
Learn the basics of video game development with Python in PyGame.
Create fun video games while learning to code with this manual which focuses on developing them in Pygame Zero.
Find out how to develop 2D video games using only HTML5, CSS and JavaScript.
A manual aimed at developers who want to migrate from Unity to Godot - an open-source, cross-platform game engine.
Game architecture
A book on how to design levels in 2D, 3D and multiplayer video games. Theoretical knowledge about architecture and spatial experience is introduced and applied in a practical way to ensure memorable user experiences.
An open-source tool for creating interactive, non-linear stories with variables, logical conditionals, CSS and JavaScript. The projects are published in HTML, and can be used commercially free of charge.
Art and video games
Image
Buy and download free 2D and 3D assets of people and animals for your video games.
A collection of different types of 3D models that will save you time during the game development process. Some of them are animated or specially designed for specific software.
A bank of different types of digital objects to incorporate into your video game: images, sounds, textures, etc.
They can be used in commercial projects as long as the terms of the licence are complied with.
A marketplace for high-quality and affordable digital objects for indie game developers. You can download assets in 2D, 3D, audio, icons, fonts, etc.
Download and buy textures for your video games, which are essential for creating alternate-world scenarios.
The official Unity asset store. You will find tools, audio, add-ons, special effects and templates in 3D and 2D for the popular game engine.
Download free 2D, 3D, audio and UI assets under a CC0 1.0 Universal licence for your personal and commercial projects.
A portal to purchase video game assets built using the Construct 2 and Construct 3 engines.
Audio
A sound bank containing recordings, samples, clips, etc. which can be downloaded for free under a Creative Commons licence, allowing them to be reused.
A portal for buying music for indie video games, which acts as a meeting point for musicians and video game developers.
A website where sound clips can be downloaded free of charge and without royalties.
A sound library containing over 19,000 tracks available for free download. Royalty-free music is also available at no cost.
A digital archive with royalty-free music free of charge. You can search by genre, or purchase tracks made by independent artists.
Manuals
An introduction to the basic technical principles of sound in video games and multimedia resources using Unity.
Enhance and expand your knowledge of sound techniques applied to video games.
Find out about methods and techniques for designing immersive experiences from scratch.
A masterclass from award-winning video game music composer Chance Thomas, in which he explains the skills needed to succeed.
Learn the basics of creating environments in Blender 3D, from texture design to placement.
An introduction to playing sounds and music for your video games in the GameMaker game engine.
An introduction to the creation of quality audio pieces for AAA video games in Unity. It explains the basic concepts in development and implementation for creating spatial sound, effects, dialogue, etc.
A course aimed at teaching sound designers and composers how to create and implement immersive audio pieces for your video games.
Unreal Engine official documentation on the integration of audio into projects.
Unreal Engine official documentation on the integration of multimedia objects into projects.
Video game commercialization
App stores
A help portal for developers providing information on how to submit applications to the App Store.
The Google Play information portal with tips and links to tutorials to improve the quality of applications developed, and how to publish them.
A help portal for developers providing information on how to submit applications to the Amazon Appstore.
Video game portals
A portal with resources and services developed for publishing and making your game operable on the Steam platform.
The form to submit a video game to the GOG distribution platform.
Link to the Humble Bundle developer portal.
Video game platforms
The Epic Games Store game publishing portal.
The PlayStation Partners Program, aimed at developers looking to self-publish their game.
The Xbox Creators Programme, aimed at students and industry professionals.
The Nintendo eShop developer portal.
Asset publishing
Guidelines for the Unreal Engine asset marketplace, where you can publish and sell your digital creations.
Guidelines for the Unity asset store, where you can publish and sell your digital creations.
Mentors of this biblioguide
Lis Balcells
Operative subgroup: Librarian for Computer Science, Multimedia and Telecommunications, vocational training Operative group: Library for Learning