Понедельник, 11 Ноября 2024, 04:19

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Результаты поиска
ASD_W_GAMESДата: Понедельник, 21 Апреля 2014, 20:42 | Сообщение # 1 | Тема: Разработчик приложений для "ВКонтакте"
был не раз
Сейчас нет на сайте
Занимаюсь разработка игр более 5 лет, недавно начал разрабатывать игры и приложения для ВК, если вы желаете заказать приложение обращайтесь в скайп: MakarASD или ЛС, примеры работ и другая информация будет там же.

Добавлено (21.04.2014, 20:42)
---------------------------------------------
Up...

Сообщение отредактировал ASD_W_GAMES - Воскресенье, 20 Апреля 2014, 13:49
ASD_W_GAMESДата: Среда, 28 Апреля 2010, 16:55 | Сообщение # 2 | Тема: RPG от первого лица на Game Maker
был не раз
Сейчас нет на сайте
Ок, только на сайте всё равно зарегайся ) и если чё мож задавать вопросы по ультиме на форуме

Добавлено (28.04.2010, 16:55)
---------------------------------------------
Пример чуть по позже, не могу пока, вот пока почитай:

Статья: “3D RPG”. by Sharking
Статья рассчитана на новичка.Для начала я скажу что RPG бывает разное.Это может быть пошаговое RPG, on-line RPG, RPG в реальном времени и т.д. В этой статье я расскажу как можно сделать 3D RPG в реальном времени т.е. подразумевается что в ней можно будет просто бегать убивать врагов, получать за это опыт,после чего распределять очки и т.п. В этой статье я не буду рассказывать как сделать умный ИИ,квесты RPG с сюжетом и создовать мир. Я просто расскажу как реализовать параметры игрока, вывод их на экран,простую анимацию ГГ,распределение очков.
Чтобы начать скачайте вот этот архив(2.8 mb) в нём все необходимые текстуры и модели.
Итак начнём.
Сперва в скрипт настроек Ultimate3DOptions добавьте такую строчку:

global.u3d_character_set="АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЬьЫыЪъЩщЭэЮюЯяAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRr SsTtUuVvWwXxYyZz0123456789-_.?,!+-/*':%";

Эта строчка нужна чтобы внесённые в неё символы отоброжались при использовании функции DrawText.В нашем случае она нужна для отображения русского языка.Такая возможность появилась только в ULTIMATE 3D 2.1 так что при создании RPG используйте именно эту версию ULTIMATE 3D.
Далее создаём объекты:

param-в этом объекте буду записаны все характеристики игрока.
anim-в этом объекте мы запишем кадры анимации персонажа.

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

globalvar ataka,zazhita,lovkost,zhiznvs,zhiznos,opit,level,ochki;
//Делаем параметры персонажа глобальными
ataka=10;//Сила атаки нашего персонажа
zazhita=8;//Защита нашего персонажа
lovkost=7;//Ловкость нашего персонажа
zhiznvs=50;//Сколько всего жизней у нашего персонажа
zhiznos=50;//Сколько жизней в данный момент
opit=0;//Сколько опыта в данный момент
level=1;//Уровень нашего персонажа
ochki=0;//Сколько в данный момент очков распределения

Далее добавим в событие создания anim следующий скрипт:
globalvar annach,ankon;
//Делаем кадры анимации глобальными
annach[0]=0;//начальный кадр анимации(атака мечём)
ankon[0]=30;//конечный кадр анимации(атака мечём)
annach[1]=90;//начальный кадр анимации(атака кулаком)
ankon[1]=115;//конечный кадр анимации(атака кулаком)
annach[2]=370;//начальный кадр анимации(бег)
ankon[2]=395;//конечный кадр анимации(бег)
//Это всё кадры анимации модели robot.3ds

