Как сделать игру такую же как Вконтакте

Блог посвященный разработке игры Альбедо

воскресенье, 24 марта 2013 г.

Как создавать игры в QSP

Что бы создать что то не очень сложное, не обязательно быть программистом. Попробую в этой статье объяснить основные моменты.
1) Вам понадобится конструктор. http://qsp.su
Это сайт разрабов, там есть все что надо.
Или я залил на файлообменник конструктор.
http://www.fayloobmennik.net/2728179

2) Создаете новую игру. Создаете стартовую локацию, она должна быть в самом верху. Пишите там код. Весь код записываете в верхнее правое окошко с названием «Выполнить при посещении.» Создание локаций F7 или зеленый крестик в меню.

KILLALL
USEHTML=1
SHOWSTAT 1
SHOWOBJS 1
$ONGLOAD=’loadg’
$ONGSAVE=’saveg’
$ONNEWLOC = ‘LOCA’
$onobjsel = ‘onobjsel’
showinput 0
$counter = ‘counter’
$USERCOM=’ОбработкаВвода’
debug=1

потом создаете локации
loadg
saveg
LOCA

ЭТО САМАЯ ПЕРВАЯ ИГРА В ПЛЕЙ МАРКЕТЕ! #Shorts


onobjsel
counter
ОбработкаВвода

Вот вход в игру готов.
Создадим квартиру с двумя комнатами. Делаем две локации, назовем к примеру bedroom и sitroom

В стартовой локации пишем

!В локации bedroom пишем такой код.
‘Спальная’
‘Ваша спальная комната.’
act ‘Идти в гостинную’:gt’sitroom’

!В локации sitroom пишем такой код.
‘Гостинная’
‘Это гостинная комната, тут стоит диван, телевизор и стол.’
act ‘Идти в спальную’:gt’bedroom’

Вуаля. У вас есть игра с двумя комнатами между которыми можно перемещатся.

Если кому то будет интересно буду и дальше учить как из кирпичиков создать игру.

Если хотите что бы у вас отображалось и считалось время. То в локации комнат вставте такой код.
minut = minut + 1
clr
gs’stat’

Создайте новую локацию stat
и в нее вставте следующий код.

if minut >= 60:
:loopmin
set hour = hour + 1
set minut = minut — 60
if minut >= 60:
jump ‘loopmin’
end
end

if hour >= 24:
:loop
set day = day + 1
set week = week + 1
set hour = hour — 24
if hour >= 24:
jump ‘loop’
end
end

if minut < 10:set $nilmin = ‘0’
if minut >= 10:set $nilmin = »
pl’Время > часов >> минут’

Теперь у вас будет считатся и показыватся в окне дополнительного описания время. Стартовое время не заданно поэтому отсчет пойдет с 0 часов с 0 минут. Из подобных кирпичей можно собрать полноценную игру даже не задумываясь что делаешь.
Поймите, не надо сидеть вычесывать методы из головы, все уже есть. Берите кирпичи и сторойте, я подскажу.

Характеристики ГГ. Это вещь очень тонкая и щекотливая. Нельзя просто вставить какой нибудь параметр просто так. Параметры должны быть связаны между собой. И они должны заставлять игрока удовлетворять потребности, а не сидеть на месте.
Например здоровье, сон и голод. Если сон равен нулю то будет падать здоровье, если голод равен нулю то опять же будет падать здоровье. Если здоровье дойдет до нуля то конец игры.

КАК СВЯЗАТЬ UNITY И ВК ИГРЫ | АВТОРИЗАЦИЯ РЕКЛАМА БАЗА ДАННЫХ ВК ИГРЫ


Сделать все это не сложно.

Перепишите этот код в локации stat
if hour >= 24:
:loop
set day = day + 1
set week = week + 1
set hour = hour — 24
if hour >= 24:
jump ‘loop’
end
end

Еще по теме:  Как отправить приглашение в группу в ВК

следующим образом.
if hour >= 24:
:loop
set day = day + 1
set week = week + 1
set hour = hour — 24
son = son — 1
golod = golod — 1
if hour >= 24:
jump ‘loop’
end
end
if son if golod

if health gt’GAMEOVER’
exit
end

!И в конце добавте строчки
pl’Здоровье >’
pl’Сон >’
pl’Голод >’

Создайте локацию GAMEOVER в которой в скобочках напишите ‘Кибздец котенку, вы щелнули ластами и вашу тушку закопали.’

Но теперь если вы войдете в игры вы сразу же откините копыта. Поэтому в начальной локации добавим код health = 100

Создайте саму кровать. Это будет локация bed

Вставте туда этот код.
clr
gs’stat’
‘Вы лежите на кровати.’
if son > 10:
‘Спать почему то не хочется.’
end
if son act ‘Раздется и лечь спать’:gt’bed2′
end
act ‘Встать с кровати’:gt’bedroom’

