HLFX.Ru Forum Страницы (2): [1] 2 »
Показать все 16 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- OpenGL (https://hlfx.ru/forum/forumdisplay.php?forumid=7)
-- ООП или чистый C при написании движка (https://hlfx.ru/forum/showthread.php?threadid=4)


Отправлено Дядя Миша 13-10-2005 в 20:11:

ООП или чистый C при написании движка

Перемещено со старого форума
Начало обсуждения здесь


Тема популярная, примерно как споры про огл и директх.
Предлагаю подискутировать. Я лично солидарен с папой Кармаком.


Отправлено zimer 19-10-2005 в 05:03:

вот вы определитесь на каком языке пишите на плюсах или на си, а потом уже решайте как писать движок.

имхо ООП рулит =)
как уже говорил ксаерокс над современными движками работают множество людей (время одиночек ушло, на рынок промышленного программирования давно уже вылезли крупные кормпорации, так что один человек никак не справится с таким количеством работы в реальные сроки) и писать на ООП им вместе гораздо легче.

__________________
Рассыпалась соль - к ссоре.
Рассыпался сахар - к миру.
Рассыпался кокаин - к феерическим ощущениям и фантасмагорическим видениям.
Ласточки низко летают - будет дождь.
Коровы низко летают - рассыпался кокаин.


Отправлено Дядя Миша 24-10-2005 в 06:48:

Ну Кармак, как писал движки в одиночку, так и пишет - и подтверждение тому - цельное ядро двигла. Все в одном.
Хл2 писали по кусочкам - недаром он поделен на библиотеки, на каждой из которых работал какой-то конкретный разработчик.
Но тот факт, что вот такие вот товарищи могут наломать дров каждый в своем кусочке уже не вызывает оптимизма по поводу.
Кармак нам очень удачно демонстрирует сбалансированность и безглючность своих движков.
К примеру - найдите хоть один баг в первом квейке.
Я лично таких багов не знаю, а вот в том же хл1 таких багов масса - взять хотя бы тот момент, что игрок переодически застревает на лифтах и поездах - ну ведь не было этого в квейке, а вот в хл толпа разработчиков чего-то недоглядела.


Отправлено XaeroX 24-10-2005 в 07:03:

Цитата:
Автор g-cont
вот такие вот товарищи могут наломать дров каждый в своем кусочке уже не вызывает оптимизма по поводу

Ну не обязательно разбивать на кусочки-библиотеки. Есть какая-то система солюшенов в мсвс7 (или что то такое, я не особо разбирался), где коды разных людей легко интегрируются.

__________________

xaerox on Vivino


Отправлено Дядя Миша 27-10-2005 в 20:18:

XaeroX да ведь не в кусочках же дело
дело в том, что согласно старой пословице " у семи нянек дите без глазу" - так же и с движками.


Отправлено Escape 27-10-2005 в 20:33:

Лично мне - пофиг че кто и как делает. Главное, чтоб конечный продукт не страдал. Я в халфе никогда не застревал. В оригинальном сингле, в смысле. А вот в модах разных умельцев - так запросто. Надеюсь, не обижу никого, но вот мод "Городок мапперов 2" глюкавый - там в том же вагончике ступить негде. Везде тебя либо разрывает на куски, либо застреваешь, хотя в оригинальной халфе я в этом вагоне чуть ли не по потолку бегал - и нормально. Так что, имхо, это еще зависит от того, как именно делать.
Я все сказал.

З.Ы. В ХЛ2 тоже самое.


Отправлено XaeroX 28-10-2005 в 03:38:

Цитата:
Джон Кармак писал:
Я взял Quake3, удалил оттуда рендерер, написал совершенно новый рендерер на C, встроил и начал тестировать. Когда вся команда начала работать над Doom'ом мы решили все делать на C++. Все было подключено, начали писать новые куски кода. Вся остальная работа над отрисовщиком делалась на C++, но там все еще есть наследие C, которого не будет в новом движке. Там все будет построено на обмене сообщениями между объектами, а не на передаче структур. Я наполовину поменял это в Doom'е, когда вы взглянете на заголовки SDK, вы увидите симпатичные новые интерфейсы классов.


Вот, Кармак поставил точку в этом вопросе. Оказывается, ООП все же рулит!

__________________

xaerox on Vivino


Отправлено Дядя Миша 28-10-2005 в 13:16:

И его совратили
ну что тогда нам остается бедным юзверям.
придется таки юзать ооп


Отправлено zimer 31-10-2005 в 12:59:

хыхы
да и наодельные части разбивать не надо. а глюкавость зависит не от того скока человек пишут, а как они пишут.
то что не заметил один то заметит другой.
ну еще есть такие чтуки типа sourcesafe (сейфы различные) котрые лекго и просто позволяют хранить и мержить работы разных програмерров =)

__________________
Рассыпалась соль - к ссоре.
Рассыпался сахар - к миру.
Рассыпался кокаин - к феерическим ощущениям и фантасмагорическим видениям.
Ласточки низко летают - будет дождь.
Коровы низко летают - рассыпался кокаин.


Отправлено XaeroX 31-10-2005 в 13:06:

zimer А я уже намаялся с этим ООП. Очень трудно перевести в классы код, сделанный под процедуры. Когда там пара сотен глобальных переменных, и в каждом файле на них ссылаются. Замучался уже их по классам распихивать

__________________

xaerox on Vivino


Отправлено zimer 31-10-2005 в 13:23:

XaeroX дык нада было сразу на ООП пипсать, а так ты еще намучаешься

__________________
Рассыпалась соль - к ссоре.
Рассыпался сахар - к миру.
Рассыпался кокаин - к феерическим ощущениям и фантасмагорическим видениям.
Ласточки низко летают - будет дождь.
Коровы низко летают - рассыпался кокаин.


Отправлено Jumpdaphuckup! 12-11-2005 в 09:47:

Когда над проектом работает один человек, этот выбор практически ничего не решает. Просто дело привычки.
Но в случае команды разрабоччиков, тем кому привычнее линейный код, легче перейти на ооп, но не наоборот.


Отправлено 0r@ngE 02-02-2006 в 09:10:

Jumpdaphuckup! Cогласен - когда ты сам пишешь - пиши на чем удобней (мне на Сях без плюсов ( С-- ) )
А когда куча народу - ну понятно шо удобней классами и интерфейсами.

~~~~~~~~~~~~~~~~~~~~
0r@ngE


Отправлено Government-Man 06-05-2006 в 16:05:

Лично мне удобнее на функциях. Солидарен с папой Кармаком и дядей Мишей.


Отправлено BUzer 07-05-2006 в 01:40:

Не знаю, у меня как-то больше на функциях получается.. Хорошо, конечно, если удачно вворачивается какой-нибудь классик, но у меня такое редко бывает. Часто получается наоборот - думаю, дай-ка вот эту сущность выделю как класс. Поначалу все зашибись, все красивенько, потом возникает какой-нибудь трабл, и надо код дописывать и расширять. А расширения уже как-то перестают стыковаться с первоначальной концепцией сущености.. Я плюю нафиг, и потрошу написанный класс на обычные функции с глобальными переменными.
Если пытаться применить ООП к написанию рендера - какие там к черту могут быть объекты (разве что сэкономить на размере кода, помещая что-то в конструкторы-деструкторы и создавая локальные переменные). А вот энтити всякие, например, очень даже неплохо укладываются в иерархию.


Временная зона GMT. Текущее время 12:04. Страницы (2): [1] 2 »
Показать все 16 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024