Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Результаты опроса: С игр какого жанра и сложности должен начинать начинающий программист?
3D Экшн, чтото крутое. 7 5.56%
С авто-мото-авиасимуляторов, футболов... 5 3.97%
С бродилок, аркад, мордобоев. 22 17.46%
С РПГ или стратегий. 18 14.29%
С логических,чёто типа Пятнашек. 80 63.49%
С квестов, с игр типа "Быки и коровы". 25 19.84%
Опрос с выбором нескольких вариантов ответа. Голосовавшие: 126. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2007, 01:24   #1
Cezar
Средний прогер
Форумчанин
 
Аватар для Cezar
 
Регистрация: 16.01.2007
Сообщений: 123
Стрелка Создаём игровой движок

Привет всем! Я сдесь новенький, и тд. и тп. Сейчас я ломаю голову над созданием собственного игрового движка. Я в этом практически не разбираюсь, и вообще в программировании новичок. Делать его я буду по такой методике: я буду просто рисовать алгоритм игры в виде иерархического дерева, потом от каждой ветки дерева будут отходить новые ветки низшего уровня, постепенно уточняя структуру программы, и так буду продолжать до такой степени, пока каждую ветку самого низшего уровня не можно будет реализовать в проге двумя-тремя строчками кода. А потом нужно будет просто затолнить все ячейки.Как вам такая методика? Сам придумал. Идея хорошая, но опыта катастрофически мало . Так что если ктото схочет присоединится или просто чтото посоветовать - я буду очень рад. Кстати, создавать буду аркаду.
Цель-набратся практического опыта, да и чтоб польза с меня какая-то была .
Присоединяйтесь. Мыло - panas_cherep@ukr.net

ЗЫ. Я пишу на Borland Pascal 7.0, но ДеЛеЛехи можно писАть на любом языке.
Cezar вне форума Ответить с цитированием
Старый 17.01.2007, 11:35   #2
Umen
Форумчанин
 
Аватар для Umen
 
Регистрация: 10.11.2006
Сообщений: 189
По умолчанию

Цитата:
я буду просто рисовать алгоритм игры в виде иерархического дерева, потом от каждой ветки дерева будут отходить новые ветки низшего уровня, постепенно уточняя структуру программы, и так буду продолжать до такой степени, пока каждую ветку самого низшего уровня не можно будет реализовать в проге двумя-тремя строчками кода. А потом нужно будет просто затолнить все ячейки.Как вам такая методика? Сам придумал
Это структурное программирование, когда большая задача разбивается на более простые и каждая из них решается отдельно, идея придумана очень давно :-)

Я когда-то пытался писать на паскале движок, если откопаю - выложу
здесь. Также писал модуль Graph для разрешения 320x200 с 256 цветами (стандартный Graph только 16 цветов поддерживает), поищу у себя.
Umen вне форума Ответить с цитированием
Старый 17.01.2007, 16:50   #3
Cezar
Средний прогер
Форумчанин
 
Аватар для Cezar
 
Регистрация: 16.01.2007
Сообщений: 123
По умолчанию

Umen, графический модуль это хорошо, но я имею ввиду игровой, а не графический движок. По-моему, игровой движок - это и графический движок, геймплей, обьектная модель самой программы, и так далее. Так что, будем писАть?
Cezar вне форума Ответить с цитированием
Старый 17.01.2007, 17:21   #4
AVer
Андрей
Форумчанин
 
Аватар для AVer
 
Регистрация: 21.11.2006
Сообщений: 457
По умолчанию

Цитата:
графический модуль это хорошо, но я имею ввиду игровой, а не графический движок. По-моему, игровой движок - это и графический движок, геймплей, обьектная модель самой программы, и так далее.
А ты хочешь игровой движок делать без графического модуля? Сам же себе противоречишь...
ICQ: 5311314
[SIGPIC][/SIGPIC]
AVer вне форума Ответить с цитированием
Старый 17.01.2007, 19:37   #5
Cezar
Средний прогер
Форумчанин
 
Аватар для Cezar
 
Регистрация: 16.01.2007
Сообщений: 123
По умолчанию

AVer, насколько я понимаю, игра - это не только графика. Графический модуль конечно должен быть, но он должен быть частью игры, как текстура в 3D моделлинге. А чтобы создать движок игры, в него нужно впихнуть такие "поддвижкИ":
Графический движок;
Геймплей;
Подпрограммы работы с памятью, клавиатурой, мышью, анимацией, движением и взаимодействием юнитов;
...
Конечно, без графического модуля невозможно создать игру, если игра не в текстовом режиме {для таких игр нужен модуль CRT}.
Нужно создать логику, алгоритм работы проги, и все выше перечисленное.
Пока просгес у меня небольшой, но я буду старатся.

