Jaki był typowy zestaw narzędzi do tworzenia gier DOS? [Zamknięte]

15

Zastanawiam się, jak ludzie pisali gry DOS (takie jak Doom), nie mogę znaleźć wiele na ten temat, ale chciałbym dowiedzieć się więcej o wcześniejszych czasach tworzenia gier.

Jaki język był używany głównie?

Przypuszczam, że to był już C. Lub C ++?

Jakie IDE (lub edytory / kompilatory) były popularne?

Microsoft Visual C / C ++ (lub Microsoft C / C ++, jak myślę, że kiedyś był nazywany) nie istniał wtedy AFAIK. Więc z czego korzystali ludzie? edytować i kompilator wiersza poleceń od Intela czy coś?

Jakie interfejsy API były używane?

Co było wspólne dla gier 2D? Co z grami 3D, takimi jak Doom i Tomb Raider?

Czy jest coś jeszcze innego niż dzisiaj?

Z przyjemnością usłyszę wszelkie inne różnice, na przykład jakie formaty obrazu / dźwięku zostały użyte.

futlib
źródło
Jestem całkiem pewien, że zamierzałeś przeprowadzić badania tego zadania klasowego. Być może gdcvault.com/play/1014627/Classic-Game-Postmortem może dać ci początek.
Daniel Carlsson,
To nie zadanie, jestem poza szkołą. Przez jakiś czas szukałem w Google, ale nie mogłem wiele znaleźć.
futlib,
Pamiętam, jak przeczytałem notatkę jednego z facetów z ID o Watcom C ++. Borland zawsze był bardzo popularny, ponieważ ich kompilatory szalały SZYBKO. (Kiedyś przebudowywałam trzy lub cztery razy z rzędu, ponieważ nie byłam przekonana, że ​​coś się naprawdę wydarzyło.)
3Dave

Odpowiedzi:

19

Język: C był dominujący, ale C ++ był dostępny i używany.

Narzędzia deweloperskie: środowiska programistyczne obejmowały między innymi te z Borland i Watcom (prawie niespotykane dzisiaj). Zarówno Borland, jak i Watcom miały własne kompilatory i własne IDE. Borland był zdecydowanie najbardziej popularny w ogóle, choć Watcom miał reputację producenta szybszych programów, iirc.

Interfejsy API: niewiele interfejsów API istniało lub było używanych. Programowanie wideo często polegało na bezpośrednim zapisywaniu pikseli w buforze ramki VGA. Nawet gry 3D zostały zrasteryzowane programowo. Interfejs API dźwięku Milesa został użyty do dźwięku, który zawierał sterowniki wewnętrznie, ponieważ system operacyjny nie miał własnej ramy audio ani sterowników. Dane z klawiatury i myszy były ogólnie odczytywane bezpośrednio z systemu. Było kilka popularnych przedłużaczy pamięci dla trybu 32-bitowego, które były bardzo popularne i konieczne pod koniec panowania DOS-a. Na szczęście sprzęt był prosty, ale zdecydowanie był to problem w grach polegających na pisaniu tyłków, które działały na różnych urządzeniach. Biblioteki zajmujące się wszystkimi prostymi rzeczami niskiego poziomu (takimi jak SDL, SFML, GLFW itp.) Nie istniały,

Na marginesie do poprzedniego punktu, Doom nie był 3D taki, jaki znamy dzisiaj. Oznacza to, że nałożył on ogromne ograniczenia na środowiska 3D ze względu na wysoce wyspecjalizowany algorytm rasteryzacji oprogramowania, a postacie i przedmioty były jutrzankami.

Formaty plików: formaty zasobów były tak samo zastrzeżone dla silnika, jak obecnie. Niejasno pamiętam Bink'a, który był w tym czasie na wideo (co było bardzo rzadkie, zwykle tylko w sekwencjach otwierających i zamykających) i myślę, że Creative miał jakieś specjalne formaty dźwiękowe. Nie jestem pewien, jakie formaty źródłowe lub pośrednie były wówczas popularne w przypadku dźwięku lub wideo, ale TGA była dość popularna w przypadku obrazów.

Sean Middleditch
źródło
1
Wszechobecnym oprogramowaniem pośrednim, na które wielu miało licencję na audio, był Miles , który zapewniał abstrakcję sterowników dla wielu urządzeń. Jeśli nie korzystałeś z Milesa, prawdopodobnie właśnie obsługiwałeś kompatybilne Adlib lub SoundBlaster. Aby włączyć obsługę VESA na starszych kartach, niektóre gry używały UniVBE .
Lars Viklund,
Zgadza się! Dobra pamięć! :)
Sean Middleditch,
Mogę się mylić, ale uważam, że referencja, którą próbujesz podać, dotyczyła Watcom , a nie Watsona . Stworzyli doskonały kompilator C i lekki serwer SQL o nazwie Watcom SQL, poprzednik SQLite, który bardzo mi się podobał.
Bob Mc
Rzeczywiście masz rację. Moja pamięć zdecydowanie staje się coraz bardziej pomieszana w podeszłym wieku.
Sean Middleditch,
ASM był prawdopodobnie bardziej powszechny niż teraz. Trzeba było wycisnąć dodatkową wydajność, a optymalizatory kompilatora nie były tak dobre, jak teraz. To znaczy, większość nadal w C, ale silniki prawdopodobnie miały części ASM.
edA-qa mort-ora-y
4

Jako uzupełnienie postu Seana, od kiedy wspomniałeś o Doomie: istnieje ładny blog Fabiena Sanglarda, który dokonał przeglądu części kodu używanego do tworzenia Dooma (ten z 1993 roku). Recenzja jest tutaj: http://fabiensanglard.net/doomIphone/doomClassicRenderer.php

PS: Blog zawiera wiele recenzji kodu związanych z Doom / Quake i jest to przyjemna lektura dla twórców gier, aby zobaczyć, jak inni projektowali grę od podstaw

Timotei
źródło