Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 16.11.2017, 19:36   #21
SerEngine
Форумчанин
 
Регистрация: 28.10.2017
Адрес: Беларусь,город брест
Сообщений: 101
Репутация: 10
По умолчанию

Я сделал управление клавиатурой :-)
SerEngine вне форума   Ответить с цитированием
Старый 16.11.2017, 22:07   #22
Pavia
Лис
Профессионал
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 1,525
Репутация: 1645
По умолчанию

SerEngine
Для того чтобы сделать проект его надо грамотно вести. Вначале надо определить цель. Ведь как иначе мы узнаем, чего мы достигли? Во вторых нужно ТЗ в котором будут основные параметры и критерии по которым можно будет проверить толи мы сделали или не то, что хотели. Перед разработкой ТЗ ещё происходит эскизное проектирование, когда делается первый набросок будущей программы.
1) Состав. Нужна схема деления в которой обозначить какие модули, класса и какие функции мы будем делать, а какие мы позаимствуем готовые.
2) Сроки разработки. Срок должен быть численно обоснован. Засеките время разработки одной функции и посчитайте сколько времени вам нужно на разработку всей программы.
Это очень грубый расчёт. 9 беременных женщин не родят ребёнка за месяц.
Поэтому вам понадобиться разбить проект на стадии и сдавать его поэтапно.
Пусть будет 3 этапа. Но в каждом этапе есть вещи которые не могут быть выполнены параллельно.
Поэтому что-бы с планировать вам понадобиться диаграмма Гранда.
И хотя-бы знать основы проектирования описанные в книге Мифический человека месяц.
3) Отладка занимает 90% времени, чтобы снизить эти затраты применяют тестирование. Тестирование бывает разных видов.
Самые простые тесты это тесты на соответствие требованиям ТЗ. Их лучше заготовить заранее - или хотя бы начать. Вторые тесты которые я бы вам рекомендовал это тесты моделирующие поведения пользователя, в вашем случае прикладного программиста который будет использовать ваш движок.
Тут вам придётся нарисовать ещё один график. Рассмотрите частые задачи которые решают с использованием движка, распишите действий или последовательности.
При этом вы увидите что некоторые действия повторяются и их можно объединить.
Тут советую прочитать про мозговые карты.
Обычно это рисуется в виде кейсов(варианты использования)

Определившись с вариантами использования вы сможете расписать функциональные требования и подготовить приёмосдаточные тесты.

4) Документирование. Самодокументированный код не отменяет документирования так как есть куча скрытой информации и разные взгляды на проблему или предмет. Оно так же потребуется. На каждый класс надо будет описать общие идеи. Лучше всего исходить из принципов контрактного программирования. Если в команде каждый пишет свой модуль, то описав общие требования, общие условия к объектам вы сможете разделить работу.

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

Что осталось? Осталось ещё техническая сторона. Вы должны написать реферат в котором будете сравнивать алгоритмы и структуры данных, а также шаблоны проектирования которые хотите использовать в своём проекте.

----------------------------------
Это конечно всё хорошо, но нулевой этап проектирование может затянуться надолго. Поэтому что-бы не затягивать упрощать, упрощать и ещё раз упрощать.
В конце концов рефакторинг не кто не отменял. Это запланированное переписывание отдельных частей, небольшые правки реализуемые еженедельно или ежедневно с целью сохранения качества кода и недопущения его сваливания в спагетти-код. Не более 2-х циклов в функции не более 2-х if'ов, верно подобранные имена.- Лучше короткие функции, но пусть их будет много. Чем сложно читаемые портянки кода.

И вообще по максимуму используйте готовый код и разнообразные утилиты.
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума   Ответить с цитированием
Старый 07.04.2018, 04:40   #23
SerEngine
Форумчанин
 
Регистрация: 28.10.2017
Адрес: Беларусь,город брест
Сообщений: 101
Репутация: 10
По умолчанию

Я делаю физику

Буду этого придерживаться.

Последний раз редактировалось Вадим Мошев; 22.06.2018 в 15:56.
SerEngine вне форума   Ответить с цитированием
Старый 18.04.2018, 11:13   #24
rrrFer
Санитар
Профессионал
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,597
Репутация: 972
По умолчанию

Вы еще пишите этот движок? xD и по прежнему без ТЗ ищите сообщников?

Что касается схемы - то это:
Цитата:
Сообщение от Pavia Посмотреть сообщение
1) Состав. Нужна схема деления в которой обозначить какие модули, класса и какие функции мы будем делать, а какие мы позаимствуем готовые.
Я бы делал это после составления ТЗ. На настоящий момент не понятно какого типа движок вообще будет - 2д/3д, будет ли там физика и т.п. Сначала определитесь что именно вы делаете, опишите функциональность, а потом уже ищите модули которые часть этой функциональности реализуют.