ЗЫ. И всё таки, может ктото присоединится и поможет начинающему геймпрограммисту?
Cezar вне форума Ответить с цитированием
Старый 18.01.2007, 16:38   #6
Flash_
Пользователь
 
Аватар для Flash_
 
Регистрация: 19.12.2006
Сообщений: 91
По умолчанию

Я конечно далеко не профессионал, но всё же что-нибудь дельное посоветовать попытаюсь.

Во-первых, почему именно Turbo Paskal? Для создания нормальной игры, имхо, нужна графическая, многооконная IDE. Delphi, C++, Java. Или ActionScript в конце концов.=/

Во-вторых, метод написания, описанный тобою, вроде бы называется "методом нисходящего последовательного уточнения". И как верно сказал Umen - это структурное программирование. Но только этим не обойтись в любом случае. Как минимум с его помощью нельзя работать с объектами - а это самое важное в процессе написания "движка". Также не помешало бы обзавестись увесистой библиотекой функций (либо скачать готовую из сети, либо подготовить свою собственную), т.к. стандартным их набором ты не обойдешься.

И, наконец, в-третьих, определись с жанром игры и тем, что ты хочешь в ней реализовать. Проще говоря, перед тем как писать программу надо составить список целей, которые необходимо достичь в результате её написания.
Flash_ вне форума Ответить с цитированием
Старый 18.01.2007, 19:22   #7
Cezar
Средний прогер
Форумчанин
 
Аватар для Cezar
 
Регистрация: 16.01.2007
Сообщений: 123
По умолчанию

Flash_, насчет среды ты правильно отметил. Я достаточно хорошо знаю Делфи, посредственно С, и шматок Ассемблера . По-моему, лучше всего создавать простые игры на Делфи, но разработка Нормальной_игры - дело коллективное, а на Турбо/Борланд Паскале можно писать чтото подобное самому (по меркам ДОС ). Тем более, на Делфи вроде ничего серьезного не писАл, а в Турбе уже второй год сижу. О структурном программировании раньше не слышал, самому дошло как-то. Насчет жанра, то по-моему хорошим вариантом была бы бродилка, или аркада.

ЗЫ. И все же. Я не увидел ни одного ответа типа "Я ЗА, давай будем писать вместе" или "Могу помочь только советом или каким-то исходником" или "Да на... оно мне! Ерундой занимаешся!!!".
Cezar вне форума Ответить с цитированием
Старый 18.01.2007, 19:41   #8
Flash_
Пользователь
 
Аватар для Flash_
 
Регистрация: 19.12.2006
Сообщений: 91
По умолчанию

Цитата:
И все же. Я не увидел ни одного ответа типа "Я ЗА, давай будем писать вместе" или "Могу помочь только советом или каким-то исходником" или "Да на... оно мне! Ерундой занимаешся!!!".
Прочитай первое предложение моего предыдущего поста.=) Да и если конкретные вопросы появятся - кто-нибудь точно поможет. А так слишком абстрактно - так что начинай сам))
Цитата:
Тем более, на Делфи вроде ничего серьезного не писАл, а в Турбе уже второй год сижу.
На Delphi перейти не сложно: все возможности и элементы языка TP сохраняются + добавляется ОГРОМНОЕ количество новых. Так что ты ничего не теряешь, смело можешь работать в Delphi!
Цитата:
Насчет жанра, то по-моему хорошим вариантом была бы бродилка, или аркада.
Лучше всего напиши самое-самое простое, что только можно придумать. Аналог какой-нибудь игры для "Dendy" например. И уже от этого отталкивайся - добавляй почуть возможности, дополняй библиотеку функций, итд.. И опыта поприбавится, и "база" для чего-то более сложного появится.
P.S. Если графику красивой делать хочешь - учи язык шейдеров.
Flash_ вне форума Ответить с цитированием
Старый 19.01.2007, 00:39   #9
Cezar
Средний прогер
Форумчанин
 
Аватар для Cezar
 
Регистрация: 16.01.2007
Сообщений: 123
По умолчанию

Цитата:
Прочитай первое предложение моего предыдущего поста.=)
Извини, провтыкал.

