Не знаю, что там у вас за программисты, но 1 программиста на весь проект такого плана более чем достаточно. У Вас в руках мощный движок, в котором и так все есть. Все что нужно, так это прикрутить какой-нибудь сетевой движок(В крайнем случае можно и самому написать) и написать несколько второстепенных скриптов(GUI, простой AI, управление персонажем и его взаимодействие с миром) Разве что пригодился бы еще программист шейдеров, но это уже для очень специфических задач, т.к. в юнити и так есть приличный набор. А что случилось с предыдущим проектом? На форуме я нашел лишь то, что он вышел в пре-альфа версию. К тому же у вас там большая команда(21 человек) Если не доделали предыдущий проект, то зачем начинать новый? Это лишь показывает ваше несерьезное отношение к разработке. Вдруг я захочу присоединится к вам, напишу всю программную часть, а вы возьмете и забросите его через месяц? И как Вы вообще представляете хоррор с мультиплеером? Если играет минимум 2 человека, то любая страшилка представляет из себя уже не что-то пугающее, а просто неприятный или даже смешной момент. Например Left 4 Dead - атмосфера довольно мрачная и звуки там страшные, но во время игры с другими игроками там совсем не страшно. Cry Of Fear - один из самых страшных модов, но в мультиплеере становится просто смешно, когда на тебя движется какая-нибудь летающая кровать.
Сообщение отредактировал Storm54 - Суббота, 17 Мая 2014, 16:59
Увы, но C++ - это не написание красивого кода, это борьба с кодом.
Что там такого трудного? Пишешь несколько своих классов для работы со строками, файлами и т.п. и все сразу становится нормально. Или пугает работа с указателями? При правильной архитектуре приложения всякие утечки памяти и прочие проблемы попросту невозможны.
GTA ты в любом случае не осилишь. CS ты тоже наврятли осилишь, но шанс на успешное завершение проекта чуть выше. Локация, которую ты скинул - ужасна. Обычный 5-минутный труд школьника.
mlpmmo, ну, если себе поставить чётко цель то всё возможно. Года 4 назад я считал идею "своего движка" проигрышной, думал что написать свой невозможно. Ошибался. Теперь мне куда удобнее писать и использовать "своё" smile Хотя если человек не хочет прокачивать скилл программиста по-максимуму, а хочет игру, тогда да, надо брать готовые движки\конструкторы)
Если нужен 2D движок, то можно написать самому. За пару дней. Если же 3D, то лучше уж взять готовый. Свой писать долго и в большинстве случаев эти усилия не окупаются.
Как-то странно рекомендовать человеку, знающему ЯП, конструктор. Он быстрее напишет на C#, чем будет разбираться что куда перетаскивать и т.п. Если разрабатывать 2D игру, то можно взять, например, Irrlicht.
Storm54, я особо в код не вчитывался, но очень уж смахивает на реализацию однонаправленного списка. И конечно же это будет медленно работать, т.к. чтобы добраться до сотого элемента надо пройти через 99 предыдущих
Именно мне это и не нравится. Я (допустим) заплатил 1500 баксов за движок. Так ещё я должен доплачивать за асееты. Ну какие у меня варианты: купить или скрипт писать, писать и ещё раз писать. Ну хотя это ничего, если сравнивать с ценой UE4 или CE3
Раньше люди покупали голые движки без единой текстурки и мануала. Причем платили сотни тысяч баксов. Доплачивать никто не заставляет. Одно дело, если бы не была возможность создать некоторые элементы своими силами и пришлось бы доплачивать за дополнительные модули к движку. А здесь полная свобода.
Только фишка в том, что очень востребована в отдельном потоке именно работа с API Unity. Остальные вычисления в большинстве случаев мало требовательны.
Не забывайте, что реалистичная и красивая графика - немного разные вещи. В юне можно создать красивую картинку. Другое дело, что ее нельзя будет спутать с фотографией. Но вспомните, например, тот же Bioshock.
нельзя сделать постепенно выделяемый массив. В некоторых случаях это аппаратно невозможно. Так что я вижу единственный вариант решения проблемы - тот, который я описал выше.
И, насколько я знаю, чтобы добавить новый элемент в динамичееский массив Q, надо создать второй массив и скопировать туда массив, потом для Q выделить память на единицу больше, чем раньше, скопировать со второго массива и в самый конец засунуть новый элемент. По крайней мере так я понимаю работу того же std::vector. Могу ошибаться
Никогда не смотрел исходники стандартных контейнеров, но что-то мне подсказывает, что там каждый объект представляет из себя структуру, похожую на эту:
Код
struct Object { T current; Object* next; };
Получается, что каждая структура помимо своего объекта содержит еще и указатель на структуру следующего объекта. Соответственно структура, содержащая нулевой указатель на следующую структуру, является последним элементом в последовательности. При таком подходе никакого массива не требуется, а добавление нового элемента осуществляется в пару действий.
Сообщение отредактировал Storm54 - Понедельник, 12 Мая 2014, 00:30