Тепер поставим оба объекта(anim,param) в комнату чтобы потом не забыть)))
Далее в событие создания model изменим переменную file которая там уже есть на значение 'model\robot.3ds'.Это требуеться чтобы загрузилась модель робота.
Теперь в событии создания робота(model) добавьте следующий скрипт:

Code
first_frame=0;//Первый кадр анимации
last_frame=1;//Последний кадр анимации
frame=0;/* Текущий кадр при отрецательном    
значении скорость анимации */
scalx=0.1;//Уменьшение размера модели так как модель получилась
scaly=0.1;//Слишком большая
scalz=0.1;

Это требуеться чтобы анимация модели была в кадре 0(это кадр стоячей моделии) и модель была оптимального размера.
Далее создаём объект terrain -это ландшафт(описывать его создание не буду так как это уже описанно в двух статьях) и поставим его в комнату.
Далее в событие шага model добавляем следующий скрипт:

z=GetTerrainHeightAtPos(terrain,x,y);
//Это требуеться чтоб герой не провалился под землю

В событии шага камеры(camera):

follow=gg;//Камера будет двигаться за героем
perspective=2;//Камера будет динамическая
distance=20;//Расстояние от камеры до героя
rotatey=180;//Чтоб камера смотрела сзади модели т.к модель не стандартная
GetMousePos();
rotatex+=(global.mouse_y-display_get_height()/2)*mouse_speed;
if(rotatex<0){
     rotatex=1;
}
if(rotatex>20){
     rotatex=20;
}
gg.roty+=(global.mouse_x-display_get_width()/2)*mouse_speed;
//это чтобы вертеть главного героя
SetMousePos(display_get_width()/2,display_get_height()/2);
//Это чтобы камерой двигать

z=GetTerrainHeightAtPos(terrain,x,y)+5;/*Это чтобы камера
под землю не провалилась*/

if(keyboard_check(vk_up)){//если нажата кнопка вверх
with(gg){
Move(rotx,roty+180,1);//движемся туда куда смотрит герой
     //+180 всё из-за того что модель нестандартная
     //и если не поставить +180 робот пойдёт задом
first_frame=annach[2];//Первый кадр анимации
last_frame=ankon[2];//Последний кадр анимации
frame=-0.5;// Скорость анимации    
     }
}

if(keyboard_check(vk_down)){//если нажата кнопка вниз
with(gg){
Move(rotx,roty,1);//движемся назад
first_frame=annach[2];//Первый кадр анимации
last_frame=ankon[2];//Последний кадр анимации
frame=-0.5;// Скорость анимации
     }
}

if(keyboard_check(vk_left)){//если нажата кнопка влево
with(gg){
Move(rotx,roty+90,1);//движемся влево
first_frame=annach[2];//Первый кадр анимации
last_frame=ankon[2];//Последний кадр анимации
frame=-0.5;// Скорость анимации
     }
}
if(keyboard_check(vk_right)){//если нажата кнопка вправо
with(gg){
Move(rotx,roty-90,1);//движемся вправо
first_frame=annach[2];//Первый кадр анимации
last_frame=ankon[2];//Последний кадр анимации
frame=-0.5;// Скорость анимации
     }
}
if(keyboard_key=0)//если не нажата ниодна кнопка
{
with(gg){
first_frame=0;//Первый кадр анимации
last_frame=1;//Последний кадр анимации
frame=0;// Текущий кадр    
//Остановка анимации
}
}

if (MouseCheckButton(mb_left))//Если нажата левая кнопка мыши
{
with(gg){
first_frame=annach[0];//Первый кадр анимации
last_frame=ankon[0];//Последний кадр анимации
frame=-0.5;// Скорость анимации
kadr=GetCurrentFrame();//Узнаём какой кадр сейчас проигрываеться
if (collision_point(x,y,vrag,true,false))and(kadr=ceil((ankon[0]-annach[0])/2+annach[0]))
//Проверяем столкновение с врагом и кадр анимации
//Это надо чтобы удар происходил в центре анимации
    {
    vzhiznos-=ataka*2;//Уменьшаем жизни врага на атака*2
    //Здесь еще можно сделать анимацию врага
    show_message("Выбил "+string(ataka*2));//это сообщение рекомендуеться убрать в своей
    //игре оно для того чтобы было понятно что вы попали по врагу
    }
    }
}