Цитата:
Да и если конкретные вопросы появятся - кто-нибудь точно поможет. А так слишком абстрактно - так что начинай сам))
Нужна конкретика? ЩА!
Игру я планирую создавать так. Сначала будет три обьекта: функция которая раздаёт команды, функция которая исполняет команды и текстовое поле. Первая функция будет записывать команды в текстовое поле, вторая будет читать эти команды и обрабатывать их. В таком случае игру можно будет создавать "От фундамента до крыши". По ходу разработки будут создаватся новые команды, процедуры, типы. Например, в Эдита была записана команда СОЗДАТЬ_КАРТУ. Обработчик распознаёт эту команду и запускает функцию типа NewMap. Эта функция более низкого уровня, она с помощью дополнительных функций еще низшего уровня соответсвенно, открывает файл, читает параметры карты, выделяет память, грузит в нее все обьекты карты:спрайты, анимации, ландшафт... , возвращает адрес нового участка памяти (Pointer) и код ошибки.
Далее, если код ошибки 0, то поступает команда ИНИЦИАЛИЗИРОВАТЬ_КАРТУ, обработчик устанавливает все параметры карты.
Далее поступает команда СОЗДАТЬ_ИГРОКА... и так далее.

При таком подходе игру можно запустить, даже если она не знает ни одной команды или знает очень малое количество оных. Разработка будет сводится до банального добавления новых пунктов в CASE обработчика, а последующий апгрейд (готовой игры) это просто детская забава .
В программе я не буду использовать НИ_ОДНОЙ_СВОЕЙ_ПРОЦЕДУРЫ, буду писать только ФУНКЦИИ.
Каждая функция будет... АГА!
Также создам многостраничный текстовый редактор, в который будут записываться все события и команды, незаменимая вещь при отладке!
Итак, каждая функция будет возвращать код ошибки, который тут же будет записыватся в файл, если он не нулевой( В Турбе была хорошая функция IORESULT, а в Делфи она как называется? ).
По-моему, если писать таким методом, то коллективный кодинг станет очень удобным: один придумывает команды, структуру их взаимодействия, другой пишет функции второго, низшего уровня, два-три прогера кодят функции еще низшего - третьего уровня, еще кто-то создает геймплей, еще кто-то рисует... , легко будет находить ошибки. И слепить это все будет ну очень просто.
Как тебе такой план?
В этом посте я выклал примерно 27% своих идей поэтому поводу.

Критика принимается.

ЗЫ. Не стесняйтесь спрашивать !
Cezar вне форума Ответить с цитированием
Старый 19.01.2007, 07:32   #10
Flash_
Пользователь
 
Аватар для Flash_
 
Регистрация: 19.12.2006
Сообщений: 91
По умолчанию

Цитата:
Игру я планирую создавать так. Сначала будет три обьекта: функция которая раздаёт команды, функция которая исполняет команды и текстовое поле.
Фунукция - не объект. Но мысль твою понял.
Цитата:
Например, в Эдита была записана команда СОЗДАТЬ_КАРТУ.
Эдит - в твоём контексте это что?
Цитата:
При таком подходе игру можно запустить, даже если она не знает ни одной команды или знает очень малое количество оных.
Вот это еще не факт. Если дело до конца довести - наврядли команд мало будет.
Цитата:
Также создам многостраничный текстовый редактор, в который будут записываться все события и команды, незаменимая вещь при отладке!
В принципе, для отладки, просто в файл out.txt всё записывается. А потом читается. Если процессов ну очень много - вывод можно в несколько файлов делать.
Цитата:
другой пишет функции второго, низшего уровня, два-три прогера кодят функции еще низшего - третьего уровня
С функциями могу помочь. Только опять же таки - если это конкретные функции. Т.е. ты пишешь, что функция получает и что выдает, а я тебе пишу её код.
Цитата:
В Турбе была хорошая функция IORESULT, а в Делфи она как называется?
Вот на это, надеюсь, кто-нибудь ответит.=)
Цитата:
Как тебе такой план?
Да вроде неплохо. По крайней мере идеи есть, желание тоже. Уже неплохо.
Flash_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GLScene - игровой движок помогите установить One.Love Компоненты Delphi 10 05.01.2013 21:58
Игровой бот Ustim Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 24.07.2008 15:51
Приглашаю в игровой проект. tetris Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 08.05.2008 14:56
Игровой комп Simply-Art Компьютерное железо 7 15.02.2008 09:29