вот вы определитесь на каком языке пишите на плюсах или на си, а потом уже решайте как писать движок.
имхо ООП рулит =)
как уже говорил ксаерокс над современными движками работают множество людей (время одиночек ушло, на рынок промышленного программирования давно уже вылезли крупные кормпорации, так что один человек никак не справится с таким количеством работы в реальные сроки) и писать на ООП им вместе гораздо легче.
__________________
Рассыпалась соль - к ссоре.
Рассыпался сахар - к миру.
Рассыпался кокаин - к феерическим ощущениям и фантасмагорическим видениям.
Ласточки низко летают - будет дождь.
Коровы низко летают - рассыпался кокаин.
Ну Кармак, как писал движки в одиночку, так и пишет - и подтверждение тому - цельное ядро двигла. Все в одном.
Хл2 писали по кусочкам - недаром он поделен на библиотеки, на каждой из которых работал какой-то конкретный разработчик.
Но тот факт, что вот такие вот товарищи могут наломать дров каждый в своем кусочке уже не вызывает оптимизма по поводу.
Кармак нам очень удачно демонстрирует сбалансированность и безглючность своих движков.
К примеру - найдите хоть один баг в первом квейке.
Я лично таких багов не знаю, а вот в том же хл1 таких багов масса - взять хотя бы тот момент, что игрок переодически застревает на лифтах и поездах - ну ведь не было этого в квейке, а вот в хл толпа разработчиков чего-то недоглядела.
Автор g-cont вот такие вот товарищи могут наломать дров каждый в своем кусочке уже не вызывает оптимизма по поводу
Ну не обязательно разбивать на кусочки-библиотеки. Есть какая-то система солюшенов в мсвс7 (или что то такое, я не особо разбирался), где коды разных людей легко интегрируются.
Лично мне - пофиг че кто и как делает. Главное, чтоб конечный продукт не страдал. Я в халфе никогда не застревал. В оригинальном сингле, в смысле. А вот в модах разных умельцев - так запросто. Надеюсь, не обижу никого, но вот мод "Городок мапперов 2" глюкавый - там в том же вагончике ступить негде. Везде тебя либо разрывает на куски, либо застреваешь, хотя в оригинальной халфе я в этом вагоне чуть ли не по потолку бегал - и нормально. Так что, имхо, это еще зависит от того, как именно делать.
Я все сказал.
Джон Кармак писал: Я взял Quake3, удалил оттуда рендерер, написал совершенно новый рендерер на C, встроил и начал тестировать. Когда вся команда начала работать над Doom'ом мы решили все делать на C++. Все было подключено, начали писать новые куски кода. Вся остальная работа над отрисовщиком делалась на C++, но там все еще есть наследие C, которого не будет в новом движке. Там все будет построено на обмене сообщениями между объектами, а не на передаче структур. Я наполовину поменял это в Doom'е, когда вы взглянете на заголовки SDK, вы увидите симпатичные новые интерфейсы классов.
Вот, Кармак поставил точку в этом вопросе. Оказывается, ООП все же рулит!
хыхы
да и наодельные части разбивать не надо. а глюкавость зависит не от того скока человек пишут, а как они пишут.
то что не заметил один то заметит другой.
ну еще есть такие чтуки типа sourcesafe (сейфы различные) котрые лекго и просто позволяют хранить и мержить работы разных програмерров =)
__________________
Рассыпалась соль - к ссоре.
Рассыпался сахар - к миру.
Рассыпался кокаин - к феерическим ощущениям и фантасмагорическим видениям.
Ласточки низко летают - будет дождь.
Коровы низко летают - рассыпался кокаин.
zimer А я уже намаялся с этим ООП. Очень трудно перевести в классы код, сделанный под процедуры. Когда там пара сотен глобальных переменных, и в каждом файле на них ссылаются. Замучался уже их по классам распихивать
Когда над проектом работает один человек, этот выбор практически ничего не решает. Просто дело привычки.
Но в случае команды разрабоччиков, тем кому привычнее линейный код, легче перейти на ооп, но не наоборот.
Jumpdaphuckup! Cогласен - когда ты сам пишешь - пиши на чем удобней (мне на Сях без плюсов ( С-- ) )
А когда куча народу - ну понятно шо удобней классами и интерфейсами.
Не знаю, у меня как-то больше на функциях получается.. Хорошо, конечно, если удачно вворачивается какой-нибудь классик, но у меня такое редко бывает. Часто получается наоборот - думаю, дай-ка вот эту сущность выделю как класс. Поначалу все зашибись, все красивенько, потом возникает какой-нибудь трабл, и надо код дописывать и расширять. А расширения уже как-то перестают стыковаться с первоначальной концепцией сущености.. Я плюю нафиг, и потрошу написанный класс на обычные функции с глобальными переменными.
Если пытаться применить ООП к написанию рендера - какие там к черту могут быть объекты (разве что сэкономить на размере кода, помещая что-то в конструкторы-деструкторы и создавая локальные переменные). А вот энтити всякие, например, очень даже неплохо укладываются в иерархию.