Войти
MainData - Добавден раздел о Dota2 MainData - Добавлен раздел о GTA V
Самые активные пользователи
На сайте уже 0 материалов. , которые оставили 2 комментария .
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Main Server Developments » Браузерные игры » Урок по созданию браузерной игры № 1
Урок по созданию браузерной игры № 1
ЕвгенийДата: Воскресенье, 02.12.2012, 20:53 | Сообщение # 1
Лейтенант
Группа: Администраторы
Сообщений: 41
Статус: Offline
Урок № 1 Обсуждение игры. Создание БД

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


web-coder

Сообщений: 1081
Сейчас нет на сайте Урок № 1 Обсуждение игры. Создание БД

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

Что понадобиться:
PSPad – программа для написания php скриптов ( можно и другие, но я пользуюсь этой и привык к ней ).
http://www.pspad.com/ru/download.php
FlashDevelop – для написания флеш модулей ( далее буду писать его сокращенно FD)
http://gcup.ru/forum/48-1963-1
xampp — сборка веб-сервера ( будем тестировать наши скрипты )
http://www.apachefriends.org/en/xampp-windows.html
http://gcup.ru/load/konstruktory_igr/rpg_maker/2-1-0-36

Так как я не очень хорошо рисую, все картинки буду брать из конструктора RPG Maker.
Думаю с программами определились, перейдем к описанию уроков.

База данных

Итак начнем с сердца игры, ее Базы Данных (далее БД). Для чего она нужна? В ней будут храниться все данные, такие как: характеристики персонажа, сообщения в чате, какие предметы находяться в инвентаре и т.д. Мы будем пользоваться БД MySQL, так как она очень хорошо подходит для наших php скриптов. БД хранит в себе таблицы, в каждой таблице находяться столбцы, например таблица «users» имеет 3 столбца: “login”, “pass”, “email”. Думаю с этим разобрались.

У нас будет 7 таблиц:
users – хранит все характеристики игрока
avatar – хранит вид персонажа
chat – хранит сообщения чата
inventar – отображает какие вещи в инвентаре
quest – хранит данные о квесте
battle – хранит данные о боях
enemy – хранит данные о врагах

В дальнейшем БД может дополниться. Теперь рассмотрим каждую таблицу отдельно.
В таблице users будем хранить такие данные:
id_user – уникальный номер персонажа
email — email игрока, по нему будет осуществляться вход в игру
pass - пароль
name — имя игрока, будет отображаться в самой игре и в чате
life – жизни персонажа
atk — значение атаки
def - значение защиты
lov – значение ловкости
lvl – уровень игрока
exp – опыт игрока
В таблице avatar такие данные:
id_ava – уникальный номер аватарки
gander – какого пола персонаж
vid – какой вид у персонажа
path – путь к папке с картинками персонажа
В таблице chat такие данные:
id_msg – уникальный номер сообщения
msg – сообщение
time_msg – время когда было написано сообщение
wrt_user – кто написал
who – кому написали
В таблице inventar такие данные:
id_inv – уникальный номер вещи
name_object – название вещи
atk_up – сколько добавляет к атаке
def_up - сколько добавляет к защите
lov_up - сколько добавляет к ловкости
life_up - сколько добавляет к жизням
В таблице quest такие данные:
id_quest – уникальный номер квеста
cont_quest – завершен квест или нет?
kill_quest – сколько убито противников
В таблице battle такие данные:
id_btl – уникальный номер битвы
end_btl – исход битвы ( выиграли вы или проиграли )
В таблице enemy такие данные:
id_enm – уникальный номер врага
name_enm – имя врага
life_enm – жизни врага
atk_enm - атака
def_enm - защита
lov_enm - ловкость
exp_enm – сколько опыта даст если победить его
path_enm – путь к картинкам врага

Думаю все, если чего то не хватает, то по ходу написания доделаем. С установкой xampp я думаю разобрались. Теперь запустите его, в xampp Control Panel должно быть запущено Apache и MySQL, все остальное выключено. Напротив MySQL есть кнопка Admin, жмите на нее и попадете в утилиту phpMyAdmin, которая позволяет создавать БД. В открывшемся окне браузера находим вкладку SQL и жмем ее (картинка). Теперь пришло время создать нашу БД, а также ознакомиться со скриптовым языком SQL. Ниже приведен код и прокоментирован, если все таки возникнут вопросы, то задавайте.

