Помните, Кармак обещал опубликовать исходники Doom 3 после выхода Rage? Он свое слово держит: Doom 3 GPL source release/*
===========================================================================
Doom 3 GPL Source Code
Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
Это только исходники, без данных. Данные можно взять из самой игры.
Из-за юридических проблем ему пришлось убрать оттуда кусок кода, известный как Carmack's Reverse.
Должно компиляться под Win32, Linux и MacOS.
Написано на С++, но это скорее похоже на С с классами - голые указатели, сишные массивы.
Как это обычно бывает, не все доведено до идеального состояния.qglDisableClientState( GL_NORMAL_ARRAY );
qglDisable( GL_FRAGMENT_PROGRAM_ARB );
qglDisable( GL_VERTEX_PROGRAM_ARB );
// Fixme: Hack to get around an apparent bug in ATI drivers. Should remove as soon as it gets fixed.
qglBindProgramARB( GL_VERTEX_PROGRAM_ARB, 0 );
Как видно из кода, для отрисовки используется OpenGL. Почему-то в readme написано, что нужен DirectX. Непонятно. DirectX нужен для DirectInput.
Подменив данные и слегка поменяв код можно написать 3D-шутер своей мечты :-).
Quaternions and spherical trigonometry
3 дня назад
7 коммент.:
> Как видно из кода, для отрисовки используется OpenGL. Почему-то в readme написано, что нужен DirectX. Непонятно.
DirectX только для win32 сборки, вполне возможно что звук или управление.
Звук там OpenAL, так что скорее всего только ввод. Я ещё не смотрел толком, поэтому точно не скажу.
DirectInput используется. Можно посмотреть в neo/sys/win32/win_input.cpp
А мы тут как тут. :)
PVS-Studio: анализируем код Doom 3: http://habrahabr.ru/blogs/open_source/133360/
джва года ждал
Давно искал исходник, моя любимая игра. А на счет исходника столько вопросов, но не знаю кому задать:( Порекомендуйте пожалуйста кто нибудь книгу для написание игр(именно игр типа шутеров) на каком либо языке (желательно Хава или С++). Перерыл весь интернет, нет ничего полезного:(
Кто знает на чем написана марио? на то хочу написать написать его, верней под себя сделать =, финты там разные ... =)
Отправить комментарий