Создайте локацию bed2 и вставте туда этот код.
set health = health + 5
‘Вы спите и вам ничего не снится.’
:loopson
set minut = minut + 1
set stime = stime + 1
if stime = 60:set stime = 0 23:
‘Вы выспались’
act ‘Встать с кровати’:gt’bedroom’
else
jump ‘loopson’
end

С голодом все гораздо проще.
Вставте эту кнопку в локацию sitroom
act ‘Есть (15 мин)’:
cla
set minut = minut + 15
if golod >= 20:
‘Вы объелись и глядеть не можете на еду’
end
if golod < 20:
set golod = golod + 20
‘Вы положили щей в тарелку и лихо их навернули.’
end
act ‘Встать из за стола и вымыть посуду’:gt’sitroom’
end

Пожалуйста, голод и сон готовы.

Источник: etogame.blogspot.com

Создание игры Arkanoid на PyGame Zero за 30 минут

Создание игры Arkanoid на PyGame Zero

В данной статье мы расскажем, как при помощи Python и PyGame Zero можно быстро и легко написать клон игры Арканоид (Breakout).

Что ж, приступим!

Весь код, который будет использоваться в данном руководстве, доступен по ссылке.

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат Arkanoid clone»
WIDTH = 800
HEIGHT = 500
pgzrun . go ( )

Здесь мы импортируем Pygame Zero. Переменная TITLE — это заголовок отображаемого окна, а переменные WIDTH и HEIGHT определяют ширину и высоту данного окна соответственно.

Метод pgzrun.go() запускает программу.

Вы должны увидеть пустое окно:

Игра Арканоид на Python

Давайте попробуем отобразить несколько игровых блоков.

Добавим следующий код под высотой и шириной:

WIDTH = 800
HEIGHT = 500
paddle = Actor ( «paddleblue.png» )
paddle . x = 120
paddle . y = 420
ball = Actor ( «ballblue.png» )
ball . x = 30
ball . y = 300

Actor отвечает за то, как Pygame Zero будет показывать картинки. Изображения всегда хранятся в папке images , которая находится в том же месте, где расположен скрипт игры.

├── ballblue .png
└── paddleblue .png
1 директория , 3 файла

Урок№1 по GMS2. Создание IO игры.

В этом уроке мы создадим игру простого и казуального жанра — IO. IO-игры — лучший жанр для начинающего разработчика это узкое направление в многопользовательских онлайн-играх, отличающееся упрощенным «песочным» геймплеем и огромной массовкой игроков, сосредоточенной в рамках единой локации («комнаты», room). Название этого класса игр произошло от Интернет-домена .io (Индийский Океан), на котором выкладывались пионеры жанра, например, agar.io и diep.io. Для начинающего разработчика такие игры интересны несложной технической реализацией и интуитивным построением геймплея в плане дизайна и поиска баланса. Но для упрощения мы сделаем вариант одиночной игры. И так:
Запускаем наш Game Maker Studio 2. Перед нами будет стартовое меню, нажимаем «New», что значит «Новый», для создания нового проекта:


И появится следующий выбор:

Движок GMS2 позволяет создавать игры на своем языке программирования GameMaker Language (GML) либо вообще без написания кода, то есть собирать игру как бы из логических блоков (Drag and Drop). Я бы рекомендовал учиться сразу писать код. Конкретно в этом уроке я буду объяснять работу именно проектов на основе кода, т.е. выбираем второй вариант. Ну а далее вы выбираете место, где будете сохранять своей проект и дадите ему имя.

Еще по теме:  Вконтакте кто то лазил

Готовим ресурсы для игры

Сейчас нам необходимо будет подготовить ресурсы для игры. Для этого заходим в меню справа и видим вот такой список:

Нам нужны будут спрайты(Sprites), объекты(Objects) и пока одна комната(rooms), которая у нас создана автоматически.
Понадобится спрайт игрока, спрайт еды, и спрайт стены, можно нарисовать все во внутреннем редакторе, можно нарисовать во внешнем – (например) paint. Я буду рисовать спрайт игрока 64 на 64, спрайт стены 64 на 64 и спрайт еды 8 на 8.


После создания спрайта мы увидим настройки спрайта:

1. Название спрайта, поставим s_player
2. Размер спрайта, этот оставляем как есть
3. Редактор спрайта, нажимаем на него 2 раза и зайдем в редактор.
Перед нами внутренний редактор спрайтов, я нарисую схематически круг, и это будет наш персонаж – игрок.

Возвращаемся обратно и видим следующее:

Где выделено красным, это начало координат спрайта, у персонажа выставим на Middle Centre:

