Суббота, 27 Апреля 2024, 14:55

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Форум игроделов » Движки для разработки игр и сложные системы разработки » Движки для браузерных игр » Урок по созданию браузерной игры № 12 (Техническое описание модуля боя)
Урок по созданию браузерной игры № 12
vdmaalДата: Воскресенье, 09 Мая 2010, 09:10 | Сообщение # 21
был не раз
Сейчас нет на сайте
я тоже жду!! исходники скаачал поставил,а бой не получается .жму да черное окно и всё
AssasinДата: Воскресенье, 09 Мая 2010, 12:25 | Сообщение # 22
web-coder
Сейчас нет на сайте
vdmaal, бой еще не сделан.
vdmaalДата: Воскресенье, 09 Мая 2010, 20:16 | Сообщение # 23
был не раз
Сейчас нет на сайте
ясно.ждём с нетерпением продолжения уроков
kamiyamaДата: Воскресенье, 09 Мая 2010, 20:42 | Сообщение # 24
уже был
Сейчас нет на сайте
Спасибо за проделанную работу, все понятно и очень легко, ждем продолжения!
Удачи тебе на сессии, и с 9м мая, думаю твоя флешка завоюет 1ое место!
ПрофЭссор1Дата: Воскресенье, 09 Мая 2010, 21:05 | Сообщение # 25
Le Pallete Studio
Сейчас нет на сайте
Quote (Fairman)
(по слухам на котором карнаж построен),

карнаж писалась с нуля и не более, так что твой вариант с Warrior отпадает...


>>>>>>ПРОДАЕТСЯ ГОТОВАЯ ОНЛАЙН ИГРА<<<<<<

ОПИСАНИЕ: http://www.gcup.ru/forum/13-8911-1

MaskONДата: Воскресенье, 13 Июня 2010, 06:02 | Сообщение # 26
уже был
Сейчас нет на сайте
Assasin Большой респект. Давай уже порадуй боем и системой проведения боем и мне хватит ))
BotanДата: Воскресенье, 13 Июня 2010, 13:34 | Сообщение # 27
был не раз
Сейчас нет на сайте
оГо жестоко biggrin Ну а с другой стороны сколько тянуть то можно?? этот урок был написан 07.12.2009, пол года назад... wacko
AssasinДата: Воскресенье, 13 Июня 2010, 14:50 | Сообщение # 28
web-coder
Сейчас нет на сайте
Botan, с другой стороны у меня нету времени.
infermikДата: Четверг, 17 Июня 2010, 18:32 | Сообщение # 29
заслуженный участник
Сейчас нет на сайте
Мда много времени вот тут чтото соорудил =) я люди пробуйте типа что то тестовый бой можите постораться и впихнуть его вместе с интеграцией флеш(PHP+Flash) как тут делается в придыдущих уроках но он написан чисто для браузерок без интеграциии
http://depositfiles.com/files/wqoqpd2mc


Выпрямляю путем кнута и пряника
kirhaДата: Воскресенье, 27 Июня 2010, 23:26 | Сообщение # 30
уже был
Сейчас нет на сайте
Ув. Assasin, ли бо тот кто знает. Есть ли похожие курс не для рпг а для стратегии?
(с Вашими курсами инетерессно, но я не смогла адаптировать их в стратегию)
если есть возможность прошу написать мне, либо ответить в теме( если не там написала, то прошу прощения...)
B1zDelKinДата: Понедельник, 28 Июня 2010, 09:53 | Сообщение # 31
частый гость
Сейчас нет на сайте
Как было б приятно человеку, потратившему кучу времени на то, чтобы поделиться своим трудом, опытом и бизнес-часами, прочитать пост ака "спасибо за хороший старт... благодаря Вашим урокам я узнал о новой технологии, занялся ее изучением... добился определенных успехов, и теперь могу творить сам... ". Но череда "сделайте мне, потому что я сам не хочу делать и учиться" не ослабевает... думаю отчасти по этому цифра 12 уже долгое время является последней.

Постарались бы хоть что ли... Вот даже бой вам дали. Развивайся не хочу.

2 Ассасин
Если нужен бой лично тебе для продолжения, пиши в лс.

2 Инферник
Добрая душа - +

Anton_FДата: Понедельник, 05 Июля 2010, 06:02 | Сообщение # 32
был не раз
Сейчас нет на сайте
Assasin, большое спасибо за уроки.

