0 / 0 / 0
Регистрация: 01.02.2012
Сообщений: 3
|
|
1 | |
Основы создания 2d-игр01.02.2012, 20:14. Показов 8049. Ответов 6
Метки нет (Все метки)
Собственно, давно было желание создать собственную 2д-игру, но куда копать - неизвестно. Язык - VC#.
Интересует, что/где читать по поводу: Вывод, обработка, хранение 2d-графики (openGL?) Структура данных (как хранить объекты на карте, как все это выводить, как будет обрабатываться ввод с клавиатуры, обновление карты после движения и прочая) Как все это привинтить к VC# Какие-либо готовые движки неинтересны, ибо хочется изобрести свой велосипед, поэтому только хочется знать, куда копать :3 Заранее благодарен
0
|
01.02.2012, 20:14 | |
Ответы с готовыми решениями:
6
Программы для создания игр Программа для создания игр Программа для создания игр Предлагаю объединиться для создания игр |
02.02.2012, 13:05 | 2 |
Сообщение было отмечено как решение
Решение
Спрайтовая графика + игровой цикл. По общей теории этих двух статей будет достаточно, ну а дальше вывод анимированных спрайтов, после этого начинаем разрабатывать структуру классов. Может помочь концепция универсального объекта и Объекты в играх: организация игрового цикла.
Теорию так же можно поискать на хабре и геймдеве, иногда весьма интересные статьи попадаются. Так же полезно посмотреть иерархическую структуру в существующих игровых движках, желательно так же провести сначала сравнительный анализ, на основе которого и свою структуру данных составить.
3
|
0 / 0 / 0
Регистрация: 01.02.2012
Сообщений: 3
|
|
02.02.2012, 17:00 [ТС] | 4 |
Год примерно. Матрица объектов не самый оптималный вариант, ибо, например, перебор за n^2 работает, вот я и спросил про структуру данных получше
0
|
0 / 0 / 0
Регистрация: 01.02.2012
Сообщений: 3
|
|
02.02.2012, 19:29 [ТС] | 6 |
Вот например вопрос из разряда интересующих:
Есть матрица, в ней хранятся "куски" поверхности (сплайны это называется, да?), которыми, собственно, заполняется поверхность. И есть герой, он, конечно, двигается) И как осуществляется сдвиг видимого окна? Каждое движение сдвигают координаты всех сплайнов (но это за N^2 хХ), или же заранее прогружают всю карту, а потом как-то сдвигают это самое окно, не затрачивая почти никаких ресурсов? Вот хотелось бы узнать про литературу, которая на такие вопросы отвечает
0
|
03.02.2012, 08:46 | 7 |
Сдвиг окна отображения это в любом случае перерисовка всего окна. Статические части игрового мира обычно загружают целиком (для больших размеров мира может быть очень ресурсоемким), но возможны и вариации с созданием матрицы мира. Второй подход (думаю который вас и интересует) основан на дискретизации игрового мира (т.е. все игровое поле разделяется на отдельные ячейки, каждая из которых содержит информацию о фоне, игровых тригерах, параметров физики и т.д.). Если вспомним старый добрый марио, то там очень хорошо это видно. В то же время из динамических объектов строится иерархической дерево (для связанных объектов) или одномерный массив.
Такой подход позволяет выполнять обновление состояния за (N+1)*(M+1)+K проходов, где NxM - размеры экрана в количестве элементов игровой матрицы статических объектов, которые находятся на экране в данный момент времени. K - количество динамических объектов мира, которые нужно обработать в данный момент времени (текущий игровой цикл). При размере элемента игрового мира в 20х20 px и разрешении 1024х768 потребуется 52х39=2028 операций вывода изображений на экран для статических элементов мира. PS. "Куски поверхности" это спрайты (сплайны - сглаженные линии, поверхности и т.д.).
1
|
03.02.2012, 08:46 | |
03.02.2012, 08:46 | |
Помогаю со студенческими работами здесь
7
Стоит ли учить Си для создания 2D игр? Средства для создания браузерных игр Посоветуйте программу для создания 3D игр Нужна программа для создания игр Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |