| Разработка и ромхакинг > Ромхакинг и программирование |
| какие программы использовать для создания своих игр? |
| << < (5/11) > >> |
| r57shell:
--- Цитата: HoRRoR от 27 Август 2010, 16:50:54 ---r57shell, пока не предоставишь мне написанный тобой движок, буду считать тебя клоуном. --- Конец цитаты --- Тогда я клоун, т.к. я тебе ничего не должен. Да время терять, на спор, уже надоело. Такчто сейчас вполне имею право отвечать только тем, кто спрашивает). Фаллометрией тоже заниматься не охото. |
| Mr2:
--- Цитата: HoRRoR от 27 Август 2010, 16:50:54 ---r57shell, пока не предоставишь мне написанный тобой движок, буду считать тебя клоуном. http://ru.wikipedia.org/wiki/Многопоточность В случае с OpenGL, например, во время работы GPU простаивает CPU, хотя вроде было какое-то расширение для параллельных вычислений. Поэтому разумно что-то считать в параллельном потоке. В DirectX присутствуют средства для явного распараллеливания вычислений - ты ставишь всю графику в очередь на прорисовку, запускаешь обработку GPU, выполняешь код CPU, а потом уже ждёшь завершения работы GPU, если он ещё не справился. --- Конец цитаты --- А в NES тоже используются параллельные вычисления? --- Цитата: r57shell ---Такчто сейчас вполне имею право отвечать только тем, кто спрашивает). --- Конец цитаты --- Правельный алгоритм движка я написал в посте №78? |
| УльтраБлокС:
--- Цитата ---А в NES тоже используются параллельные вычисления? --- Конец цитаты --- Нет вроде. "Парралельные вычисления" как я понимаю это технологии вроде NVidia CUDA. |
| HoRRoR:
--- Цитата ---А в NES тоже используются параллельные вычисления? --- Конец цитаты --- Да, как и везде. Отдельно PPU - видеопроцессор, отдельно pAPU - звуковой процессор. Всё это управляется с помощью CPU. --- Цитата ---Нет вроде. "Парралельные вычисления" как я понимаю это технологии вроде NVidia CUDA. --- Конец цитаты --- CUDA - это возможность использовать видеокарты не только в вычислениях графики. |
| r57shell:
--- Цитата: Mr2 от 27 Август 2010, 17:05:17 ---А в NES тоже используются параллельные вычисления? --- Конец цитаты --- Незнаю про NES - не делал ничего с ним, но вот про Genesis могу сказать что VDP работает паралельно с основным циклом, и Z80 вроде тоже. --- Цитата: Mr2 от 27 Август 2010, 17:05:17 ---Правельный алгоритм движка я написал в посте №78? --- Конец цитаты --- Эмм, всё зависит от реализации. Может в твоём случае он правильный. Самому надо тоже уметь думать. И нужно не боятся делать попытки чего-то сделать (конечно если это не про суицид :D). |
| Mr2:
--- Цитата: HoRRoR от 27 Август 2010, 17:09:24 ---Да, как и везде. Отдельно PPU - видеопроцессор, отдельно pAPU - звуковой процессор. Всё это управляется с помощью CPU. --- Конец цитаты --- --- Цитата: HoRRoR от 27 Август 2010, 17:09:24 ---Да, как и везде. Отдельно PPU - видеопроцессор, отдельно pAPU - звуковой процессор. Всё это управляется с помощью CPU. --- Конец цитаты --- Ага, ястно. То есть определённой командой данные отправляются на обработку звуковому процессору, который начинает параллельно центральному процессору обрабатывать данные.То есть всё - таки центральный процессор не может параллельно обрабатывать два цикла одновременно. Только поочерёдно. --- Цитата: r57shell от 27 Август 2010, 17:09:31 ---Эмм, всё зависит от реализации. Может в твоём случае он правильный. --- Конец цитаты --- Я про суть. По такому алгоритму пишутся движки, или как то подругому? --- Цитата: r57shell от 27 Август 2010, 17:09:31 ---Самому надо тоже уметь думать. --- Конец цитаты --- Как в анекдоте:"что тут думать сматываться надо!" |
| Kostey D.:
Mr2, иди книжку читай, я бы не советовал учить такие вещи от случайных людей с форума. |
| HoRRoR:
--- Цитата ---То есть всё - таки центральный процессор не может параллельно обрабатывать два цикла одновременно. Только поочерёдно. --- Конец цитаты --- Одно ядро не может выполнять параллельно разные потоки кода, но понятия параллельных вычислений или параллельной обработки несколько иные. Два цикла можно обрабатывать параллельно, если выполнять их по частям поочерёдно. У тебя же на компьютере выполняются параллельно десятки программ и процессов. --- Цитата: Kostey D. от 27 Август 2010, 17:33:42 ---Mr2, иди книжку читай, я бы не советовал учить такие вещи от случайных людей с форума. --- Конец цитаты --- Лучше что-нибудь проверенное, а то много нынче всяких спициалистав-песателей. По статьям и то надёжней... |
| aptyp:
Есть книги по C касательно написания игр |
| CrazyMax:
r57shell, ты о чем? Все что ты написал о "движке", ты написал о API. Движок это совсем другое, ты можешь в своем движке использовать это API. А движок - это спрайтовая систем (не просто вывод на экран, а например в объекте спрайта хранить его характеристики - id, анимацию, аффект вывода и т.д.), звук, физика, скрипты, файловая система... И ты его можешь использовать для написания не конкретной игры. Mr2, то что тебе написал HoRRoR - это главный цикл твоей игры и он пишется в "игре", а не в движке. Маленький пример: --- Цитата ---… void main_loop() { Движок->gpu->init(); Движок->audio->init(); и т.д. for (;; ) { Движок->gpu->addSprite(…); Движок->audio->loadWAV(…) Движок->gpu->draw(); If (…) Движок->audio->playSound(1); } И т.д. } --- Конец цитаты --- Незнаю, может не очень доходчиво, но где-то так :) |
| r57shell:
--- Цитата: Mr2 от 27 Август 2010, 17:31:36 ---Я про суть. По такому алгоритму пишутся движки, или как то подругому? --- Конец цитаты --- Движки пишутся по алгоритму: --- Код: ---Движок=Архитектор.ПридуматьДвижок(); while((НеРеализованное=Движок.СледуйщееНеРеализованое())!=НЕРЕАЛИЗОВАННОГО_НЕТУ) { ПолучилосьЛи=ПопробоватьРеализовать(НеРеализованное); if(ПолучилосьЛи==Невозможно) //мури (яп. невозможно) Архитектор.ПоправитьАрхитектуру(Движок); else while((Баг=НайтиБаг(Движок))!=БАГОВ_НЕТ) Пофиксить(Баг); } --- Конец кода --- ЭЭэ и даже этот бред - не правда. Алгоритм ещё более запутаннее и сложнеее. И об этом можно тоже почитать. А архитектур, ещё раз повторюсь, можно придумать 100500. Добавлено позже: CrazyMax, ты написал как использовать движок, а вопрос Mr2, я так и не могу понять. Он спрашивает как пишутся движки, а в тоже время, похоже хочет чего-то другого. Прямо надо! А про устройство движков - надо смотреть конкретный, ещё раз повторюсь. |
| Mr2:
--- Цитата: CrazyMax от 27 Август 2010, 18:36:45 ---r57shell, ты о чем? Все что ты написал о "движке", ты написал о API. Движок это совсем другое, ты можешь в своем движке использовать это API. А движок - это спрайтовая систем (не просто вывод на экран, а например в объекте спрайта хранить его характеристики - id, анимацию, аффект вывода и т.д.), звук, физика, скрипты, файловая система... И ты его можешь использовать для написания не конкретной игры. Mr2, то что тебе написал HoRRoR - это главный цикл твоей игры и он пишется в "игре", а не в движке. Маленький пример: Незнаю, может не очень доходчиво, но где-то так :) --- Конец цитаты --- Помоему ты написал то же что и я но, только выделил отдельный класс движок (Движок->gpu->draw();) ? |
| r57shell:
--- Цитата: CrazyMax от 27 Август 2010, 18:36:45 ---r57shell, ты о чем? Все что ты написал о "движке", ты написал о API. --- Конец цитаты --- Движок не API? |
| CrazyMax:
Я показал, что в твоей игре (основной программе) ты делаешь вызовы из движка. Игровой движок по сути, это библиотека универсальних функций для написания игр. Кстати, если ты собрался Battle City портировать, то тебе там движок не нужен, игра слишком простая. Добавлено позже: --- Цитата: r57shell от 27 Август 2010, 18:56:46 ---Движок не API? --- Конец цитаты --- НЕТ!!! API это тот же devkit, чтобы разработчик не заморачивался работой напрямую с железом/драйверами. Я написал раньше, чем отличается движок от API/devkit |
| r57shell:
--- Цитата: CrazyMax от 27 Август 2010, 19:00:10 ---НЕТ!!! API это тот же devkit, чтобы разработчик не заморачивался работой напрямую с железом/драйверами --- Конец цитаты --- --- Цитата ---API определяет функциональность, которую предоставляет программа (модуль, библиотека) --- Конец цитаты --- оригинал Движок - библиотека, модуль. |
| CrazyMax:
--- Цитата: r57shell от 27 Август 2010, 19:03:44 ---оригинал Движок - библиотека, модуль. --- Конец цитаты --- И? WinAPI - это тоже движок (он выводит/обрабатывает интерфейс), но тоже использует тот-же DirectX для рисования линий, точек. Анимирует кнопки, иконки и т.д. Также и игровой. Ты эму указываешь атрибуты спрайта, а он их использует - анимирует, поварачивает, проверяет коллизии и т.д. OpenGL, DirectX или любой devkit делает это? НЕТ!!! P.S. devkit железа, а сейчас начнется |
| r57shell:
Вывод: Движок API. DirectX, OpenGL, OpenAL - это всё API. |
| AjaxVS:
r57shell, классный алгоритм! :D вообще вы ерундой занимаетесь. игровой движок - это придуманное слово, которое в техническом плане может обозначать что угодно. строгого определения нет и быть не может, все зависит от конкретной задачи. ах, да: --- Цитата ---какие программы использовать для создания своих игр? --- Конец цитаты --- с++, visual basic, delphi, c#. тогда создашь _игры_. ежели выберешь гейммейкер/муген/еще_что_то_подобное, то в 99.99% случаев получится _игрулька_, похожая на тясячи остальных под авторством таких же скрипткиддис.. из нее ты не сможешь вырасти дальше как создатель игр, в лучшем случае ты будешь штамповать на своем конструкторе очередные убожества, на которые никто всерьез внимания не обратит. зато ты избавишь себя от многих часов создания собственных классов на базе DirectX, и гордо будешь говорить "я создал свою игру!!!111" (не забудь ее назвать как-нибудь поэпичнее. например, "Shining Force 6", и все равно, если там от шайнинг форса ничего нет, так многие юзеры конструкторов делают ^^). выбор всегда есть ^_^ |
| Mr2:
--- Цитата: CrazyMax от 27 Август 2010, 19:00:10 ---Я показал, что в твоей игре (основной программе) ты делаешь вызовы из движка. Игровой движок по сути, это библиотека универсальних функций для написания игр. Кстати, если ты собрался Battle City портировать, то тебе там движок не нужен, игра слишком простая. --- Конец цитаты --- Не чего я портировать не собрался. Просто сейчас занят ковырянием MK4 на PSX. Инфа о принципе работы движка мне бы была не лишней, хотя вопрос задал потому что тема подвернулась. Да и вот ещё экспереминтировать начал c 2D, и решил так сказать углУбить, и расшИрить... |
| r57shell:
--- Цитата: AjaxVS от 27 Август 2010, 19:11:22 ---вообще вы ерундой занимаетесь. игровой движок - это придуманное слово, которое в техническом плане может обозначать что угодно. строгого определения нет и быть не может, все зависит от конкретной задачи. --- Конец цитаты --- Согласен что нет строгого определения, но есть хоть смысл общепринятый). Движок чаще всего как Framework+API. Чего не прокоментировал - с тем согласен, как обычно). |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |