|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.11.2017, 18:36 | #21 |
Форумчанин
Регистрация: 28.10.2017
Сообщений: 101
|
Я сделал управление клавиатурой :-)
|
16.11.2017, 21:07 | #22 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
SerEngine
Для того чтобы сделать проект его надо грамотно вести. Вначале надо определить цель. Ведь как иначе мы узнаем, чего мы достигли? Во вторых нужно ТЗ в котором будут основные параметры и критерии по которым можно будет проверить толи мы сделали или не то, что хотели. Перед разработкой ТЗ ещё происходит эскизное проектирование, когда делается первый набросок будущей программы. 1) Состав. Нужна схема деления в которой обозначить какие модули, класса и какие функции мы будем делать, а какие мы позаимствуем готовые. 2) Сроки разработки. Срок должен быть численно обоснован. Засеките время разработки одной функции и посчитайте сколько времени вам нужно на разработку всей программы. Это очень грубый расчёт. 9 беременных женщин не родят ребёнка за месяц. Поэтому вам понадобиться разбить проект на стадии и сдавать его поэтапно. Пусть будет 3 этапа. Но в каждом этапе есть вещи которые не могут быть выполнены параллельно. Поэтому что-бы с планировать вам понадобиться диаграмма Гранда. И хотя-бы знать основы проектирования описанные в книге Мифический человека месяц. 3) Отладка занимает 90% времени, чтобы снизить эти затраты применяют тестирование. Тестирование бывает разных видов. Самые простые тесты это тесты на соответствие требованиям ТЗ. Их лучше заготовить заранее - или хотя бы начать. Вторые тесты которые я бы вам рекомендовал это тесты моделирующие поведения пользователя, в вашем случае прикладного программиста который будет использовать ваш движок. Тут вам придётся нарисовать ещё один график. Рассмотрите частые задачи которые решают с использованием движка, распишите действий или последовательности. При этом вы увидите что некоторые действия повторяются и их можно объединить. Тут советую прочитать про мозговые карты. Обычно это рисуется в виде кейсов(варианты использования) Определившись с вариантами использования вы сможете расписать функциональные требования и подготовить приёмосдаточные тесты. 4) Документирование. Самодокументированный код не отменяет документирования так как есть куча скрытой информации и разные взгляды на проблему или предмет. Оно так же потребуется. На каждый класс надо будет описать общие идеи. Лучше всего исходить из принципов контрактного программирования. Если в команде каждый пишет свой модуль, то описав общие требования, общие условия к объектам вы сможете разделить работу. Как минимум так как вам интересна физика у вас будут временные рамки в которые ваш движок должен укладываться. Их тоже следует описать - диаграммы на этот раз считаю излишними. Что осталось? Осталось ещё техническая сторона. Вы должны написать реферат в котором будете сравнивать алгоритмы и структуры данных, а также шаблоны проектирования которые хотите использовать в своём проекте. ---------------------------------- Это конечно всё хорошо, но нулевой этап проектирование может затянуться надолго. Поэтому что-бы не затягивать упрощать, упрощать и ещё раз упрощать. В конце концов рефакторинг не кто не отменял. Это запланированное переписывание отдельных частей, небольшые правки реализуемые еженедельно или ежедневно с целью сохранения качества кода и недопущения его сваливания в спагетти-код. Не более 2-х циклов в функции не более 2-х if'ов, верно подобранные имена.- Лучше короткие функции, но пусть их будет много. Чем сложно читаемые портянки кода. И вообще по максимуму используйте готовый код и разнообразные утилиты.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
07.04.2018, 03:40 | #23 |
Форумчанин
Регистрация: 28.10.2017
Сообщений: 101
|
Я делаю физику
Буду этого придерживаться. Последний раз редактировалось Вадим Мошев; 22.06.2018 в 14:56. |
18.04.2018, 10:13 | #24 | ||
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Вы еще пишите этот движок? xD и по прежнему без ТЗ ищите сообщников?
Что касается схемы - то это: Цитата:
Цитата:
Ой, пара тысяч лет - это без отладки... А вообще я недавно статью про разработку игр с фреймворком Qt запилил. Есть две готовые игрушки, при этом первая написана году так в 2014. Обе на гугл плей (можно поиграть). Последняя вообще нормально играется, хотя кода там тысячи полторы строк... Нахрена оно нужно на телефоне например? Ты для какой платформы движок делаешь? Составь ТЗ, ептиль. |
||
18.04.2018, 10:19 | #25 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Да.
http://www.programmersforum.ru/showthread.php?t=318046 Ну ТЗ лучше с ними и составлять, а вот для их привлечения нужно не ТЗ, а адекватное объяснение зачем это нужно.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
18.04.2018, 12:16 | #26 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
ТЗ ЭТО сокращённо техническое задание.
Те краткое опиание тех задач которые будет решать программа.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
18.04.2018, 12:50 | #27 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Не обязательно краткое, ТЗ много что можно назвать.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
23.04.2018, 20:05 | #28 |
Форумчанин
Регистрация: 28.10.2017
Сообщений: 101
|
Первафя версия должна будет:
Загружать 3D модели форматов .obj, .xml, .x Корректно обрабатывать все события клавиатуры Перемещение моделей с помощью мыши Стандартные возможности физ-движка Сила притяжения, трения Упругость обработка мыши |
07.05.2018, 08:06 | #29 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Не так давно я статью писал по этой теме: "Разработка казуальных игр с помощью Qt Framework". Очень советую прочитать. Кстати, есть Qt3d.
Таких как ты разработчиков движков дохренище. Последний раз мне спам на эту тему (хочу писать игры, но сначала движок) присылали вчера. >> Загружать 3D модели форматов куда загружать? Это ключевой вопрос для игр. Прочитай про октодеревья. Вот тут хотя бы: http://loi.sscc.ru/gis/QuadTree/QuadTree.html. Без этой штуки (или аналога) ты не сможешь эффективно проверить что у тебя два объекта столкнулись. Например модель и пуля или модель и пол, на которой она стоит (или на который падает). Это самые азы. Дальше - освещение. Потому что нормальной игре по-любому есть куча объектов и множество источников света. То, как ты видишь поверхность зависит не только от положения поверхности и источника света, но и от положения наблюдателя. Все это твоя поделка должна уметь уже после загрузки моделей. А мышь и клавиатура - такая ерунда, что я бы на первом этапе не уделял этому внимания вообще. Да и я думаю, что такими темпами как сейчас, у тебя на вменяемую загрузку моделей уйдет лет 10. Больше пиши код, меньше рассуждай и ищи сообщников. Пока у тебя ничего кроме расплывчатой идеи нет - к тебе никто вменяемый не захочет присоединяться. |
22.06.2018, 11:19 | #30 |
Новичок
Джуниор
Регистрация: 22.06.2018
Сообщений: 2
|
Тоже пробую писать движок, скорее даже ядро для движка.
А что должно быть в ТЗ для игрового движка? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
создать движок для игры для Андроид. | Mark_Avrely | Фриланс | 2 | 17.06.2017 22:40 |
Движок для 2D игры ( выбор движка для Delphi ) | TUberwer | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 8 | 20.03.2014 18:43 |
Кто хочет принять участие в создании компютерной игры? | MaratZahidyl | Фриланс | 19 | 09.11.2011 18:55 |
Создание программы-аналога игры Кто хочет стать миллионером | s4shk4 | Помощь студентам | 28 | 04.02.2011 15:06 |