Войти
ПрограммированиеФорум2D графика и изометрия

Создание 2D игры. С чего начать? (2 стр)

Страницы: 1 2 3 4 5 Следующая »
#15
6:20, 31 авг. 2009

oistalker
>>SDL - это Plain C, а не С++.
это о чем? Я знаю что эта библиотека написана на С, но ее можно использовать в c++. В общем так и не понял что здесь сказано...

>> Фактически очень [b]упрощенная версия[/b] DirectDraw 5
Хм, а это что означает?

SDL в отличие от HGE мультиплатформенный (игры написанные на нем теоретически должны работать практически на всех известных ОС от unix до window (там очень большой список поддерживаемых ОС))

>>более-менее законченный проект на движке HGE, а потом учить OpenGL.
А вот здесь лучше было бы изучить SDL а не HGE. SDL позволяет использовать OpenGL напрямую, то есть плавно перейти с двухмерных игр к трехмерным.


#16
13:50, 31 авг. 2009

Маленькая фишка заключается в том, что любительские проекты "для тренировки" редко перерастают в мультиплатформенную игру. Можно не париться особо и выбирать что попроще. HGE достаточно прост для первых шагов.

#17
13:59, 31 авг. 2009

SDL тоже прост, плюс более плавный переход на OpenGL (в SDL есть функции для работы с OpenGL, что позволяет нанем делать трехмерные игры)

#18
12:28, 1 сен. 2009

Даже и не думай использовать DelphiX.
В D3Dx - есть спрайты - можешь юзать их. Помоему отлично подходит для начала. Ну и с 3D можно совмещать легко.

#19
5:03, 7 сен. 2009

TorgOFF
> Кодить на данный момент немного умею в Borland Delphi 7
есть SDL для FreePascal

#20
11:39, 7 сен. 2009

Я за SDL, отличный инструмент, можно юзать в Delphi, cpp, .Net и тд. Есть всё, что нужно для создания нормальной игры.

Ещё один плюс, что в SDL есть OpenGL, причём чистый - возможность, как уже говорили, плавного перехода на OGL.

#21
23:02, 8 сен. 2009

Как использовать SDL в  C++Builder 6 ??? Тоесть какую именно либу скачать и как её установить.

#22
23:35, 8 сен. 2009

Для начала стоит удалить C++ Builder. Сейчас MS Visual Studio можно скачать даже бесплатно. Так вы оградите себя от большого количества проблем и ограничений связанных с компилятором от Borland. Это обязательный шаг. Builder если уж и использовать, то лучше для других задач.

Следующим шагом будет выбор библиотеки, которая будет помогать рисовать на экране спрайты. Если бы опыта в C++ было побольше, то я бы предложил использовать напрямую Direct3D. Именно Direct3D, а не DirectDraw. В таком случае можно было бы получить максимальную производительность.

У вас, насколько я понимаю, такой цели не стоит, а требуется разобраться что и как. Для того чтобы разобраться, я видел где-то выше советовали, хорошо подойдёт Blitz3D или BlitzBasic. Используя его вы сможете, не отвлекаясь на детали работы с графикой написать что-нибудь простенькое и понять в общих чертах как оно работает. Потом, может быть, на этих языках и останетесь, если их возможностей будет хватать.

Если, всё же, решимость работать с C++ сильна, но напрямую с графическим апи работать не хочется, то тогда стоит задуматься о выборе библиотеки, которая будет упрощать жизнь.

Библиотек этих целая куча, я со всеми не работал, но некоторые затрону.

ClanLib - это такой фреймворк, который использует (по крайней мере на тот момент, когда я его пробовал) для ускорения вывода графики OpenGL. Требует хороших знаний C++.

allegro - не очень сложная, достаточно долгое время развиваемая и уважаемая библиотека. Использует чистый Си. В использовании не очень сложна, но есть некоторое количество разных тонких моментов.

HGE - известная библиотека. Использует для ускорения вывода Direct3D 8. Проста в использовании.

SDL - не менее известная библиотека. Использует чистый Си. В Windows использует для отрисовки DirectDraw. Вопреки некоторым мифам - она не использует для ускорения OpenGL. В SDL содержатся некоторые команды для инициализации OpenGL и изменении параметров. Для того, чтобы библиотека аппаратно ускоряла вывод 2D графики посредством OpenGL требуется скачать дополнительно некоторые штуки, но они достаточно ограничены. Так что если возникнет желание ускорять, придётся делать это самому. Эта процедура по сложности сравнима с прямой работой с Direct3D. Вообще говоря SDL это не просто библиотека для вывода 2D графики, это комплексная система для работы с вводом, графикой, звуком, таймерами, потоками и т.п. Разрабатывалась она для упрощения создания кроссплатформенных проектов. Это следует понимать.

Короче говоря, если планируется делать игру только в Windows и опыта маловато берите HGE. Если игра должна быть кроссплатформенной - берите SDL. Если опыта совсем мало, то берите Blitz, а когда возникнет понимание что и как - перейдёте на более сложные библиотеки.

#23
4:39, 9 сен. 2009

asfdfdfd
> Для того, чтобы библиотека аппаратно ускоряла вывод 2D графики посредством
> OpenGL требуется скачать дополнительно некоторые штуки, но они достаточно
> ограничены.
Вроде в новой версии обещали аппаратное ускорение 2D

#24
11:27, 9 сен. 2009

asfdfdfd
+1
Только я бы между C++ и Blitz упомянул промежуточное звено для тех, кому мало Blitz, но не нужна головная боль от плюсов - XNA\MDX\SlimDX + C#(или vb.net).

#25
13:23, 9 сен. 2009

Посоветуйте мне тоже литературу почитать. Игру я делаю на Silverlight'e (как и положено новичку я начал с ММОРПГ ;)). По самой технологии заказал книжку http://www.kniga.ru/books/499123 , посоветуйте что-нибудь почитать по производству самих 2д игр, без упора на какой либо инструмент.

#26
14:19, 21 сен. 2009

По теме: как начинающий, но много знающий программист (С/С++), я бы посоветовал SDL и какую-нибудь простенькую игру (тетрис, змейка, марио...), как неоднократно было сказано выше.  Причины выбора именно этой библиотеки: относительно простая, много мануала в т.ч. и официального (http://www.libsdl.org/), мультиплатформенная, прекрасно сочетается с языком С++ и библиотекой OpenGL. Минусы свои она тоже имеет =), один из основных - это не среда разработки игр, т.е. человеку плохо знающему язык или не знающего его вовсе будет весьма трудно.

#27
19:47, 5 окт. 2009

warchief
> Рисуется это так:
> отрисовывается видимый кусок карты с использованием обычного перебора массива
> рисуются объекты. Они отделенны так как имеют свою систему кориднат.

а как обычно делают скролирование?
- полная перерисовка видимого куска?
- сдвиг+ удаление невидимых кусков + отрисовка новых?

#28
20:49, 5 окт. 2009

warchief
> Карта в двухмерных играх обычно представленна в виде двухмерного (иногда
> одномерного, но со сложными расчетами) массива. Каждая ячейка хранит данные об
> одной клетке.
Ненене тайловая карта это прошлый век, я всецело за нерегулярную геометрию. Под неё и уровни рисовать легче, и физику программировать, и конечно результат несравнимо круче.

#29
21:54, 5 окт. 2009

vap
А есть что-нибудь по этой теме почитать?

Страницы: 1 2 3 4 5 Следующая »
ПрограммированиеФорум2D графика и изометрия

Тема в архиве.