Oyunlar bir zamanlar makine dilinde yazılmıştı çünkü derleyici bulunmayan egzotik bir donanıma sahiplerdi. Donanım, C programcılarının verimli 16 bit tamsayılı matematik gibi izin verdiği özelliklerden de yoksundu.
Bir zamanlar bilinen bir donanıma yerleştiğinde, C derleyicileri kullanılabilir hale geldi ve kısa sürede tüm oyunlar C'ye yazıldı
C ++ bir zamanlar iyi bir fikir gibiydi ve bugün çoğu oyun C ++, ancak mühendisler artık C'ye dönüş hakkında mırıldanıyor ve bu gerçekten olabilir. C'deki bir oyun üzerinde çalışmayı çok isterdim ve birçok iş arkadaşı da olur. C ++ 'a oyunları geliştirdiğini düşündüğüm yeni bir özellik yok.
Görünüşe göre, bilgisayarlar birkaç yıl öncesine göre 1000 kat daha hızlı, yüksek seviyeli bir dil geliştirme süresini ($) azaltıyor, bu da C'yi eski hale getiriyor.
Bu gerçekleşmedi, çünkü oyun alıcıları donanımın 1000 kat daha iyi olduğunu biliyor ve 1000 kat daha iyi görünen ve kulağa iyi gelen bir oyun için paralarını takas etmek istiyorlar. Bu, yüksek seviyeli bir dilin kullanacağı boşluğu sistemden kaldırır.
Oyunlarda performans gereksinimleri acımasız. Yeni bir grafik çerçevesi, 33ms (veya 16ms!) Altında hatasız olarak oluşturulmalıdır. Donanımın yaptığı her şey hesaba katılmalı, böylece bu bütçe karşılanabilsin. Programcının anlayamadığı veya beklemeyeceği donanıma sahip bir şey yapan ve dil bilen herhangi bir dil bu bütçeyi karşılamayı çok zorlaştıracaktır. Bu yüksek seviyeli herhangi bir şeye karşı otomatik bir eksidir.
Oyun programcıları yalnızca düşük seviyeli bir dilde çalışmakla kalmaz, aynı zamanda üst düzey veri yapılarını ve algoritmaları da kapatır. Oyunların tipik olarak bağlantılı listeleri yoktur ve nadiren ağaç vardır. Mümkün olduğunda işaretçilerden kaçınmaya yönelik bir hareket var *. O (N) veya O (1) boşluktan daha fazla olan herhangi bir algoritma, geniş kullanım bulmama eğilimindedir.
* Bir işaretçi önbelleğin kaybolmasına neden olmazsa, neden saklamak için 32 bit harcıyorsunuz? Bir işaretçi bir önbellek özledim neden olursa, bu önbellek özledim kurtulmak en iyisi.