Bir video oyunu, bir programcı tarafından oyuna konan ve daha sonra kişisel bir bilgisayar veya video oyunu sistemi tarafından yorumlanıp görüntülenen karmaşık kodlardan oluşan bir sistemdir. hepsinde farklı donanımlar bulunur ve çalışmak için farklı kodlar gerekir. Sonuç olarak, programcıların her konsol için oyunları farklı şekilde programlaması gerekir.
Video oyunu geliştiricileri, konsolun gücüne dayanan bir video oyuna dahil edilmelerine izin verilen şeylerle sınırlıdır. Konsollar iktidarda geliştikçe, özgürlük programcılarının oyun geliştirme konusundaki özgürlükleri genişletildi. Programcılar, konsolların kullandığı okunabilir medyada bulunan oda miktarıyla da sınırlıdır. Bu, Süper Nintendo Eğlence Sistemi gibi kartuş tabanlı sistemler ve hatta ilk PlayStation gibi disk okuma konsollarının ilk aşamalarında bile büyük bir problemdi.
Konsollar için geliştirilen oyunlar, bir konsolun ömrünün sonunda her zaman ellerinden gelenin en iyisini yapar. Bu, programcıların söz konusu konsol için video oyunlarını nasıl geliştireceklerini öğrenmek için daha uzun zamanlarının olmasından kaynaklanmaktadır. Yeni bir konsol her yayımlandığında, geliştiricilerin yeni konsol için video oyunları yaparken başa çıkmak zorunda oldukları bir öğrenme eğrisi vardır.