if (MouseCheckButton(mb_right))//Если нажата правая кнопка мыши
{
with(gg){
first_frame=annach[1];//Первый кадр анимации
last_frame=ankon[1];//Последний кадр анимации
frame=-0.5;// Скорость анимации
kadr=GetCurrentFrame();//Узнаём какой кадр сейчас проигрываеться
if (collision_point(x,y,vrag,true,false))and(kadr=ceil((ankon[1]-annach[1])/2+annach[1]))
//Проверяем столкновение с врагом и кадр анимации
//Это надо чтобы удар происходил в центре анимации
    {
    vzhiznos-=ataka;//Уменьшаем жизни врага на атака
    //Здесь еще можно сделать анимацию врага
     show_message("Выбил "+string(ataka));//это сообщение рекомендуеться убрать в своей
    //игре оно для того чтобы было понятно что вы попали по врагу
    }
    }
}

if (vzhiznos<1)//если у врага кончились жизни
{
    opit+=120;//Повышаем опыт.Для игры ставьте значение поменьше
    //для того чтоб игрок не сразу получал уровень
    with(vrag) instance_destroy();//удаляем врага
    vzhiznos=30;//Повышаем жизни обратно
}

if (opit>99)//Если опыта больше 99
{
    ochki+=5;//Увеличиваем очки на 5
    opit=0;//Обнуляем опыт
    level+=1;//Увеличиваем уровень
}

Создайте объект sozdatel он будет создавать героя и врага.
В событии создания sozdatel:

globalvar gg,vrag;
gg=instance_create(176,172,model);//создание героя
vrag=instance_create(250,279,model);//создание врага

Теперь нужно создать ГУИ который будет показывать характеристики игрока.Для этого создайте объект gui.
В событие Draw(рисование) объекта gui добавьте следующий код:
DrawText(0,0,0,"АТАКА:"+string(ataka));//Рисуем атаку
DrawText(0,0,20,"ЗАЩИТА:"+string(zazhita));//Рисуем защиту
DrawText(0,0,40,"ЛОВКОСТЬ:"+string(lovkost));//Рисуем ловкость
DrawText(0,0,60,"ОПЫТ:"+string(opit));//Рисуем опыт
DrawText(0,0,80,"УРОВЕНЬ:"+string(level));//Рисуем уровень
DrawText(0,0,100,"ОЧКИ:"+string(ochki));//Рисуем количество очков
DrawText(0,0,120,"ЖИЗНИ:"+string(zhiznos)+"/"+string(zhiznvs));//Рисуем жизни

Далее поместите gui в комнату.Теперь нам требуеться создать объект plus.
Этот объект и будет распределять очки.После создания сразу снимите галачку "видимый" и поместите plus в комнату.
Теперь в событие шага(step) объекта plus поместите следующий код:

if ochki>0 then visible=true else visible=false;
//Это чтобы распределение очков появлялось только если есть что распределять

Далее в событие рисования(Draw) объекта plus следующий код:

//Рисуем эту самую информацию
DrawText(0,130,0,"Чтобы улучшить атаку нажмите 1");
DrawText(0,130,20,"Чтобы улучшить защиту нажмите 2");
DrawText(0,130,40,"Чтобы улучшить ловкость нажмите 3");
DrawText(0,130,120,"Чтобы улучшить жизни нажмите 4");

Осталось сделать последнее.Это добавить четыре события отпускания клавиши для объекта plus.
В событие отпускания клавиши 1(release 1-key):

