Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование игр
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 55, средняя оценка - 4.80
Name1ess
0 / 0 / 0
Регистрация: 01.02.2012
Сообщений: 3
#1

Основы создания 2d-игр - Gamedev

01.02.2012, 20:14. Просмотров 7044. Ответов 6
Метки нет (Все метки)

Собственно, давно было желание создать собственную 2д-игру, но куда копать - неизвестно. Язык - VC#.
Интересует, что/где читать по поводу:
Вывод, обработка, хранение 2d-графики (openGL?)
Структура данных (как хранить объекты на карте, как все это выводить, как будет обрабатываться ввод с клавиатуры, обновление карты после движения и прочая)
Как все это привинтить к VC#

Какие-либо готовые движки неинтересны, ибо хочется изобрести свой велосипед, поэтому только хочется знать, куда копать :3
Заранее благодарен
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2012, 20:14
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Основы создания 2d-игр (Gamedev):

Программа для создания игр
с помощью каких программ нужно писать игры?

Программа для создания игр
Какой программой лучше пользоваться что бы создать 2D игру. Помогите пожалуйста.

Программы для создания игр
Вопрос: Какие есть программы для создания игр.:huh:

Порядок создания игр для тренеровки
Здравствуйте! Я, время от времени, пытаюсь писать игры. Но проблема в том, что...

Средства для создания браузерных игр
Всем привет! У меня следующий вопрос. На чем пишутся онлайн-игры, наподобие...

Посоветуйте программу для создания 3D игр
Посоветуйте качественную программу для создания 3D игр.Чтоб,было видно...

6
XAHOK
265 / 258 / 20
Регистрация: 27.02.2009
Сообщений: 694
Записей в блоге: 7
02.02.2012, 13:05 #2
Лучший ответ Сообщение было отмечено как решение

Решение

Спрайтовая графика + игровой цикл. По общей теории этих двух статей будет достаточно, ну а дальше вывод анимированных спрайтов, после этого начинаем разрабатывать структуру классов. Может помочь концепция универсального объекта и Объекты в играх: организация игрового цикла.

Теорию так же можно поискать на хабре и геймдеве, иногда весьма интересные статьи попадаются. Так же полезно посмотреть иерархическую структуру в существующих игровых движках, желательно так же провести сначала сравнительный анализ, на основе которого и свою структуру данных составить.
3
Evg
Эксперт CАвтор FAQ
18938 / 6899 / 513
Регистрация: 30.03.2009
Сообщений: 19,437
Записей в блоге: 30
02.02.2012, 16:49 #3
Цитата Сообщение от Name1ess Посмотреть сообщение
Структура данных (как хранить объекты на карте
Извини за дурацкий вопрос. Ты давно программированием занимаешься?
0
Name1ess
0 / 0 / 0
Регистрация: 01.02.2012
Сообщений: 3
02.02.2012, 17:00  [ТС] #4
Цитата Сообщение от Evg Посмотреть сообщение
Извини за дурацкий вопрос. Ты давно программированием занимаешься?
Год примерно. Матрица объектов не самый оптималный вариант, ибо, например, перебор за n^2 работает, вот я и спросил про структуру данных получше
0
Evg
Эксперт CАвтор FAQ
18938 / 6899 / 513
Регистрация: 30.03.2009
Сообщений: 19,437
Записей в блоге: 30
02.02.2012, 18:25 #5
Понятно, а то я уж испугался, что очередной человек, который ни одной программы не написал, но хочет уже варкрафт сваять
1
Name1ess
0 / 0 / 0
Регистрация: 01.02.2012
Сообщений: 3
02.02.2012, 19:29  [ТС] #6
Вот например вопрос из разряда интересующих:
Есть матрица, в ней хранятся "куски" поверхности (сплайны это называется, да?), которыми, собственно, заполняется поверхность. И есть герой, он, конечно, двигается) И как осуществляется сдвиг видимого окна? Каждое движение сдвигают координаты всех сплайнов (но это за N^2 хХ), или же заранее прогружают всю карту, а потом как-то сдвигают это самое окно, не затрачивая почти никаких ресурсов?
Вот хотелось бы узнать про литературу, которая на такие вопросы отвечает
0
XAHOK
265 / 258 / 20
Регистрация: 27.02.2009
Сообщений: 694
Записей в блоге: 7
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2012, 08:46
Привет! Вот еще темы с решениями:

Нужна программа для создания игр
я хочу создать игру, но мне нужна прога, какую посоветуете Добавлено через 1...

Предлагаю объединиться для создания игр
Здравствуйте. Меня зовут Константин. Я из Украины, но хочу переехать в...

Что посоветуйте для создания игр с нуля?
Доброго времени. Не так давно был вдохновлен игрушками вроде Papers, Please и...

Какой язык программирования выбрать для создания игр?
Какой язык программирования выбрать для создания игр? Си или Си++. Собираюсь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru