DOS oyun geliştirme için tipik bir araç zinciri neydi? [kapalı]


15

İnsanların DOS oyunları (Doom gibi) nasıl yazdığını merak ediyorum, bu konuda fazla bir şey bulamıyorum, ancak oyun geliştirmenin önceki günleri hakkında daha fazla bilgi edinmek isterim.

Ağırlıklı olarak hangi dil kullanıldı?

Zaten C ya da C ++ olduğunu mu sanıyorum?

Hangi IDE'ler (veya editörler / derleyiciler) popülerdi?

Microsoft Visual C / C ++ (ya da daha önce çağrıldığına inandığım gibi Microsoft C / C ++) AFAIK'tan önce yoktu. Peki insanlar ne kullandılar? düzenleme ve Intel veya bir şeyden bir komut satırı derleyici?

Hangi API'lar kullanılır?

2D oyunlar için ortak olan neydi? Doom ve Tomb Raider gibi 3D oyunlar ne olacak?

Bugünden farklı başka bir şey var mı?

Görüntü / ses formatlarının kullanıldığı gibi diğer farklılıkları duymaktan memnuniyet duyarım.


Bu sınıf ödevi için biraz araştırma yapmak istediğinizden eminim. Belki de gdcvault.com/play/1014627/Classic-Game-Postmortem size bir başlangıç ​​yapabilir.
Daniel Carlsson

Bu bir ödev değil, okuldan / üniversiteden çıkıyorum. Bir süre google yaptım ama fazla bir şey bulamadım.
futlib

Watcom C ++ hakkında bir kimlik adamından bir not okuduğumu hatırlıyorum. Borland her zaman oldukça popülerdi çünkü derleyicileri HIZLI korkutuyordu. (Eskiden üç ya da dört kez yeniden yapardım çünkü hiçbir şeyin gerçekten olduğuna ikna olmadım.)
3Dave

Yanıtlar:


19

Dil: C baskındı, ama C ++ ortadaydı ve kullanılıyordu.

Geliştirme araçları: Geliştirme ortamları arasında Borland ve Watcom'dan (günümüzde neredeyse hiç duyulmamış) olanlar vardı. Hem Borland'ın hem de Watcom'un kendi derleyicileri ve kendi IDE'leri vardı. Watland, daha hızlı derlenmiş programlar üretme konusunda bir üne sahip olmasına rağmen, Borland genel olarak en popüler olanıydı.

API'lar: Birkaç API mevcuttu veya kullanılmıştı. Video programlama genellikle pikselleri doğrudan VGA çerçeve tamponuna yazmaktan ibaretti. 3D oyun bile yazılım rasterleştirildi. Miles ses API'sı, işletim sisteminin kendi ses çerçevesi veya sürücüleri olmadığı için dahili olarak sürücüleri içeren ses için kullanıldı. Klavye ve fare girişi genellikle doğrudan sistemden okundu. DOS'un saltanatının sonuna doğru çok popüler ve gerekli olan 32 bit modu için birkaç popüler bellek genişletici vardı. Donanım neyse ki basitti, ama kesinlikle çeşitli donanımlarda çalışan popo yazma oyunlarında bir acıydı. Tüm basit düşük seviyeli şeylerle (SDL, SFML, GLFW vb.) İlgilenecek kütüphaneler yoktu,

Önceki noktaya ilişkin bir yan notta, Doom bugün bildiğimiz şekilde 3D değildi. Yani, son derece uzmanlaşmış yazılım rasterleştirme algoritması nedeniyle 3D ortamlara büyük sınırlamalar getirdi ve karakterlerin ve öğelerin hepsi jut spritelarıydı.

Dosya Biçimleri: Varlık biçimleri, şu anki gibi motora özeldir. Bink'in o zamanlar video için geri döndüğünü hatırlıyorum (genellikle sadece açılış ve kapanış dizilerinde çok nadirdi) ve Creative'in bazı özel ses formatları olduğunu düşünüyorum. O zamanlar ses veya video için hangi kaynak veya aracı formatların popüler olduğundan emin değilim, ancak TGA görüntüler için oldukça popülerdi.


1
Birçok ses için lisanslı olduğu yerde katman oldu Miles birçok cihazlar için sürücü soyutlama sağladı. Miles'ı kullanmadıysanız, muhtemelen sadece Adlib veya SoundBlaster uyumluluklarını desteklediniz. Eski kartlarda VESA desteğini etkinleştirmek için bazı oyunlar UniVBE kullandı .
Lars Viklund

Doğru! Güzel anı! :)
Sean Middleditch

Yanılıyor olabilirim, ama yapmaya çalıştığınız referansın Watson için değil Watcom için olduğuna inanıyorum . Mükemmel bir C derleyicisi ve çok sevdiğim bir SQLite öncüsü olan Watcom SQL adlı hafif bir SQL sunucusu yaptılar.
Bob Mc

Gerçekten, haklısın. Hafızam yaşlılığımda kesinlikle daha da karışıklaşıyor.
Sean Middleditch

ASM muhtemelen bundan daha yaygındı. Ekstra performansı sıkıştırmanız gerekiyordu ve derleyici optimize edicileri şu anki kadar iyi değildi. Yani, çoğunluğu hala C'de ama motorlarda muhtemelen ASM parçaları vardı.
edA-qa mort-ora-y

4

Sean'ın gönderisinin tamamlanması olarak, Doom'dan bahsettiğinizden beri: Fabien Sanglard'ın Doom'u yapmak için kullanılan kod bölümünü (1993'ten bir tane) inceleyen güzel bir blog var. İnceleme burada: http://fabiensanglard.net/doomIphone/doomClassicRenderer.php

Not: Blogda Doom / Quake ile ilgili birçok kod yorumu var ve bir oyun geliştiricisinin diğerlerinin bir oyunu nasıl sıfırdan tasarladığını görmek güzel bir okuma.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.