Здрасте... А вот и я
В общем хлобцы выручайте кто чем может...
Поступая в универ имел задачу не просто выучиться на программиста, а стать создателем наших любимый компьютерных игр.
Посему сейчас, на 3-ем курсе, хочу определиться и начать делать дипломную работу, цель которой - написать хотя бы простенький 3D движок(Комплит вершен - графика, физика, звук все в одном) с простенькой графикой, хотя бы каким-нить звуком и более-менее реалистичной физикой.
Знаю C\C++, C#, учу Java, который кажется до безумства похож С# кроме нескольких нюансов(а раньше я C# считал похожим на Java из-за тогоа что последний чуток изучал своими силами). Немного знаком с технологиями 3D, делал в свое время тачки и оружие для GTA Vice City, однако пока не знакомился даже с программированием DX-систем
Вопросов на первом этапе море - чем делать и как делать... в универе никто этим не занимался (у нас с девлопингом в стране вообще сложно, а в городе нету ни одной дев-фирмы), соответственно учиться надо как-то самому.
Первые вопросы - вообще реально ли за 2,5 года наваять такое чудо информационной техники с единомышленником-ботаном знающим Си Шарп несколько лучше меня, да любящего писать нудные, глупые, не быстродействующие тексты, структуру которых порой сложно понять?
Есть ли возможность сделать движок с использованием IDE от MS, которое зовется Visual Studio 2010, или XNA обязателен? Нужно ли присмотреться к другим IDE?
С чего начать? Т.е. - чего где почитать, разобрать, где можно найти какую-либо теорию по данному вопросу, например есть ли какая-то "типизированная и стандартизованная" структура движка или какие исходники каких движков и где можно попытаться разобрать? Вообще, как кто считает, есть ли смысл биться с этим проектом, или стоит взять за дипломную какой-то сайт?
Требования к двиглу должны быть такие -
1) из него потом можно будет сделать игру... какую-нить какого-нить жанра.
2) Графика на уровне не выше первого HL или даже 2-3 кваки (т.е. рендер, простые текстурные отражения, однако в дальнешем его можно попробывать чем-нить улучшить... ну или сделать сразу монстра с красивостями DX11, только чтоб не сложно было)
3) физика должна быть более-мение удобоваримой(см. дальше требования к дипломной)
4) движок должен поддерживать хотя бы простые звуки
5) Скорее всего понадобиться написать GUI для чего-то типа SDK по данному движку, на случай дальнейшей продажи творения сторонним девлоперам
Требования к дипломной -
1) Должна быть привязана к какой-то КОНКРЕТНОЙ организации, которая если не купит проект, то хотя бы теоретически может им заинтересоваться (не знаю, возможно идиотизм моего ВУЗа)
2) Не должна быть готовой игрой - сказали что комиссия серьезная и их игры не волнуют, должно быть что-то показывающее умения и навыки и как-то иметь практический смысл.
Как вариант было приложено после разговора с хорошим преподом, заведующим молодыми ученными ВУЗа, следующее задание:
Сделать простенький движок со, скажем так, допотопной графикой, и звуковой частью, но который может смоделировать, скажем, ДТП, т.е. сказать, что при столкновении авто с такой-то геометрией, массой, скоростью и сделанной из такого материала с другой авто и теми же параметрами каждая из машин проедет(пролетит, просунется и т.д.) во так вот и так вот, расстояния от место столкновения такое-то. И все это, естес-но должен смоделировать и показать. Данной прогой может заинтересоваться вполне конкретная организация (ГИББД) и она имеет определенный смысл - мы построим достаточно правдоподобную модель произошедшего, позволяющую решить, кто из столкнувшихся виновен в ДТП, либо какие последствия будут в случае такого удара в реальной жизни.
Мое пожелание, чтобы прога еще могла делать обратную задачу - по данным о предположительном месте столкновения, треков(следов) автомобилей она должна выстроить ситуацию за несколько секунд до столкновения и показать ее и само крушение.
Движок должен быть универсальным, т.е. данный пример с ДТП применим и, скажем, к самолетам (хоть и называться это будет летным происшествием), и к лодкам... А конкретный пример можно сделать в виде скрипта или через созданный к движку GUI-ориентированный редактор сцен(создать который тоже, соответственно жопа). Все это - дабы потом можно бы движок доработать или на его основе написать новый, с хорошей графикой, который можно использовать для создания какой-нить игры...
Ну и главный вопрос - с чего начать?