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

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

Страницы: 1 2 3 4 5 Следующая »
#30
22:00, 5 окт. 2009

Вы все не то советуете.
Идти надо от простого к сложному.
В школе же сначала учат считать на палочках и только потом извлекать корень.
Не нужно советовать новичку сложные библиотеки\движки. Посмотрев в код того же SDL он НИЧЕГО не поймет.

Лучшее с чего можно начать, это создание тетриса.
http://pmg.org.ru/nehe/index.html
Читать первые уроки(они на русском даже!)
Делать тетрис используя разноцветные квадратики.

Хотя если автор хочет сделать именно игру, а не проводить свободное время за набиранием кода, то могу посоветовать поиграть в Risen и успокоиться.


#31
8:23, 6 окт. 2009

Основы разработки компьютерных игр в XNA Game Studio
http://www.intuit.ru/department/se/xnagamestudio/class/free/status/

#32
10:00, 6 окт. 2009

Полный список игровых движков на (доступных для) Delphi:
http://pascalgames.net/index.php?topic=158.0

#33
12:26, 6 окт. 2009

TorgOFF
Если хочешь работать в этой области, то проще всего сходить в фирму, в которой делают игры, спросить у них что тебе надо уметь, чтобы тебя взяли как ученика (с маленькой зп и т.д., но с возможностями повышения при соответствии навыков требуемым), изучить это за 2-4 месяца и пойти учеником, через от пол года до двух лет будешь на ровне с программистами которые работают в выбранной фирме (если конечно там не супер профессионалы, тогда времени и упорства потребуется больше, но это в конечном итоге лучше для тебя).

А если строго по теме, то посоветовал бы C++ (самый распространённый язык для производства игр, соотв. проще будет учиться) или flash (ммо игры становятся всё популярнее) и начинать изучения с чистого OpenGL или DirectX на выбор. Потом использовать любой понравившийся готовый движок. Кстати, обязательно перед началом ниписания чего-либо (игры, тестового проекта, движка) ставь цели, чего ты хочешь добиться. Если никакой цели нет или она очень размазанна (хочу игру типа GTA 2 и Red Alert 2, только лучше), то проект на 90% доделан не будет. Надо конкретно описать что должно быть реализовано, исходя из этого нарисовать структуру игры или хотя бы подумать об этом... и ещё не ставь грандиозные цели на короткие сроки, если цель очень амбициозна - надо её разбить на несколько по скромнее...

Прошло более 12 месяцев
#34
8:25, 3 окт. 2010

А кто-нибудь книги конкретные подсказать может? Нужно с с++. По директсу искал, нашел только пару, и то там возможно не все что мне понадобится. Если что это Горнаков "directx 9 уроки програмирования на с++" и Фленов"DirectX и с++". Только там 3d в основном. Мне же скорее 2d, так как все же есть что-то в 2д аркадах к примеру, да и моделировать не умею. Можно по другим апи, как тут прочитал, sdl к примеру. И за исходники самого простейшего буду благодарен.
Пс: Кто-то подумает что вот так сразу нагло, возьми да подай. Но все же с чего то начинали, я думаю прав, и хотя бы что-то  на уровне копания 5 минут в памяти осталось.

Ппс: Это глупый вопрос и вероятно неверно сформулирован, но все же, каким образом в настоящем времени сразу же к примеру происходит движение объектов и контроль игрока? Я не умею програмировать можно сказать, поэтому просто программа представляется чем то вроде выполнения строчки за строчки до опр момента(ну исключая функции), где к примеру человек делает какое-то решение, и как сразу происходит выполнение программы и контроль со стороны пользователя непонятно. То есть на примере игр: порой существует определенный таймер принимающийв определенное время команды и сдвигающий к примеру игрока и другие объекты или как я могу представить там как бы несколько потоков выполнения кода? Или на этот вопрос не ответить в паре строк?

#35
8:54, 3 окт. 2010

Angu1sh
Я не знаю книг по программированию 2D игр. Начни в 3D по паре книг, потом перейди к 2D, там проще по началу, пока дело не дойдёт до нехилых эффектов.
>>каким образом в настоящем времени сразу же к примеру происходит движение объектов и контроль игрока?
Скачай PopCap Framework, поизучай там примеры, если будет не понятно что-то спрашивай здесь же или мне в личку.

#36
9:40, 3 окт. 2010

А в 9 директс есть direct2d или только directdraw? А то думаю все же это для приличия должно тянуться на xp. И годиться ли directdraw для поставленной мной цели?

#37
11:51, 3 окт. 2010

vap
> Ненене тайловая карта это прошлый век, я всецело за нерегулярную геометрию. Под
> неё и уровни рисовать легче, и физику программировать, и конечно результат
> несравнимо круче.
Если это не шутка, что есть "нерегулярная геометрия" и с чем её едят?
Полагаю, это уже не 2d?

#38
12:56, 3 окт. 2010