Цитата:
Сообщение от Pavia Посмотреть сообщение
2) Сроки разработки. Срок должен быть численно обоснован. Засеките время разработки одной функции и посчитайте сколько времени вам нужно на разработку всей программы.
Сроки... ну автор топика уже пол года потратил. Сделал какое-то управление клавиатурой (непонятно что это такое вообще и как связано с движком). Если из этого выводить сроки разработки всего движка - то уйдет пара тысяч лет, не меньше ))

Цитата:
Сообщение от Pavia Посмотреть сообщение
3) Отладка занимает 90% времени
Ой, пара тысяч лет - это без отладки...

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


Цитата:
Сообщение от SerEngine Посмотреть сообщение
Я сделал управление клавиатурой :-)
Нахрена оно нужно на телефоне например? Ты для какой платформы движок делаешь? Составь ТЗ, ептиль.
rrrFer вне форума   Ответить с цитированием
Старый 18.04.2018, 11:19   #25
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 16,969
Репутация: 3316

icq: 512-765
skype: alexp.frl
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
Вы еще пишите этот движок? xD и по прежнему без ТЗ ищите сообщников?
Да.
http://www.programmersforum.ru/showthread.php?t=318046

Ну ТЗ лучше с ними и составлять, а вот для их привлечения нужно не ТЗ, а адекватное объяснение зачем это нужно.
Alex11223 на форуме   Ответить с цитированием
Старый 18.04.2018, 13:16   #26
Smitt&Wesson
Профессионал
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Адрес: г. Киров
Сообщений: 13,995
Репутация: 622

skype: forwardbiznes
По умолчанию

Цитата:
Сообщение от SerEngine Посмотреть сообщение
что за тз?
ТЗ ЭТО сокращённо техническое задание.
Те краткое опиание тех задач которые будет решать программа.
__________________
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума   Ответить с цитированием
Старый 18.04.2018, 13:50   #27
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 16,969
Репутация: 3316

icq: 512-765
skype: alexp.frl
По умолчанию

Не обязательно краткое, ТЗ много что можно назвать.
Alex11223 на форуме   Ответить с цитированием
Старый 23.04.2018, 21:05   #28
SerEngine
Форумчанин
 
Регистрация: 28.10.2017
Адрес: Беларусь,город брест
Сообщений: 101
Репутация: 10
По умолчанию

Первафя версия должна будет:
Загружать 3D модели форматов
.obj, .xml, .x
Корректно обрабатывать все события клавиатуры
Перемещение моделей с помощью мыши
Стандартные возможности физ-движка
Сила притяжения, трения
Упругость
обработка мыши
SerEngine вне форума   Ответить с цитированием
Старый 07.05.2018, 09:06   #29
rrrFer
Санитар
Профессионал
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,597
Репутация: 972
По умолчанию

Цитата:
Сообщение от SerEngine Посмотреть сообщение
Первафя версия должна будет:
Не так давно я статью писал по этой теме: "Разработка казуальных игр с помощью Qt Framework". Очень советую прочитать. Кстати, есть Qt3d.

Таких как ты разработчиков движков дохренище. Последний раз мне спам на эту тему (хочу писать игры, но сначала движок) присылали вчера.

>> Загружать 3D модели форматов
куда загружать? Это ключевой вопрос для игр. Прочитай про октодеревья. Вот тут хотя бы: http://loi.sscc.ru/gis/QuadTree/QuadTree.html.
Без этой штуки (или аналога) ты не сможешь эффективно проверить что у тебя два объекта столкнулись. Например модель и пуля или модель и пол, на которой она стоит (или на который падает).

Это самые азы. Дальше - освещение. Потому что нормальной игре по-любому есть куча объектов и множество источников света. То, как ты видишь поверхность зависит не только от положения поверхности и источника света, но и от положения наблюдателя. Все это твоя поделка должна уметь уже после загрузки моделей. А мышь и клавиатура - такая ерунда, что я бы на первом этапе не уделял этому внимания вообще.

Да и я думаю, что такими темпами как сейчас, у тебя на вменяемую загрузку моделей уйдет лет 10. Больше пиши код, меньше рассуждай и ищи сообщников. Пока у тебя ничего кроме расплывчатой идеи нет - к тебе никто вменяемый не захочет присоединяться.
rrrFer вне форума   Ответить с цитированием
Старый 22.06.2018, 12:19   #30
Venidium
Новичок
 
Регистрация: 22.06.2018
Сообщений: 2
Репутация: 10
По умолчанию

Тоже пробую писать движок, скорее даже ядро для движка.
А что должно быть в ТЗ для игрового движка?
Venidium вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создать движок для игры для Андроид. Mark_Avrely Фриланс 2 17.06.2017 23: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 16:06


00:30.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru