Qual è stata la tipica toolchain per lo sviluppo di giochi DOS? [chiuso]


15

Mi chiedo come le persone scrivessero giochi DOS (come Doom), non riesco a trovare molto su questo, ma mi piacerebbe saperne di più sui primi giorni di sviluppo del gioco.

Quale lingua è stata utilizzata prevalentemente?

Presumo che fosse già C. o C ++?

Quali IDE (o editor / compilatori) erano popolari?

Microsoft Visual C / C ++ (o Microsoft C / C ++ come credo fosse chiamato) non esisteva allora AFAIK. Quindi cosa usavano le persone? modifica e un compilatore della riga di comando da Intel o qualcosa del genere?

Quali API sono state utilizzate?

Cosa era comune per i giochi 2D? Che dire dei giochi 3D come Doom e Tomb Raider?

Qualcos'altro che è diverso da oggi?

Sarei felice di sentire altre differenze, ad esempio quali formati di immagine / audio sono stati utilizzati.


Sono abbastanza sicuro che hai intenzione di fare qualche ricerca per questo compito in classe. Forse gdcvault.com/play/1014627/Classic-Game-Postmortem può darti un inizio.
Daniel Carlsson,

Non è un incarico, sono uscito da scuola / università. Ho fatto google in giro per un po 'ma non sono riuscito a trovare molto.
futlib,

Ricordo di aver letto una nota di uno dei ragazzi ID su Watcom C ++. Borland è sempre stato molto popolare perché i suoi compilatori erano FAST. (Ricostruivo tre o quattro volte di seguito perché non ero convinto che fosse realmente successo qualcosa).
3Daveva il

Risposte:


19

Lingua: C era predominante, ma C ++ era in circolazione e usato.

Strumenti di sviluppo: gli ambienti di sviluppo includevano, tra gli altri, quelli di Borland e Watcom (quasi mai ascoltati oggi). Sia Borland che Watcom avevano i loro compilatori e i loro IDE. Borland era di gran lunga il più popolare in generale, sebbene Watcom avesse la reputazione di produrre programmi compilati più velocemente, iirc.

API: esistevano o sono state utilizzate poche API. La programmazione video consisteva spesso nella scrittura diretta di pixel nel framebuffer VGA. Anche i giochi 3D sono stati rasterizzati con software. L'API audio Miles è stata utilizzata per l'audio, che includeva i driver internamente poiché il sistema operativo non aveva il proprio framework audio o driver. L'input da tastiera e mouse veniva generalmente letto direttamente dal sistema. C'erano un paio di estensori di memoria popolari per la modalità a 32 bit che erano molto popolari e necessari verso la fine del regno di DOS. L'hardware era semplice, per fortuna, ma era sicuramente un dolore nei giochi di scrittura di testa che funzionavano su una varietà di hardware. Le biblioteche per gestire tutte le semplici cose di basso livello (come SDL, SFML, GLFW, ecc.) Non esistevano,

In una nota a margine del punto precedente, Doom non era in 3D come lo conosciamo oggi. Cioè, ha imposto enormi limiti agli ambienti 3D a causa del suo algoritmo di rasterizzazione software altamente specializzato, e personaggi e oggetti erano tutti sprite.

Formati di file: i formati di asset erano proprietari del motore tanto quanto lo sono ora. Ricordo vagamente che Bink era in giro per i video (che era molto raro, generalmente solo nelle sequenze di apertura e chiusura), e penso che Creative avesse alcuni formati audio specializzati. Non sono sicuro di quali formati di origine o intermedio fossero popolari per l'audio o il video di allora, ma TGA era piuttosto popolare per le immagini.


1
L'onnipresente middleware che molti avevano concesso in licenza per l'audio era Miles , che forniva l'astrazione del driver per molti dispositivi. Se non hai utilizzato Miles, probabilmente hai semplicemente supportato le compatibilità con Adlib o SoundBlaster. Per abilitare il supporto VESA su schede legacy, alcuni giochi utilizzavano UniVBE .
Lars Viklund,

Giusto! Buona memoria! :)
Sean Middleditch il

Potrei sbagliarmi, ma credo che il riferimento che stai cercando di fare sia stato per Watcom , non per Watson . Hanno creato un eccellente compilatore C e un server SQL leggero chiamato Watcom SQL, un predecessore di SQLite, che mi è piaciuto molto.
Bob Mc

Anzi, hai ragione. La mia memoria è decisamente confusa nella mia vecchiaia.
Sean Middleditch,

L'ASM era probabilmente più comune di adesso. Avevi bisogno di ridurre le prestazioni extra e gli ottimizzatori del compilatore non erano così buoni come lo sono ora. Cioè, la maggioranza è ancora in C ma i motori probabilmente avevano pezzi ASM.
edA-qa mort-ora-y

4

A completamento del post di Sean, da quando hai menzionato Doom: c'è un bel blog di Fabien Sanglard, che ha fatto una recensione sulla parte del codice usata per fare Doom (quella del 1993). La recensione è qui: http://fabiensanglard.net/doomIphone/doomClassicRenderer.php

PS: Il blog ha molte recensioni di codice relative a Doom / Quake, ed è una buona lettura per uno sviluppatore di giochi vedere come gli altri hanno progettato un gioco da zero

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.