Angu1sh
Я Direct2D не пользовался. Штука вроде интересная, но она начиная с Windows7. Делать игры на продажу точно не подойдёт, это заведомо сужение часла покупателей, а вот для учебных целей может и наоборот самое то будет. Но я всё-таки посоветовал бы начать с Direct3D9, а 2D рисовать просто с использованием D3DFVF_XYZRHW.

#39
14:21, 3 окт. 2010

TorgOFF
Не слушай глупых советов. Не нужно учить C, OpenGL или что-либо еще, Delphi уже достаточно чтобы написать простую игру в 2D.
Элементарно выводишь графику на Form->Canvas, лучше на PaintBox->Canvas в событии OnPaint
Form можно сделать FullScreen и без границы
Еще имеет смысл для плавной перерисовки без мерцаний рисовать в Bitmap->Canvas, где Bitmap - 24bit и по размеру экрана, потом сразу выводить Bitmap в PaintBox
Далее, нужно научиться выводить спрайты, т.е. непрямоугольные картинки. Для этого когда создаешь картинку, создавай также "маску", т.е. черно-белый шаблон, указывающий границы вывода. Сначала выводишь маску через AND, потом саму картинку через OR. Все это делается стандартными методами Delphi Canvas
Далее анимация - просто вывод очереди картинок, сменяющихся во времени, на событие OnTimer, как правило выводишь фон, потом все что поверх
Вот и все вкратце, если что непонятно будет, спрашивай

#39
14:22, 3 окт. 2010

Извиняюсь за повторы, это глюк форума

#39
14:22, 3 окт. 2010

Извиняюсь за повторы, это глюк форума

#39
14:26, 3 окт. 2010

TorgOFF
Не слушай глупых советов. Не нужно учить C, OpenGL или что-либо еще, Delphi уже достаточно чтобы написать простую игру в 2D.
Элементарно выводишь графику на Form->Canvas, лучше на PaintBox->Canvas в событии OnPaint, Form можно сделать FullScreen и без границы
Еще имеет смысл для плавной перерисовки без мерцаний рисовать в Bitmap->Canvas, где Bitmap - 24bit и по размеру экрана, потом сразу выводить Bitmap в PaintBox
Далее, нужно научиться выводить спрайты, т.е. непрямоугольные картинки. Для этого когда создаешь картинку, создавай также "маску", т.е. черно-белый шаблон, указывающий границы вывода. Сначала выводишь маску через AND, потом саму картинку через OR. Все это делается стандартными методами Delphi Canvas
Далее анимация - просто вывод очереди картинок, сменяющихся во времени, на событие OnTimer, как правило выводишь фон, потом все что поверх
Вот и все вкратце, если что непонятно будет, спрашивай

#39
14:28, 3 окт. 2010

TorgOFF
Не слушай глупых советов. Не нужно учить C, OpenGL или что-либо еще, Delphi уже достаточно чтобы написать простую игру в 2D.
Элементарно выводишь графику на Form->Canvas, лучше на PaintBox->Canvas в событии OnPaint, Form можно сделать FullScreen и без границы
Еще имеет смысл для плавной перерисовки без мерцаний рисовать в Bitmap->Canvas, где Bitmap - 24bit и по размеру экрана, потом сразу выводить Bitmap в PaintBox
Далее, нужно научиться выводить спрайты, т.е. непрямоугольные картинки. Для этого когда создаешь картинку, создавай также "маску", т.е. черно-белый шаблон, указывающий границы вывода. Сначала выводишь маску через AND, потом саму картинку через OR. Все это делается стандартными методами Delphi Canvas
Далее анимация - просто вывод очереди картинок, сменяющихся во времени, на событие OnTimer, как правило выводишь фон, потом все что поверх
Вот и все вкратце, если что непонятно будет, спрашивай

#39
14:28, 3 окт. 2010

TorgOFF
Не слушай глупых советов. Не нужно учить C, OpenGL или что-либо еще, Delphi уже достаточно чтобы написать простую игру в 2D.
Элементарно выводишь графику на Form->Canvas, лучше на PaintBox->Canvas в событии OnPaint, Form можно сделать FullScreen и без границы
Еще имеет смысл для плавной перерисовки без мерцаний рисовать в Bitmap->Canvas, где Bitmap - 24bit и по размеру экрана, потом сразу выводить Bitmap в PaintBox
Далее, нужно научиться выводить спрайты, т.е. непрямоугольные картинки. Для этого когда создаешь картинку, создавай также "маску", т.е. черно-белый шаблон, указывающий границы вывода. Сначала выводишь маску через AND, потом саму картинку через OR. Все это делается стандартными методами Delphi Canvas
Далее анимация - просто вывод очереди картинок, сменяющихся во времени, на событие OnTimer, как правило выводишь фон, потом все что поверх
Вот и все вкратце, если что непонятно будет, спрашивай

#39
14:28, 3 окт. 2010

1

#39
14:29, 3 окт. 2010

1

#39
16:50, 3 окт. 2010

А я начинал с [C++] + [Qt4] :)