Таким же образом рисуем спрайт еды, пусть он будет желтый, меняем размер спрайта на 8×8 и у него тоже ставим начало координат на Middle Centre и еще рисуем 64 на 64 серый квадрат – это будет стена, у него не меняем начало координат.
В итоге у нас должно получиться что то такое:

Теперь возвращаемся к меню справа, ищем папку Object и создаем объект игрока, стены, еды и объект контроля:

Перед нами будет окно настроек объекта:

В поле Name указываем имя, o_player. Нажимаем на поле No Sprite и выбираем наш спрайт игрока. Все объект игрока создан.

Теперь нужно чтобы он умел шевелиться, также он должен иметь переменную массы, когда мы будем перемешаться по комнате и есть пищу – наш кружок будет расти.
В GMS2 вся логика игры основана на событиях объектов, то есть при определенных событиях прописанных в объекте, выполняются прописанные нами действия. Есть основные события, это событие создания, выполняется при создании объекта, событие шага и рисования, выполняются каждый шаг в игре(об этом позже), событие рисования для того чтобы отрисовывать спрайты, интерфейс и тд. , событие столкновений будет происходить каждый раз когда один объект сталкивается с другим и событие Уничтожения срабатывает когда объект будет уничтожен.
Заходим в меню Add Event и выбираем Step то есть Шаг – код который выполняется каждый шаг в игре, за одну секунду в игре происходит 60 шагов.

У нас появится редактор где мы можем начать писать код, пропишем чтобы наш кружок следовал за мышкой при нажатии ЛКМ:

Этот код будет заставлять объект следовать за мышкой. Мы прописали чтобы каждый шаг, 60 раз в секунду, игра проверяла нажата ли ЛКМ, если да то поменять направление движения объекта по прямой-направленной к координатам мыши, и если мышка не нажата мы устанавливаем скорость 0.
Теперь создадим объект Стены:

Ему не нужно создавать события(Events). Главное поставить галочку что он твердый(Solid)
Теперь создадим объект еды, все тоже самое:

Твердым его делать не нужно. В событиях создадим ему событие столкновения с o_player и пропишем строчку самоуничтожения:


Вернемся к объекту игрока. Добавим событие Create и создадим там глобальную переменную size (Размер). В движке есть несколько типов переменных, Глобальные – действуют по всей игре, к ним можно обращаться и менять их с любой комнаты и с любого объекта, локальные переменные обычно инициализируются в событии создания и используются внутри объекта, но к ним можно получить доступ из вне, но только в той же комнате, но это нам сейчас не понадобится.
И так Create – выполняется только 1 раз при создании объекта.

Создадим события столкновения с едой и там будем прибавлять 0.01 к размеру.

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

Создадим последний объект – o_control
Он будет создавать еду на карте:
Добавляем событие Create и запустим таймер.

Создадим событие таймера с индексом 0 и пропишем там случайное создание еды в рамках комнаты с учетом стен вокруг нее и будем запускать таймер сначала каждую секунду.


Alarm[] – один из изначально заданных локальных переменных каждого объекта, alarm – таймер, срабатывает после указанного количества шагов, и запускает событие. Есть и другие такие переменные, например direction – направление, speed – скорость, x и y координаты и множество других.
Вернемся к объекту игрока, и создадим событие Draw
В нем пропишем рисование спрайта игрока с увеличением размера в зависимости от глобальной переменной size


Draw_self() говорит что нужно рисовать себя
Image_xscale и yscale увеличивают изображение и сам объект в зависимости от переменной размера.
Теперь расставим все что мы сделали по комнате.
Точнее нам нужно сделать стену вокруг комнаты, поставить в нее объект игрока и объект контроля и попробуем запустить проект.
Заходим в комнату:

Видим окно-редактор комнаты:

1. Установим размеры кратные 64, мне лично нравится 1280 на 640
2. Расставляем объекты, берем с меню и отпускаем в комнате в 2 берем в 3 отпускам.
У меня получилось так:

1 – объект контроля
2 – объект игрока
3 – стена
Пробуем запустить и подождать какое-то время, попутно побегать нашим кружком.
Начало игры:

После минуты игры:

Как мы видим все работает, в следующем уроке можно увеличить комнату, сделать ИИ который будет кушать и пытаться охотиться за игроком и уменьшать скорость в зависимости от массы. На этом урок 1 закончен. Я прикрепляю исходник и исполняемый файл. Вы можете скачать и попробовать сами.

Еще по теме:  Как создать магазин в ВК
Прикрепленный файлРазмер
GMS2Lesson1 — Игра.zip 1.95 Мб
GMS2Lesson1 — Исходник.rar 13.86 кб

Источник: grafika.me

Рейтинг
( Пока оценок нет )
Загрузка ...