image

[Переклад першої частини перебуває тут.]

Успадкований код
Build — це видатний движок, а безліч ігор, які використовували його, принесли велику і заслужену славу і Кену Силверману, і 3D Realms.

Кен Силверман виконав умови договору: він надав двійковий файл приголомшливого 3D-движка з добре задокументованими методами і форматами ресурсів. Як визнання його заслуг 3D Realms вказала його ім'я в титрах як «Ken 'I can do that' Silverman» (Кен «Я можу це зробити» Силверман). Але розробка Build була зосереджена на можливостях і швидкості, а не зручність портування і читання. Після вивчення коду я думаю, що open source-розробники уникали його з наступних причин:

  • Його жахливо складно читати і отримувати з нього знання.
  • Він не був портируемым.
У цій статті я перерахував частину складнощів, з якими зіткнувся. Також я випустив порт Chocolate Duke Nukem 3D, покликаний вирішити ці проблеми. Я хотів, щоб люди запам'ятали, який рівень геніальності потрібен був для створення 3D-движка в той час. Крім того, я хотів, щоб вони усвідомили, як спонукуваний пристрастю підліток зміг внести вклад в одну найбільших ігор всіх часів.

Читати далі →

image

Пішовши з роботи в Amazon, я провів багато часу за читанням відмінного вихідного коду.

Розібравшись неймовірно чудовим кодом idSoftware я взявся за одну з кращих ігор всіх часів: Duke Nukem 3D і за її движок під назвою "Build".

Це виявився важкий досвід: сам движок має велику важливість і високо цінується за свою швидкість, стабільність і споживання пам'яті, але мій ентузіазм зіткнувся з вихідним кодом, суперечливим щодо упорядкованості, дотримання рекомендацій та коментарів/документації. Читаючи код, я багато дізнався про успадкованому коді і про те, що дозволяє програмного забезпечення жити довго.

Як звичайно, я переробив свої нотатки в статтю. Сподіваюся, вона надихне вас на читання вихідного коду і вдосконалення своїх навичок.

Читати далі →