#39
20:37, 3 окт. 2010

Ну вообщем то по сути и надо для учебы. Но планы по обучению побольше чем стоят в программе. Я думаю если начинать, то так чтобы это потом можно было применять посерьезнее. Не факт что там семерка есть, по сему directdraw для этих целей годиться?
Чуть последнего целиком в этом?: Следует особо остановиться на флаге D3DFVF_XYZRHW. Этот флаг позволяет описывать вершины, определенные на плоскости. Он служит для графической системы индикатором того, что построение сцены происходит на плоскости в координатах окна (формы) вывода.

#39
20:50, 3 окт. 2010

Если цель: научиться писать игры, то без разницы на чём учиться. Научишься на Direct2D, потом если сочтёшь нужным - допишешь/перепишешь под Direct3D. Или научишься на openGL, перепишешь на Direct2D - тебе будет без разницы как выводить картинки, потому что к сути игры это никакого отношения не имеет. По этому советую уже выбрать что-нибудь и начать программировать :) тут важнее не графическое апи, а правильно поставить себе цель, записать её и неукоснительно ей следовать.Angu1sh
> Чуть последнего целиком в этом?:
Да.

Прошло более 7 лет
#39
2:07, 27 авг. 2018

Тема замерла 8 лет назад как, и чтобы не плодить новых, задам свой вопрос здесь.

Название темы совпадает:
Создание 2D игры. С чего начать? — игра мечты (прошу сразу не покидать тему) метроидвания. Понимаю, что разработка такой игры слишком сложна, потому нужен промежуточный вариант, как демо версия с частью основных механик. Прошу советов от опытных игроделов по оценке объема работ и постановке первоначальных задач.
Игра мечты(ИМ)(если любите читать и фантазировать):
+ игра_мечты_(ИМ)

Те, кто делал платформер/квест, подскажите, пожалуйста, насколько затратно выходит сделать небольшую игру?

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

История про мальчишку из деревни, который в будущем встретится Наемнику-убийце из игры мечты (как бы спин-офф несуществующей ИМ). Жанр: квест, с элементами платформера/раннера.

+ представления_с_чего_можно_начать

Ни одну игру не делал, и потому представляется возможным. Отрезвите неопытного человека! А то думаю попробовать нарисовать локацию и анимацию ГГ.
Нужно еще более простое что-то придумывать для начала? Тогда с чего начать?
#40
2:13, 27 авг. 2018

Уважаемый Sohei писал следующее:

vzmWhite
Тайлы и базовые объекты для одного уровня делаются за 20 часов. Каждый новый объект это от 1 до 4 часов, особенно если это какое-то архитектурное строение, или новое дерево.
1 базовый спрайт нового юнита = ~1 час работы. 1 ключевой кадр анимации = 45 минут, один фазовый кадр = 20 минут. В анимации где-то два ключа и сколько хочется (для плавности и "качества") фаз.
Чтобы создать один уровень с тремя врагами и какими-нибудь опасностями попроще (шипы, мины, огонь) надо потратить около 70-80 трудовых часов. Без ошибок и переделок.
По календарному времени это займет один месяц.
Теоретически, за полгода, можно нарисовать игру из шести уровней и с 18 врагами (из низ 3 босса).

Думаю, тема может быть полезной и для других неопытных.

#41
10:08, 27 авг. 2018

кто-то насасывает контент на очередную говностатейку?

#42
12:07, 27 авг. 2018

clc, не очень понял. Ты подумал, что я так пытаюсь для статьи получить "10 советов как сделать игру мечты"? Нафиг надо. Мне конкретная помощь нужна, чтоб определиться с размером и сложностью проекта. Хочется взяться за посильное, но не слишком скучное.
Если ты читал пост #39, то это должно быть понятно.

#43
12:39, 27 авг. 2018

vzmWhite
Так вы хотите 2D платформер, т.е. вид сбоку?
Незнаю, мне кажется, это не подходит к концепции РПГ, большому миру с картой и толпами врагов
Ведь в платформере движение по сути - по прямой, влево-вправо, ну вверх-вниз немного, препятствие не обойдешь стороной, линейное прохождение
Подходит 3D, либо изометрия, хороший пример - "Гром"
Причем там не было единого мира, а ограниченные 2D локации, между которыми переход через глобальную карту, где просто выбираешь точку назначения
И идти каждый раз через одну локацию горной дороги, где ждут разбойники...

#44
16:12, 27 авг. 2018

Aslan

Так вы хотите 2D платформер, т.е. вид сбоку?
Не знаю, мне кажется, это не подходит к концепции РПГ, большому миру с картой и толпами врагов
...Подходит 3D, либо изометрия...

Согласен абсолютно.
Можно еще в принципе сделать многих разных 2D режимов, каждый для своей ситуации, как в старых 2D играх: своя проекция для каждого режима игры.

vzmWhite
Можно начать с чтения этой книжки: 
https://www.ozon.ru/context/detail/id/1375980/

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

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