С твоими подробными объяснениями прошел по всем урокам за три дня, с нулевыми знаниями флеш и php на начальном этапе. Чтобы самому начать что-то понимать потребовалось бы не меньше месяца.

Теперь нужно действительно постараться самому и изобрести модуль боя вооружившись учебниками smile

Но следующий урок все равно буду ждять с нетерпением.

Еще раз спасибо за труд.

infermikДата: Четверг, 29 Июля 2010, 12:45 | Сообщение # 33
заслуженный участник
Сейчас нет на сайте
Assasin а долго вы будите ещё писать уроки?? хотелось бы увидеть систему в действии. хотя бы 50 % написано?

Выпрямляю путем кнута и пряника


Сообщение отредактировал infermik - Четверг, 29 Июля 2010, 12:46
ilya-m9Дата: Суббота, 04 Сентября 2010, 05:47 | Сообщение # 34
был не раз
Сейчас нет на сайте
Когда продолжение?
usrashДата: Пятница, 24 Сентября 2010, 15:46 | Сообщение # 35
был не раз
Сейчас нет на сайте
Че несудьбя после каждой статьи исходники выкладывать
CannabisДата: Среда, 29 Сентября 2010, 19:31 | Сообщение # 36
был не раз
Сейчас нет на сайте
Assasin, большое спасибо за уроки) Хотя я еще не начал делать браузерную игру но уже за 2 дня все уроки пройду)
И я на дипломную работу хочу сделать не большую браузерную игрушку, так как в группе мало кто в чем шарит думаю я буду с самым коол дипломом)
Ну и конечно большая благодарность будет если вы выложите последние 2 урока, думаю вы успеете их выложить до начала летней сессии так как они мне очень необходимы) Сам я закончить не смогу так как знания php и mySQL очень малы(Жду с нетерпением) biggrin
maxim3333Дата: Суббота, 30 Октября 2010, 02:35 | Сообщение # 37
уже был
Сейчас нет на сайте
Народ подскажите пожалуйста что делать:
Я хочу сделать что то подобное браузерной игры (Лига 17) про покемонов!
Может у кого нибудь есть исходник этой игры (или может кто нить сможет его достать?
Просто у меня столько вопросов по созданию этой игры на которые я ни где не могу найти ответов!!!
А может кто нибудь знает человека или компанию которые занимаются разработкой исходников игр?
vovnetДата: Вторник, 14 Декабря 2010, 19:11 | Сообщение # 38
почетный гость
Сейчас нет на сайте
Для тех кто сильно ждет продолжения урока могу подсказать ход мысли, а кодировать уже будете сами.

1. Создаете таблицу "ударов" (либо зон в которые будут направлены удары), т.е. в ней будут поля ID_удара и Name_удара.
В ней будут записи типа:

Code

ID     Name
1     подзатыльник
2     пендаль
3     удар в челюсть
4     удар магии

2. Далее идет таблица поединка, в которой будут поля:

Code

ID_боя
Статус_боя (1-бой идет, 2-бой закончился)
Время_начала_боя
Время_последнего_хода
Таймаут
ID_1_игрока
ID_2_игрока
Ход_1_игрока
Ход_2_игрока

3. И собственно сама таблица боя:

Code

ID_хода
ID_поединка
ID_игрока_сделавшего_ход
ID_удара
Описание_удара (типа сообщение "игрок 'Вася' ударил 'Петю' на 16 хп")

4. Так же в таблицу 'userы' не забудьте добавить поле 'status_user', где 1-обычное состояние, 2-в бою, 3-бой закончен(показывает результат боя).

Далее реализовываете алгоритм боя на флэш, либо ява-скрипт для которого делаете выборку из таблицы 'users' по статам перса.


BlizzcraftДата: Вторник, 28 Декабря 2010, 13:36 | Сообщение # 39
частый гость
Сейчас нет на сайте
Я не совсем понял что к чему... Дата 12 урока соответствует 2009 году, в то время как уже 2011 на носу...
И вот собственно вопрос к автору уроков, планируется ли продолжение и доведения до победного конца данного курса???


игры с дорогими карточками
scorpius1100Дата: Среда, 23 Февраля 2011, 22:12 | Сообщение # 40
был не раз
Сейчас нет на сайте
Короче народ мне надоело ждать ! Как я понял Ассасин не доделает уроки!
Короче вот вам бой!
С ВАС +СЫ☺☺☻☻
Надеюсь разрабы Блиц Скулл простят меня т.к некоторые материалы взяты у них)☺☻☺☺☻☻ tongue
/*Справочник зон! ну куда бить будем☺*/
CREATE TABLE `body_zones` (
`BZ_ID` SMALLINT(1) unsigned NOT NULL DEFAULT 0,
`BZ_NAME` CHAR(20) NOT NULL DEFAULT '',
PRIMARY KEY (`BZ_ID`)
) TYPE=MyISAM;
INSERT INTO body_zones(BZ_ID,BZ_NAME) values(1,'Голова');
INSERT INTO body_zones(BZ_ID,BZ_NAME) values(2,'Торс');
INSERT INTO body_zones(BZ_ID,BZ_NAME) values(3,'Пояс');
INSERT INTO body_zones(BZ_ID,BZ_NAME) values(4,'Ноги');
CREATE TABLE `battle` (
`BAT_ID` BIGINT unsigned NOT NULL auto_increment, /*ID поединка*/
`USER1_ID` bigint(20), /*ID 1 игрока*/
`USER2_ID` bigint(20), /*ID 2 игрока*/
`TIMEOUT` SMALLINT(2), /*Таймаут*/
`STARTTIME` DATETIME, /*время начала поединка*/
`M1` SMALLINT(1) unsigned NOT NULL DEFAULT 0, /*Ход первого*/
`M2` SMALLINT(1) unsigned NOT NULL DEFAULT 0, /*Ход второго*/
`LASTMOVE` DATETIME, /*время последнего хода*/
`STATUS` SMALLINT(1), /*статус поединка 1-идет,2-завершен*/
PRIMARY KEY (`BAT_ID`)
) TYPE=MyISAM;
/* Таблица детализации поединка один на один */
CREATE TABLE `battledetails` (
`BATDET_ID` BIGINT unsigned NOT NULL auto_increment, /*ID строчки хода*/
`BAT_ID` BIGINT unsigned NOT NULL DEFAULT 1, /*ID поединка*/
`USERID` bigint(20), /*ID игрока сделавшего ход*/
`ATTACK` SMALLINT(1) unsigned NOT NULL DEFAULT 0, /*Зона атаки*/
`DEFEND` SMALLINT(1) unsigned NOT NULL DEFAULT 0, /*Зона защиты*/
`MESSAGE` CHAR(255) NOT NULL DEFAULT '', /*Описание действия*/
PRIMARY KEY (`BATDET_ID`)
) TYPE=MyISAM;
// узнаем каким номером мы находимсяя в строке боя 1 или 2, кто наш противник
// и кто уже успел сделать ход ?
$query = "SELECT BAT_ID,CHAR1_NAME,CHAR2_NAME,M1,M2 FROM battle WHERE CHAR1_NAME='$aNickName' OR CHAR2_NAME='$aNickName'";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
$aRow = mysql_fetch_array( $result);
$aBattleID = $aRow["BAT_ID"];
$aChar1 = $aRow["CHAR1_NAME"];
$aChar2 = $aRow["CHAR2_NAME"];
$aMove1 = $aRow["M1"];
$aMove2 = $aRow["M2"];
// определим некоторые параметры 1 и 2
// 1
$query = "SELECT * FROM users WHERE Nick_Name='$aChar1'";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
$aRow = mysql_fetch_array( $result);
$aStrength1 = $aRow["Character_Strength"];
$aEndurance1 = $aRow["Character_Endurance"];
$aCurHealth1 = $aRow["Character_CurHealth"];
// 2
$query = "SELECT * FROM users WHERE Nick_Name='$aChar2'";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
$aRow = mysql_fetch_array( $result);
$aStrength2 = $aRow["Character_Strength"];
$aEndurance2 = $aRow["Character_Endurance"];
$aCurHealth2 = $aRow["Character_CurHealth"];
if ( $aNickName == $aChar1 ){ // Мы под первым номером

$aShowEndurance1 = $aEndurance1;
$aShowHealth1 = $aCurHealth1;
$aShowEndurance2 = $aEndurance2;
$aShowHealth2 = $aCurHealth2;

$aOrder = 1;
$aOpponentNick = $aChar2;
// Проверим походил ли соперник
if (($aMove1 == 1) & ($aMove2 == 0)){
print('<SCRIPT>location.href="wait.phtml?NickName='.$aNickName.'&bat_id='.$aBattleID.'";</SCRIPT>');
}
if ($aMove1 == 0){
// мы не делали ход, делаем его сейчас!
if (!empty($_POST['attack'])) {
$aAttack = $_POST['attack'];
$aDefend = $_POST['defend'];
$query = "INSERT INTO battledetails (BAT_ID,CHAR_NAME,ATTACK,DEFEND) values ($aBattleID,'$aNickName',$aAttack,$aDefend)";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
// установим флаг хода для 1 игрока
$query = "UPDATE battle set M1=1 where CHAR1_NAME='$aNickName'";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
print('<SCRIPT>location.href="battle.phtml?NickName='.$aNickName.'";</SCRIPT>');
}
}
if (($aMove1 == 1) & ($aMove2 == 1)){ // расчитываем damage для обоих персонажей
CalcDamage($aChar1,$aChar2,$aBattleID); // считаем повреждения
print('<SCRIPT>location.href="battle.phtml?NickName='.$aNickName.'";</SCRIPT>');
}

} else { ....
function CalcDamage($aChar1,$aChar2,$aBattleID){
// обнуляем флаги ходов игроков
$query = "UPDATE battle set M1=0, M2=0 where BAT_ID=$aBattleID";
$result = mysql_query($query) or die("Query failed : " . mysql_error());

// параметры 1 игрока
$query = "SELECT * FROM users WHERE Nick_Name='$aChar1'";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
$aRow = mysql_fetch_array( $result);
$aStrength1 = $aRow["Character_Strength"];
$aCharLevel = $aRow["Character_Level"];
$aCurHealth1 = $aRow["Character_CurHealth"];
// параметры 2 игрока
$query = "SELECT * FROM users WHERE Nick_Name='$aChar1'";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
$aRow = mysql_fetch_array( $result);
$aStrength2 = $aRow["Character_Strength"];
$aCharLevel2 = $aRow["Character_Level"];
$aCurHealth2 = $aRow["Character_CurHealth"];

// кто куда ударил и что блокировал
// первый игрок
$query = "select * from battledetails WHERE CHAR_NAME='$aChar1' order by batdet_id DESC limit 1";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
$aRow = mysql_fetch_array( $result);
$aAttack1 = $aRow["ATTACK"];
$aDefend1 = $aRow["DEFEND"];
// второй игрок
$query = "select * from battledetails WHERE CHAR_NAME='$aChar2' order by batdet_id DESC limit 1";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
$aRow = mysql_fetch_array( $result);
$aAttack2 = $aRow["ATTACK"];
$aDefend2 = $aRow["DEFEND"];
// считаем повреждения, с учетом блоков
// куда бил игрок 1 и что блокировал игрок 2 ?

if ( ! Blocked($aAttack1,$aDefend2) ){
$aCurHealth2 = $aCurHealth2 - $aStrength1;
$aCurHealth2 = $aCurHealth2 < 0 ? 0 : $aCurHealth2;
$query = "UPDATE users set Character_CurHealth=$aCurHealth2 where Nick_Name='$aChar2'";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
}
// куда бил игрок 2 и что блокировал игрок 1 ?
if ( ! Blocked($aAttack2,$aDefend1) ){
$aCurHealth1 = $aCurHealth1 - $aStrength2;
$aCurHealth1 = $aCurHealth1 < 0 ? 0 : $aCurHealth1;
$query = "UPDATE users set Character_CurHealth=$aCurHealth1 where Nick_Name='$aChar1'";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
}
}
function Blocked($a,$d){
$def = array(1=>'12',2=>'23',3=>'34',4=>'41');
if( strpos($def[$d],$a) === false ){
$retv = false;
}else{
$retv = true;
}
return ($retv);
}
ВОТ ну както так )Думаю ошибки есть ну всерано хоть чтото ☺ Это бой ПВП А НЕ МОБОВСКИХ ХОТЯ МОЖНО ПОДРЕДАКТИРОВАТЬ И БУДЕТ МОБОВСКИЙ!!!

Сообщение отредактировал scorpius1100 - Среда, 23 Февраля 2011, 22:16
Форум игроделов » Движки для разработки игр и сложные системы разработки » Движки для браузерных игр » Урок по созданию браузерной игры № 12 (Техническое описание модуля боя)
  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

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