Code
кодировкой  cp1251(для того что б поддерживался русский язык)*/  
  USE testgame; /* используем данную БД */  

  /* таблица персонажа */  
  CREATE TABLE `users` (  
                             id_user    bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */  
                             email    CHAR(64), /* текстовый тип (64 символа) */  
                             pass  CHAR(32), /* текстовый тип (32 символа) */  
                             name  CHAR(32), /* текстовый тип (32 символа) */  
                             life  INT DEFAULT 50, /* числовой тип, по умолчанию равен 50 */  
                             atk  INT DEFAULT 7, /* числовой тип, по умолчанию равен 7 */  
                             def  INT DEFAULT 5, /* числовой тип, по умолчанию равен 5 */  
                             lov  INT DEFAULT 7, /* числовой тип, по умолчанию равен 7 */  
                             lvl  INT DEFAULT 1, /* числовой тип, по умолчанию равен 1 */  
                             exp  INT DEFAULT 0, /* числовой тип, по умолчанию равен 0 */  
                            PRIMARY KEY  (`id_user`)  /* Показываем что уникальным номером у нас являеться id_user */  
  ) ENGINE=MyISAM DEFAULT CHARSET=cp1251; /* Обозначаем тип таблицы MyISAM. Таблицы типа MyISAM показывают хорошие результаты при выборках SELECT. Для .jktt подробного изучения читайте Самоучитель по MySQL 5 */  

  /* таблица аватара */  
  CREATE TABLE `avatar` (  
  id_ava  bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */  
  gander  SMALLINT(1), /* Пол игрока, цыфровой тип(1 цыфра) */  
  vid  SMALLINT(2), /* Вид игрока,  цыфровой тип(2 цыфры)*/  
  path  CHAR(32), /* Путь к папке с рисунками персонажа, текстовый тип(32 символа) */  
  PRIMARY KEY (`id_ava`) /* Показываем что уникальным номером у нас являеться id_ava */  
  ) TYPE=MyISAM;                           

  /* таблица чата */  
  CREATE TABLE `chat` (  
  id_msg  bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */  
  msg  CHAR(255), /* текстовый тип(255 символов) */  
  time_msg    CHAR(5), /* текстовый тип(5 символов) */  
  wrt_user    CHAR(32), /* текстовый тип(32 символов) */  
  who  CHAR(32), /* текстовый тип(32 символов) */  
  PRIMARY KEY (`id_msg`) /* Показываем что уникальным номером у нас являеться id_msg */  
  ) TYPE=MyISAM;                           

  /* таблица инвентаря */  
  CREATE TABLE `inventar` (  
  id_inv  bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */  
  name_object    CHAR(64),  
  atk_up  INT(2),  
  def_up  INT(2),  
  lov_up  INT(2),  
  life_up  INT(4),  
  PRIMARY KEY (`id_inv`) /* Показываем что уникальным номером у нас являеться id_msg */  
  ) TYPE=MyISAM;                           

  /* таблица квеста */  
  CREATE TABLE `quest` (  
  id_quest    bigint(20) unsigned NOT NULL auto_increment,  
  cont_quest  CHAR(32),  
  kill_quest  INT DEFAULT 0,  
  PRIMARY KEY (`id_quest`)  
  ) TYPE=MyISAM;                           

  /* таблица боя */  
  CREATE TABLE `battle` (  
  id_btl  bigint(20) unsigned NOT NULL auto_increment,  
  end_btl    CHAR(32),  
  PRIMARY KEY (`id_btl`)  
  ) TYPE=MyISAM;                           

  /*  */  
  CREATE TABLE `enemy` (  
  id_enm    bigint(20) unsigned NOT NULL auto_increment,  
  name_enm    CHAR(32),  
  atk_enm    INT,  
  life_enm    INT,  
  def_enm    INT,  
  lov_enm    INT,  
  exp_enm    INT,  
  path_enm    CH        AR(32),  
  PRIMARY KEY (`id_enm`)  
  ) TYPE=MyISAM;                           

  /* Добавляем в таблицу данные о враге */  
  INSERT INTO enemy (name_enm,  
  atk_enm,life_enm,def_enm,lov_enm,exp_enm,path_enm)  
  VALUES('Призраки','7','40','6','4','10','path/enemy/');


С таблицей справились, проверяем, все нормально. SQL запрос прошел удачно. На этом урок заканчиваеться, ждите продожения

Если возникли вопросы пишите в этой теме.
Если есть какие то подправки в код, тоже пишите, так как я так же как и вы учусь создавать браузерную флеш игру и тоже могу ошибаться.
 
Форум » Main Server Developments » Браузерные игры » Урок по созданию браузерной игры № 1
  • Страница 1 из 1
  • 1
Поиск:
Последние посты с форума
  • Советы в роскрутки
  • Написал: nikskameykin (21.10.2016)
  • Урок № 2 Создание формы входа и I этап регистрации
  • Написал: vazonov11 (11.01.2014)
Лучшие посты на форуме
  • Советы в роскрутки
  • Написал: nikskameykin (21.10.2016)
  • Урок № 2 Создание формы входа и I этап регистрации
  • Написал: vazonov11 (11.01.2014)
Популярные теги
uCoz, шаблон, Скрипты, статья, модуль, верстка, иконки, общение, форум, фотошоп, впечатления, картинки, видео, помощь, обучение, эффекты
Навигация по сайту
  • Главная страница
  • Форум сайта
  • Пользователи
  • Архив - файлов
  • Раздел Dota2
  • Контакты
Последние комментарии
Написал, Евгений 14:24
Отлично
Наши партнеры
Купить место за 5 рублей
Реклама
Купить место за 20 рублей
Случайные файлы
  • Компания Ghost Games рассказала, насколько большим будет игровой мир Need for Speed
  • Просмотров: 474
  • GTA 5 - Анонс, новость дня.
  • Просмотров: 589
  • Первые подробности Assassin's Creed 4: Black Flag
  • Просмотров: 586
  • Новости MainData
  • Просмотров: 543
  • Представители Naughty Dog случайно проболтались о судьбе The Last of Us 2
  • Просмотров: 622
  • Valve собирается основательно переработать Counter-Strike: Global Offensive
  • Просмотров: 479
  • Первый национальный турнир по Dota 2
  • Просмотров: 491
Статистика

Все материалы на сайте размещены исключительно в ознакомительных целях. Все права на материалы, представленные на сайте, принадлежат их законным владельцам (правообладателям).

Шаблоны для uCoz.