if (ochki>0)//если очков больше нуля
{
ataka+=1;//Увеличиваем на 1 атаку
ochki-=1;//Уменьшаем на 1 очки
}

В событие отпускания клавиши 2(release 2-key):

if (ochki>0)//если очков больше нуля
{
zazhita+=1;//Увеличиваем на 1 защиту
ochki-=1;//Уменьшаем на 1 очки
}

В событие отпускания клавиши 3(release 3-key):

if (ochki>0)//если очков больше нуля
{
lovkost+=1;//Увеличиваем на 1 ловкость
ochki-=1;//Уменьшаем на 1 очки
}

В событие отпускания клавиши 4(release 4-key):

if (ochki>0)//если очков больше нуля
{
zhiznvs+=10;//Увеличиваем на 10 жизни(всего)
zhiznos+=10;//Увеличиваем на 10 жизни(осталось)
ochki-=1;//Уменьшаем на 1 очки
}

Вот и всё простой примерчик 3D RPG готов.Для нормальной игры вам потребуеться добавить множество врагов,характеристик и т.д.
Я вам продемонстрировал что создать RPG не так уж сложно.

Вот скрин из статьи:


Сообщение отредактировал ASD_W_GAMES - Среда, 28 Апреля 2010, 17:25
ASD_W_GAMESДата: Среда, 28 Апреля 2010, 13:53 | Сообщение # 3 | Тема: RPG от первого лица на Game Maker
был не раз
Сейчас нет на сайте
Да там всё бесплатно, правда что бы некоторые файлы скачать нужно набрать 15 сообщений на форуме либо 20 р ) но эт фигня если кому срочно надо примерчик могу так выложить
ASD_W_GAMESДата: Вторник, 27 Апреля 2010, 19:18 | Сообщение # 4 | Тема: Самая сложная игра!
был не раз
Сейчас нет на сайте
Тетрис самая тежёлая игра, нет я серьёзно biggrin не разу не прошёл...
ASD_W_GAMESДата: Вторник, 27 Апреля 2010, 19:01 | Сообщение # 5 | Тема: некомерчиский но на дисках
был не раз
Сейчас нет на сайте
Зачем тебе вообще продовать игры, ты больше времени потратишь на создание игр чем заработаешь денег, лучше создавай пока для интереса, а как научишся хорошо програмировать переходи на профисиональный движёк ShiVa например, (хотя его тож покупать надо)
ASD_W_GAMESДата: Вторник, 27 Апреля 2010, 18:20 | Сообщение # 6 | Тема: RPG от первого лица на Game Maker
был не раз
Сейчас нет на сайте
Статья
Пример
Мож пригодится )
ASD_W_GAMESДата: Воскресенье, 07 Июня 2009, 20:48 | Сообщение # 7 | Тема: Школа Ultimate 3D
был не раз
Сейчас нет на сайте
Ну через недёлю посмотрим
а пока регайтись ребята если есть вопросы
и да yBaPa6eu чё ты имел ввиду
Quote (yBaPa6eu)
немного загнули....снизьте планку

Добавлено (07.06.2009, 20:48)
---------------------------------------------
Мы его только недавно открыли чё вы хотити
щя начнём качать всё примеры и статьи что у нас есть
а у нас их много поверти
да иновые писать ещё остались силы
biggrin biggrin biggrin

ASD_W_GAMESДата: Воскресенье, 07 Июня 2009, 12:55 | Сообщение # 8 | Тема: Школа Ultimate 3D
был не раз
Сейчас нет на сайте
Открылся новый русскоязычный сайт Посвящённый Ultimate3D
http://shkola-ultim.3dn.ru/
Школа Ultimate 3D
Сайт на котором можно учится и учить созданию 3D игр на движке Ultimate3D Заходите, регистрируйтесь, читайте статьи которых вы больше не где не найдете, потому что мы пишем их сами для нашего сайта. Также через 4 дня будет ‘до фига’ исходников 3Д игр!
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг