Learn basics of GameDev
Game Development section on Livecoding.tv is created to help all game developers to get the basics, choose the best game engine and search for specific topics/answers about video game development. Our game dev guide is written for all difficulty levels and contains data about next game engines: Unity, Cocos2d, Adobe AIR and Unreal Engine. Here you find information about 3D game programming, advanced technologies and trends in the world of game development. Huge collection of game dev videos,
Introduction to Game Development (Reference)
There are several free game engines out there that have the features you need to create your game, but the question is which one should you choose? To help you decide, we’ve given you a rundown of four of the most powerful engines out there so you can compare and see which one fits your needs.
Over the past several years there have been many powerful game engines released to the public, giving the chance for aspiring independent developers to create the game they’ve always had in their minds. The most popular game engines are Unity, Unreal Engine 4 and CryENGINE. All three of these are extremely powerful game engines and each one has their strong areas. In order to help determine which one works best for your project, you need to ask yourself what type of game you plan on making. Is it a first-person shooter (FPS)? A mobile game? Is it going to be 2D or 3D?
If you’re planning on releasing this game and selling it for any amount of money, you need to weigh the different licensing fees for each engine to determine which best fits in your budget. While these four engines are relatively cheap, as soon as you are ready to sell your game there are licensing fees, royalties, or both that you must pay.
Video game development is the process of creating a video game. Development is undertaken by a game developer, which may range from one person to a large business. Traditional commercial PC and console are normally funded by a publisher and take several years to develop. Indie games can take less time and can be produced cheaply by individuals and small developers. The indie game industry has seen a rise in recent years with the growth of new online distribution systems and the mobile game market.
The first video games were developed in the 1960s, but required mainframe computers and were not available to the general public. Commercial game development began in the 1970s with the advent of first generation video game consoles and home computers. Due to low costs and low capabilities of computers, alone programmer could develop a full game. However, approaching the 21st century, ever-increasing computer processing power and heightened consumer expectations made it difficult for a single developer to produce a mainstream console or PC game.
The average cost of producing a video game slowly rose from US$1–4 million in 2000 to over $5 million in 2006, then to over $20 million by 2010. Mainstream PC and console games are generally developed in phases. First, in pre-production, pitches, prototypes, and game design documents are written. If the idea is approved and the developer receives funding, a full-scale development begins. This usually involves a 20–100 person team of various responsibilities, such as designers, artists, programmers, testers, etc.
Game Development History (Reference)
The history of game making begins with the development of the first video games, although which video game is the first depends on the definition of video game. The first games created had little entertainment value, and their development focus was separate from user experience—in fact, these games required mainframe computers to play them. OXO, written by Alexander S. Douglas in 1952, was the first computer game to use a digital display. In 1958, a game called Tennis for Two, which displayed its output on an oscilloscope, was made by Willy Higinbotham, a physicist working at the Brookhaven National Laboratory. In 1961, a mainframe computer game called Spacewar! was developed by a group of Massachusetts Institute of Technology students led by Steve Russell.
True commercial design and development of games began in the 1970s, when arcade video games and first-generation consoles were marketed. In 1971, Computer Space was the first commercially sold, coin-operated video game. It used a black-and-white television for its display, and the computer system was made of 74 series TTL chips. In 1972, the first home console system was released called Magnavox Odyssey, developed by Ralph H. Baer. That same year, Atari released Pong, an arcade game that increased video game popularity. The commercial success of Pong led other companies to develop Pong clones, spawning the video game industry.
Programmers worked within the big companies to produce games for these devices. The industry did not see huge innovation in game design and a large number of consoles had very similar games. Many of these early games were often Pong clones. Some games were different, however, such as Gun Fight, which was significant for several reasons: an early 1975 on-foot, multi-directional shooter, which depicted game characters, game violence, and human-to-human combat. Tomohiro Nishikado's original version was based on discrete logic, which Dave Nutting adapted using the Intel 8080, making it the first video game to use a microprocessor. Console manufacturers soon started to produce consoles that were able to play independently developed games, and ran on microprocessors, marking the beginning of second-generation consoles, beginning with the release of the Fairchild Channel F in 1976.
The flood of Pong clones led to the video game crash of 1977, which eventually came to an end with the mainstream success of Taito's 1978 arcade shooter game Space Invaders, marking the beginning of the golden age of arcade video games and inspiring dozens of manufacturers to enter the market. Its creator Nishikado not only designed and programmed the game, but also did the artwork, engineered the arcade hardware, and put together a microcomputer from scratch, It was soon ported to the Atari 2600, becoming the first "killer app" and quadrupling the console's sales. At the same time, home computers appeared on the market, allowing individual programmers and hobbyists to develop games. This allowed hardware manufacturer and software manufacturers to act separately. A very large amount of games could be produced by single individuals, as games were easy to make because graphical and memory limitation did not allow for much content. Larger companies developed, who focused selected teams to work on a title. The developers of many early home video games, such as Zork, Baseball, Air Warrior, and Adventure, later transitioned their work as products of the early video game industry.
"I wouldn't recommend [designing computer games] for someone with a weak heart or a large appetite." - Jon Freeman, 1984
The industry expanded significantly at the time, with the arcade video game sector alone (representing the largest share of the gaming industry) generating higher revenues than both pop music and Hollywood films combined. The home video game industry, however, suffered major losses following the North American video game crash of 1983. In 1984 Jon Freeman warned in Computer Gaming World:
Q: Are computer games the way to fame and fortune?
A: No. Not unless your idea of fame is having your name recognized by one or two astute individuals at Origins ... I've been making a living (after a fashion) designing games for most of the last six years. I wouldn't recommend it for someone with a weak heart or a large appetite, though.
Chris Crawford and Don Daglow in 1987 similarly advised prospective designers to write games as a hobby first, and to not quit their existing jobs early. The home video game industry was revitalized soon after by the widespread success of the Nintendo Entertainment System.
By 1987 a video game required 12 months to develop and another six to plan marketing. Projects remained usually solo efforts, with single developers delivering finished games to their publishers. With the ever-increasing processing and graphical capabilities of arcade, console and computer products, along with an increase in user expectations, game design moved beyond the scope of a single developer to produce a marketable game in a reasonable time. This sparked the beginning of team-based development. In broad terms, during the 1980s, pre-production involved sketches and test routines of the only developer. In the 1990s, pre-production consisted mostly of game art previews. In the early 2000s, pre-production usually produced a playable demo.
In 2000 a 12 to 36 month development project was funded by a publisher for US$1M–3M. Additionally, $250k–1.5M were spent on marketing and sales development. In 2001, over 3000 games were released for PC; and from about 100 games turning profit only about 50 made significant profit. In the early 2000s it became increasingly common to use middleware game engines, such as Quake engine or Unreal engine.
In the early 2000s, also mobile games started to gain popularity. However, mobile games distributed by mobile operators remained a marginal form of gaming until the Apple App Store was launched in 2008.
In 2005, a mainstream console video game cost from US$3M to $6M to develop. Some games cost as much as $20M to develop. In 2006 the profit from a console game sold at retail was divided among parties of distribution chain as follows: developer (13%), publisher (32%), retail (32%), manufacturer (5%), console royalty (18%). In 2008 a developer would retain around 17% of retail price and around 85% if sold online.
Since the third generation of consoles, the home video game industry has constantly increased and expanded. The industry revenue has increased at least five-fold since the 1990s. In 2007, the software portion of video game revenue was $9.5 billion, exceeding that of the movie industry.
The Apple App Store, introduced in 2008, was the first mobile application store operated directly by the mobile platform holder. It significantly changed the consumer behaviour more favourable for downloading mobile content and quickly broadened the markets of mobile games.
In 2009 games market annual value was estimated between $7–30 billion, depending on which sales figures are included. This is on par with films box office market. A publisher would typically fund an independent developer for $500k–$5M for a development of a title. In 2012, the total value had already reached $66,3 billion and by then the video game markets were not anymore dominated by console games. According to Newzoo, the share of MMO's was 19.8%, PC/MAC's 9.8%, tablets' 3.2%, smartphones 10.6%, handhelds' 9.8%, consoles' only 36.7% and online casual games 10.2%. The fastest growing market segments being mobile games with an average annual rate of 19% for smartphones and 48% for tablets.
In the past several years, many developers opened and many closed down. Each year a number of developers are acquired by larger companies or merge with existing companies. For example, in 2007 Blizzard Entertainment's parent company, Vivendi Games merged with Activision. In 2008 Electronic Arts nearly acquired Take-Two Interactive. In 2009 Midway Games was acquired by Time-Warner and Eidos Interactive merged with Square Enix.
Game Development Tools (Reference)
According to our survey, a surprisingly high 29% of games developers are primarily building their apps without a third party engine. They have either written their own engines, or are building everything from scratch. Large games studios very often build their own engines and tools, or customise open source solutions to suit their own internal processes and workflow. However, two of the most popular developer segments going for this option are Hobbyists and Explorers. It doesn’t make much sense for part-time game developers, or even small studios, to spend a lot of time working on their own tools rather than building games. In this post I’ll take a look at some of the most popular tools they could be using instead. Below are some of the major game development tools available online.
- Unity – the people’s champion! As developer tools go, Unity is incredibly successful. A massive 47% of developers in our survey use Unity for some of their projects and 29% use it as their primary development tool. This is not just Hobbyists taking advantage of the free licensing options, Unity is more popular with professionals in general and most popular with the Hunters (53% of them) who are trying to earn their living from the app stores.
3D and 2D game engine Unity supports both 2D & 3D game development, which is quite unusual for a game engine. That said, Unity was really designed for 3D games with 2D support bolted on afterwards; the 2D features were initially just for building menus and other 2D screens needed in a 3D game, to avoid the need for an external tool. The features were quite generic and developers started building games with them; probably due to the broad cross-platform support. To their credit, Unity have supported this and continue to invest in the area.
Pros Unity has a lot of great features:
Unity has a very strong community of asset and plugin creators – there’s lots of free and reasonable priced content available.
Unity’s visual editing tools are excellent and the editor can be extended with plugins.
It supports a wide range of asset formats and converts automatically to optimal formats for the target platform.
It supports a very wide range of platforms, mobile, desktop, web and console.
Deployment to multiple platforms is very easy to manage.
The 3D engine produces high quality results without any complex configuration (I’ve personally written a licensed game with Unity that Apple has featured in lots of countries).
There is a free license that covers the majority of features.
Paid licenses are very affordable for most professional developers, available on subscription for $75 per platform currently (some platforms are free).
Cons There are a few issues which are worth considering before choosing to go with Unity:
Collaboration is difficult. Unity has an expensive asset server product to help teams collaborate. If you don’t use it, sharing code and assets between team members can be painful. The best option is to enable and use external source control but there are several binary files (which don’t need to be) that can’t be merged and updating assets often causes them to break things in scenes, losing connections to scripts and other objects.Overall, Unity is a great choice, particularly for solo developers who aren’t trying to push the limits of what the platforms can do.
Performance is not great – until very recently Unity ran almost entirely in a single thread and made almost no use of the extra cores in most mobile devices – this is improving in Unity 5. The compilers are not at all well optimised for the ARM processors in almost all mobile devices – Unity have decided to transpile to C++ and use LLVM to get a more optimised build rather than solve this problem directly in future releases.
The engine source code is not available. Even paying users don’t get to see the Unity source code, which means if you come across a bug in the engine you have to wait for them to fix it or work around it. It’s always going to be more critical for you than it is for them. This also limits the ways in which you can extend or customise the engine.
- Cocos2d – perfect for casual games Cocos2d is, as the name suggests, a 2D games engine. It originated around the same time as the iPhone SDK and quickly switched to Objective-C, growing in popularity as the best free and open source option for mobile games. However, Apple released their own highly performance optimised 2D engine for Objective-C developers called SpriteKit. That, along with the rise of Android, has caused the focus of Cocos2d development to shift towards the cross-platform Cocos2d-x branch written in C++. The Cocos2d family of engines is the most popular open source option in the world, used by 19% of game developers in our survey and by 8% as their primary tool.
Pros As with most thriving open source products, there’s a lot to like about Cocos2d:
Broad range of supported platforms, particularly mobile ones.
Free and open source (MIT license).
Wide range of extensions, tools and open source code available.
Lots of community created examples and learning resources.
Large peer support community.
Hardware accelerated graphics and good performance.
Audio support (in most versions).
Cons Nothing’s perfect, here are a few issues with Cocos2d:
There’s no large commercial entity providing support and bug fixes. It’s great that you can fix it yourself, or hire someone who knows how. The community might even fix your issue for free but sometimes when a big project hits a bug or performance issue close to a deadline you just want to be able to pay someone to make it go away.
The APIs are somewhat unorthodox. The history of the project is such that it started in Python and moved to Objective-C very early. The Objective-C wasn’t exactly following standard practices and then that got ported to C++, retaining the Objective-C idioms.
It doesn’t do much to encourage good structure. Some developers like frameworks that don’t impose a style on their apps but Cocos2d goes a bit far. It’s possible to write code that’s hard to maintain in any system but it’s easy to find examples of Cocos2d games with really long functions and a lot of global state.
OK, the cons are nit-picking and more warnings that really negative points. After all, poorly structured code and unusual APIs are not exactly barriers to success. I’ve ported a game from iOS that was written with Cocos2d (the Objective-C version, before the C++ variant existed) and almost one giant method with tens of global variables. At one time it was the number 1 paid download on iOS in several countries. Cocos2d-x is an excellent choice for a 2D game.
- Adobe AIR – what remains of Flash In 2007 Adobe seemed to be winning the casual games runtime battle, with Flash having become the defacto standard for games on the web and Flash Lite almost ubiquitous on more advanced mobile devices. Then the iPhone came along and Steve Jobs said it wasn’t going to support Flash. This knife wound wasn’t immediately fatal but Flash has been slowly bleeding to death ever since. By 2011 Adobe eventually produced a version of AIR that compiled Flash to native iOS apps but by then the damage was done. Android initially supported Flash, poorly, in the browser but Adobe eventually gave in and stopped developing the browser plugin to focus on AIR. There are still a lot of Flash developers in the world, 15% of mobile game developers use it and 6% of them as their primary tool. It’s also still, just about, the only way to target rich gaming experiences to the majority of the world’s desktop web browsers. Adobe is now focussing on tools for HTML5 developers and Flash/AIR has not really evolved in a long time. Given this background, I won’t focus on detailed technical pros and cons as with the other tools.
Pros Flash is still a capable environment for simple 2D games. If you already know Flash it’s one of the fastest ways to build a mobile game.
Cons The platform is a dead end. I couldn’t recommend anyone who doesn’t already know Flash to learn it. Those who are fans of ActionScript but don’t like HTML5 should probably look at Haxe.
- Unreal Engine 4 – the AAA king goes mass market The Unreal Engine has a long history as one of the top 3D games engines for PC and console platforms. The 3rd generation of the engine supported mobile platforms but it was really only for hobbyist developers tinkering with their limited UDK or the multi-million dollar licensees of the engine for console games porting their titles to mobile devices. In March this year, Epic Games released the Unreal Engine 4 to anyone for $19/month plus 5% revenue share. This offering includes full access to the engine source code and their suite of tools. This change was not long enough before our survey was launched to see significant adoption by developers but 13% were using it with only 3% as their primary tool.
Supported languages The Unreal Engine is written in C++ and that’s the only supported development language. However, it’s possible to do a lot of development without writing any code using Blueprints – a visual programming environment where nodes are connected with lines.
Pros The Unreal Engine is AAA game quality:
Incredible performance. The Unreal Engine was demoed using Apple’s new Metal graphics interface at WWDC. It can produce the most realistic graphics ever seen on an iOS device. The same will be true for (high end) Android devices.
They have state of the art tools for all aspects of game development.
Full source access enables extension, customisation and engine bug fixing.
The pricing model is an excellent match for the high risks of failure on the App Store.
Cons The Unreal Engine is designed for professionals:
Development is in C++, not a beginner friendly language.The Unreal Engine is an excellent option for high quality 3D games on high end mobile devices but it won’t be for everyone. I expect to see increasing adoption across the next couple of years. If you’d like a free 3D engine with scripting language support it might be worth checking out Project Anarchy by Havok. It’s effectively subsidised by Intel (owners of Havok) for mobile devices. There’s a co-marketing option in the license and you have to build an x86 variant if you build for Android (or Tizen, if that ever happens), otherwise it’s completely free, only the PC version is paid. * Apple’s SpriteKit on iOS is actually a fully functional 2D game engine but as it’s part of the platform, developers may legitimately have said they were only using native code. If this is popular then it may significantly reduce the 29% figure.
The learning curve for the tools and engine is significant, greater than Unity.
The engine has limited support for older devices.
The pricing model is very expensive for a successful title, unless you expect significant success and use the engine under a different licensing model.
Game Development Best Books
The books cover the basics of game development and beyond. Most of the books are inclined towards the general game development and not towards a particular game engine. The books mentioned below can use a particular game engine for example purposes. If you are looking for game development jobs, it is important to read the books noted below. You can also learn game development online, by watching videos available on Education Ecosystem. The books also cover basic game development software.
This book covers both the theory and practice of game engine software development, bringing together complete coverage of a wide range of topics. The concepts and techniques described are the actual ones used by real game studios like Electronic Arts and Naughty Dog. The examples are often grounded in specific technologies, but the discussion extends way beyond any particular engine or API. The references and citations make it a great jumping off point for those who wish to dig deeper into any particular aspect of the game development process.
by Frank Luna
This updated international bestseller provides an introduction to programming interactive computer graphics with an emphasis on game development using DirectX 12. The book is divided into three main parts: basic mathematical tools, fundamental tasks in Direct3D, and techniques and special effects. It shows how to use new DirectX12 features such as command lists, bundles, pipeline state objects, descriptor heaps and tables, and explicit resource management to reduce CPU overhead and increase scalability across multiple CPU cores.
"Beginning Game Programming, Third Edition" shows budding game developers how to take their game ideas from concept to reality. Requiring only a basic understanding of the C++ language, this unique guide covers all the skills needed to create 2D and 3D games using code written in DirectX.
Creating robust artificial intelligence is one of the greatest challenges for game developers, yet the commercial success of a game is often dependent upon the quality of the AI. In this book, Ian Millington brings extensive professional experience to the problem of improving the quality of AI in games. He describes numerous examples from real games and explores the underlying ideas through detailed case studies.
by Rick Parent
Driven by demand from the entertainment industry for better and more realistic animation, technology continues to evolve and improve. The algorithms and techniques behind this technology are the foundation of this comprehensive book, which is written to teach you the fundamentals of animation programming.
by Mat Buckland
Programming Game AI by Example 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.
by Scott Rogers
If you want to design and build cutting-edge video games but aren’t sure where to start, then the SECOND EDITION of the acclaimed Level Up! is for you! Written by leading video game expert Scott Rogers, who has designed the hits Pac Man World, Maximo and SpongeBob Squarepants, this updated edition provides clear and well-thought out examples that forgo theoretical gobbledygook with charmingly illustrated concepts and solutions based on years of professional experience.
by John Hattan
Welcome to "Advanced Game Programming: A GameDev.net Collection," the fourth in a series of books published in collaboration with GameDev.net, the online community where game developers worldwide can network and freely exchange information and ideas. Assembled in print for the first time, and comprised of the best advanced programming articles that have appeared on GameDev.net over the past decade, this volume features invaluable information and ideas for anyone looking to build on the foundation of their game programming knowledge.
Game Programming All in One, 3rd Edition provides a fun learning experience on how to program 2D-based games with C using the cross-platform, open-source Allegro game library. Artwork will be provided by real-world animators. Several high-quality sample games will be featured and developed. A focused and to-the-point book, it concentrates on the important tasks--building gameplay, not a graphics demo. It speaks to the aspiring game programmer who is looking to break into the game industry.
Game Development Projects (Reference)
Mario clone meaning a platformer. Kind of like Bomberman, but you broke out of a confined box. More space = more possibilities. You get to attempt to catch that scrolling screen’s edge. You get to jump. You get to jump on your enemies’ heads! Well actually you could still keep all those bombs and powerups to mix the gameplay up a bit and make it unique.
Overhead shooter – technically another platformer programming project, but turned on its side and with more firepower. It could be shoot-em-up, down, or sideways style. Mario has gotten a jet fighter, in futile hopes of taking a shortcut to another castle. Now it’s kind of like Tetris, but falling boxes have been replaced with moving tanks… or shiny polygons. Think Supersize! Think ridiculously overpowered upgrades with stunning graphical effects. Now that’s a project.
RPG – if you hate your life (and some apparently do), this obviously final year attempt at video game programming glory is likely to end badly. The game engine itself is often fairly spread out (world travel, town travel, shops, fights, etc) and requires an ungodly amount of effort. That leaves you with practically no time to design any plot or story for this project. Though some students chose to concentrate on a limited part of the game, putting together a demo segment to salvage such game design project into something more presentable.
Mazer’s Evasive Maneuvers is a very polished, multiplayer type of a space shooter. Upgrades, powerups, special weapons and abilities. In an attempt to score bonus project points, a special spaceship was designed to be unlocked just by the teacher, but I think the school had some rule about project marks being capped at 100%. Developed with Turing programming language.Explore this project!
Celestial Conquest is a MMORPG game in development by Robert Taylor and James McLean. Clearly an overkill for any high school computer class, it is also exceedingly fun to play with classmates. And yes, just like any other RPG student project, it doesn’t have a story line. Also developed with Turing programming language.Explore this project!
Game Development Community
There are tons of game development engines out there. The community for each engine differs to some extent. If you want to become the part of a particular game development community, all you need to do is go to their official game development website and search for community pages. One of the major game development community on the internet is GameDev. They offer wide range of coverage for different game engines, check it out by clicking here.
- Unity3D & CG / Unity 3D (RU): One of the biggest Unity3D & CG community in VK.com
Game Development Gurus (Reference)
There can be no greater honor in any field than to be recognized for doing something first, for painting the way for generations to come. Allan Alcorn has that honor, and though most may not recall the name as readily as a John Carmack or Shigeru Miyamoto, Alcorn did something before anyone else: he created the modern videogame (though certainly not the original video game). More specifically, he created Pong. Yeah, that Pong.Allan’s Twitter
Has had such a long and storied history with arcade games that it's hard not to love the guy's persistence. Even today, with arcades all but vanished -- and a far, far cry from where they used to be back in the early '80s heyday, where Logg first cut his teeth on games like Asteroids (which he co-developed/created with Lyle Rains), Centipede (and, by natural extension Millipede) and Gauntlet for Atari -- Logg continues to press on, or did at least until Midway finally shut down its Arcade operations completely.Ed’s Wikipedia Page
World-renowned artist Yoshitaka Amano has been making the Final Fantasy series beautiful for over two decades. His career began at the early age of 16, when he landed a job at Tatsunoku Productions where he was involved in the early anime movement. While working on anime character designs, Amano studied several different styles of illustration, ranging from early 20th century European art to the style seen in Western comic books.Yoshitaka’s Wikipedia Page
Music rhythm games are so complicated these days, what with their fake instruments and their downloadable content. Back in the day all we needed for a good rhythm game was a rapping puppy in an orange hat, and a talking onion that could teach him kung fu. And boy did Masaya Matsuura give us that! Matsuura took a concept not yet seen in videogames, combined it with the crude, yet lovable art of Rodney Greenblat, and made PaRappa the Rapper, a memorable game about hip-hopping your way through life. The game has seen a sequel, and a spiritual successor with Um Jammer Lammy.Masaya’s Wikipedia Page
While Rayman is a name now synonymous with mini-games and bunnies that have outstayed their welcome, there was a time when he was a mascot for great platformers. Michel Ancel, the creator of Rayman not only made one of the only games worth playing on the Atari Jaguar, he created a unique and charming character that went on to be in other fantastic titles. Ask any genre fan and they'll tell you -- Rayman 2: The Great Escape is one of the best 3D platformers ever. Ancel's success didn't stop with Rayman, though. He also created Beyond Good and Evil in 2003, the cult classic action/adventure title. Named one of the best games of that console generation, BG&E was critically acclaimed for its originality and immersive storyline but unfortunately bombed in sales.Michel’s Wikipedia Page