RU

"Апокалипсис". игра от Taunco

Дамир Белялов #654 11.12.2012 14:26 29 comments 17065 views

Игра “Апокалипсис”
Описание: “В этой игре вам придётся спасти мир от монстров исходящих с поместья графа Дракулы.”

я создал новую игру соблюдая поучения Некса. Пишите ответы! пожалуйста, пртестируйте мою игру.

stekk.zip

Edited at 14.12.2012 19:14 (13 years ago)

Taunco,
не веришь, что использование COUNTER не по назначению ведёт к багам? Пожалуйста, вот тебе пример.

if exp=>maxexp: level=level+1 & skillP=skillP+1

Этот код должен вызываться там, где увеличивается переменная exp, то есть в бою. А у тебя он вызывается в COUNTER. Как результат, игрок начинает с уровнем 1. А по задумке он должен начинать с уровнем 0, и только нарастив экспу до 25, переходить на уровень 1.

Со всем прочим кодом в COUNTER тот же косяк, но не настолько явно выраженный.

Дамир Белялов #654 28.12.2012 16:27 (13 years ago)

Я ещё доделал апокалипсис. Пожалуйста комментируйте:
+ добавлено
- удалено
* изменено

+ магия
+ 2 заклинания
+ 2 предмета
- 4 музыки
+ 2 музыки
в принципе всё пока что …

новая обновка здесь!

Дядюшка Ау #721 29.12.2012 18:23 (13 years ago)

Я слежу за этой игрой с первой версии. Поиграл и в эту версию. Минут за 10 выиграл. Складывается ощущение, что автор не планирует сделать это полноценной игрой, а готовит сбалансированную боевку для какого то другого проекта. Слишком много лулзов, мало пафоса, не видно возможностей для расширения чего либо кроме боевки, нет и не предвидится ролевого отыгрыша.
Теперь что мне не понравилось как игроку.
1)Если уж ай фоны и телефоны нельзя никак применить кроме как продать, то зачем они захламляют инвентарь. На мой взгляд либо деньгами выдавать, как было в первых частях, либо показывать один телефон и сколько их в инвентаре.
В общем инвентарь не впечатлил. Если будет еще больше вещей, то он превратиться в помойку. Надо как минимум сделать слотами. Например тыкаешь в слот оружие, там показывается все оружие, тыкаешь в слот броня, показывается вся броня. Тыкаешь в экипировку, показывает что одето. Нечто подобное очень хорошо организовано в игре Хранители Старграда. Код там не сложный. Рекомендую изучить инвентарь Хранителей.
2)Что бы всех вынести не обязательно даже качаться, покупаешь стальной нагрудник и кобальдовую секиру, одеваешь медный котелок на репу, и идешь мочить ветряные мельницы которые в основном наносят 0 урона. Зачем такое разнообразие брони и оружия, если цены приблизительно одинаковые, можно сразу взять что по круче и набив несколько гадов идти бить глав-гада. У меня ушло 4 зелья на него.
3)Магия, я не вкурил как ей пользоваться. Нет описания заклинания, нет его стоимости, урона. Потратил несколько очков в ману, довел ее до 9, но кнопка магии в бою не реагирует. Вот фиг знает, сколько мне надо для нанесения одного удара. Я не телепат. Поэтому на прокач маны я забил болт. Не эффективно, как в сказке, да мы молока не видали пока.
4)Не сразу до меня дошло что те зеленые звездочки на экране это моя жизнь, я все ломал голову что это. Потом дотумкал, в старом ламповом виде было как то кошерней. При наличии жизни выраженной в цифре, я мог хотя бы рассчитать в уме итог боя после первого раунда.
5)Статус. Слишком много крутить колесиком. Надо либо как то разделить на статы, экипировку, звания, либо убрать nl, зачем эти отступления? И еще, убрать пустые строки. Хотя бы так как я привел ниже.

if $head > 0:PL'На репе: <<$HEAD>>' &nl
 if shapka >0:PL'Защита: <<shapka>>' & nl
 if $telo > 0:PL'На теле: <<$telo>>' & nl
 if $ruki > 0:PL'В руках: <<$ruki>>' & nl
 if $shea > 0:PL'на шее: <<$shea>>' & nl

6) Теперь к самому важному. Боевка. Если не считать того что противники не в состоянии пробить защиту игрока то боевка все равно очень слабая. Бой одной кнопкой, зачем он тогда вообще нужен? Ввел бы один навык, крутость, тот у кого он больше тот и выиграл. Зачем было заморачиватся на какие то формулы? Если что, это был сарказм. Бой одной кнопкой, убог и жалок.
Корейский рандом слишком плоский, удача не может повернуться задом или передом, нет критов. Это было бы хоть какое то разнообразие при одно кнопочном бое.
Боевка это не паханная целина в QSP я видел пока только мерзкие, омерзительные и откровенно поганые боевки. Это блин такой камень преткновения о который ломаются лучшие умы. Прошу не предлагать в качестве контр аргумента боевку Тринити, автор конечно вложил в нее много сил, за что ему искренний мой респект и уважуха, но получилось как всегда, говоря словами ослика Иа, душераздирающее зрелище.
Если не слишком углубляться в дебри то можно сделать боевку хотя бы на основе игровых праил GURPS. Только допилить их напильником до нужной кондиции.
Приведу пример боевки GURPS под редакцией моего напильника. Я в игрушке сделал каг бэ тырнет и там как бэ онлайн игру. Не фонтан, но по крайней мере в ней есть хоть какие то неожиданности, в виде критов, промахов, и износа шмота. Да и сделана она простенько и легко понятна.

Локация Игра. (Создание перса, магазин и.т.д. В локации stat отслеживается текущее время, что бы игрок видел сколько часов он висит в игре.)

Spoiler
clr
gs'stat'

if accaunt = 0:
     act 'Зарегистрировать аккаунт':
     cla
     Set accaunt = 1
     $name = input ("Как будут звать вашего игрового персонажа?")
     if $name = 0:Set $name = 'Игрок'
     Set lvl = 1
     
     Set power = 10
     Set speed = 10
     Set agil = 10
     Set vital = 10
     Set health = vital*10
     'Вы регистрируетесь и создаете персонажа.'
     act 'Играть':gt 'игра'
     end
end

if accaunt = 1 and час < 23:
*clr
Set expnext = lvl*100
'<<$name>> Уровень <<lvl>>.' 
'Опыта <<exp>>, опыта нужно до следующего уровня <<expnext>>'
'Жизнь <<health>>'
'Сила <<power>>'
'Скорость <<speed>>'
'Ловкость <<agil>>'
'Стойкость <<vital>>'
if weapon > 0:'<<weapon>> урон от оружия'
if defence > 0:'<<defence>> защита от брони'
'Побед <<win>>, Поражений <<loss>>'

     if health < vital*10:
		 act 'Ждать час пока восстановится жизнь':
		 cla
		 Set час = час + 1
		 Set health = vital*10
		 'Вы ждете час и здоровье вашего персонажа восстанавливается.'
		 act 'Играть':gt 'игра'
		 end
     end
     if exp >= expnext:
         act 'Повысить уровень':
         Set skillpoint = 5
         Set lvl = lvl + 1
         Set exp = 0
         gt'exp'
         end
     end
     
     act 'Сражаться':
     Set час = час + 1
     Set lvlE = lvl
     Set weaponE = RAND (0,5)
     Set expE = lvl*5
     Set virand = RAND (0,lvl*5)
     if virand < lvl*5:Set porand = RAND (0,lvl*5 - virand)
     Set koef = virand + porand
     if koef < lvl*5:Set agrand = RAND (0,lvl*5 - koef)
     Set koef = virand + porand + agrand
     if koef < lvl*5:Set sprand = lvl*5 - koef
     Set powerE = 8 + porand
     Set speedE = 8 + sprand
     Set agilE = 8 + agrand
     Set vitalE = 8 + virand
     Set healthE = vitalE*10
     Set narand = RAND (1,5)
     if narand = 1:Set speedE = speedE + 5&Set $nameE = 'Эльф'
     if narand = 2:Set agilE = agilE + 5&Set $nameE = 'Темный Эльф'
     if narand = 3:Set powerE = powerE + 5&Set $nameE = 'Орк'
     if narand = 4:Set healthE = healthE + 20&Set $nameE = 'Гном'
     if narand = 5:Set weaponE = weaponE + 6&Set $nameE = 'Человек'
     gt'fight','start'
     end
     
     if money >= 500:
         act 'Купить мечь на 5 урона (500 руб)':
         cla
         Set money = money - 500
         Set weapon = 5
         gt 'игра'
         end
         act 'Купить броню на 5 защиты (500 руб)':
         cla
         Set money = money - 500
         Set defence = 5
         gt 'игра'
         end
     end
     
     if money >= 1000:
         act 'Купить синий мечь на 10 урона (1000 руб)':
         cla
         Set money = money - 1000
         Set weapon = 10
         gt 'игра'
         end
         act 'Купить синюю броню на 10 защиты (1000 руб)':
         cla
         Set money = money - 1000
         Set defence = 10
         gt 'игра'
         end
     end
     
     if money >= 1500:
         act 'Купить фиолетовый мечь на 15 урона (1500 руб)':
         cla
         Set money = money - 1500
         Set weapon = 15
         gt 'игра'
         end
         act 'Купить фиолетовую броню на 15 защиты (1500 руб)':
         cla
         Set money = money - 1500
         Set defence = 15
         gt 'игра'
         end
     end
end

Локация exp (Распределение навыков.)

Spoiler
Set health = vital*10
'<<lvl>> уровень'
'Опыт - <<exp>>' 
'<<power>> - Сила'
'<<speed>> - Скорость'
'<<agil>> - Ловкость'
'<<vital>> - Стойкость'
pl'<<health>> - Здоровье'
'<<skillpoint>> - очков повышения навыков.'

if skillpoint = 0:
     act 'Выйти':gt'игра'
end

if skillpoint > 0:
     act 'Сила':
     cla
     Set skillpoint = skillpoint - 1
     Set power = power + 1
     gt'exp'
     end
     act 'Скорость':
     cla
     Set skillpoint = skillpoint - 1
     Set speed = speed + 1
     gt'exp'
     end
     act 'Ловкость':
     cla
     Set skillpoint = skillpoint - 1
     Set agil = agil + 1
     gt'exp'
     end
     act 'Стойкость':
     cla
     Set skillpoint = skillpoint - 1
     Set vital = vital + 1
     gt'exp'
     end
end

Локация fight (собственно сам бой)

Spoiler
if $ARGS[0]='start':
cla
*nl
'==========================='
'<<$nameE>> уровень <<lvlE>>'
'Жизнь врага <<healthE>>'
'Ваша жизнь <<health>>'
'==========================='
*nl
     if healthE > 0:
	 '<<$nameE>> бросается в атаку'
	 wait 1000
	 Set broreactE = RAND (1,speedE)
	 if broreactE >= speedE*3/4:'<<$nameE>> наносит вам <font color=red>КРИТИЧЕСКОЕ ПОПАДАНИЕ</font>'&xgt'fight','kritE'
	 if broreactE < speedE/4:'<<$nameE>> проваливает атаку'&xgt'fight','player'
	 if broreactE < speedE*3/4 and broreactE >= speedE/4:&xgt'fight','udarE'
	 end
	 if healthE <= 0:
	 Set exp = exp + expE
	 Set win = win + 1
	 if weapon > 0:Set weapon = weapon - 1
	 if defence > 0:Set defence = defence - 1
	 '<<$nameE>> падает на землю. Вы победили!'
	 act 'Вернуться':gt'игра'
	 end	

end

if $ARGS[0]='kritE':
cla
!Критическое попадание, защита не действует
Set kritrand = RAND (1,speedE)
Set uronE = kritrand + powerE + weaponE
'Удар был резким и внезапным вы не успели защитится от него'
'<<$nameE>> наносит вам <<uronE>> критического урона'
Set health = health - uronE
xgt'fight','player'
end

if $ARGS[0]='udarE':
cla
!Ударил прицельно, но должен пробить защиту
Set uvorot = RAND (0,agil)
Set popadE = RAND (0,speedE)
     if uvorot > popadE:
     'Вы уклонились от удара'
     xgt'fight','player'
     end
     if uvorot <= popadE:
     Set protect = RAND (0,uvorot)
     Set prot = protect + defence
     Set uronE = powerE + weaponE
     Set uronE = uronE - prot
     if uronE <= 0:Set uronE = 0
     Set health = health - uronE
     '<<$nameE>> наносит вам <<uronE>> урона'
     xgt'fight','player'
     end
end

if $ARGS[0]='player':
cla
!Игрок атакует
*nl
'==========================='
'<<$nameE>> уровень <<lvlE>>'
'Жизнь врага <<healthE>>'
'Ваша жизнь <<health>>'
'==========================='
*nl
     if health <= 0:
     Set loss = loss + 1
     if weapon > 0:Set weapon = weapon - 1
	 if defence > 0:Set defence = defence - 1
     'Вы проиграли'
     act 'Вернуться':gt'игра'
     exit
     end
     
     if health > 0:
     act 'Атака':gt'fight','atak'
     end
end

if $ARGS[0]='atak':
cla
*nl
'Вы бросаетесь в атаку'
wait 1000
Set broreact = RAND (1,speed)
if broreact >= speed*3/4:'Вы наносите <font color=red>КРИТИЧЕСКОЕ ПОПАДАНИЕ</font>'&xgt'fight','krit'
if broreact < speed/4:'Вы проваливаете атаку'&gt'fight','start'
if broreact < speed*3/4 and broreact >= speed/4:&xgt'fight','udar'
end

if $ARGS[0]='krit':
cla
!Критическое попадание, защита не действует
Set krrand = RAND (1,speed)
Set uron = krrand + power + weapon
'Вы нанесли резкий и внезапный удар. <<$nameE>> не успел защитится от него.'
'Вы наносите <<uron>> критического урона'
Set healthE = healthE - uron
xgt'fight','start'
end

if $ARGS[0]='udar':
cla
!Ударил прицельно, но должен пробить защиту
Set uvorotE = RAND (0,agilE)
Set popad = RAND (0,speed)
     if uvorotE > popad:
     '<<$nameE>> уклонился от удара'
     xgt'fight','start'
     end
     if uvorotE <= popad:
     Set protectE = RAND (0,uvorotE)
     Set protE = protectE + defenceE
     Set uron = power + weapon
     Set uron = uron - protE
     if uron <= 0:Set uron = 0
     Set healthE = healthE - uron
     'Вы наносите <<uron>> урона'
     xgt'fight','start'
     end
end

Дерзайте в своих благих начинаниях. Но в боевочку все же стоит добавить изюминок, станов, критов, промахов, кровотечений, уворотов. Опять же что бы противники стилистически отличались, один станит, другой лупит фаерболами как чекнутый, третий очень скользкий, что трудно поймать на удар. У меня этого нет, но я и не ставил целью сделать хорошую боевку. Мне хватало однокнопочной по задачам игры. А у вас же во главе угла боевка, следовательно ее и надо развивать.

Дядюшка Ау,
поясняю, откуда берётся “однокнопочная боёвка” - новички как правило берут её из примеров кода: Пример реализации боя.
Согласен, этот бой очень примитивный.

Дядюшка Ау:

Боевка это не паханная целина в QSP я видел пока только мерзкие, омерзительные и откровенно поганые боевки. Это блин такой камень преткновения о который ломаются лучшие умы.

Всё правильно, но это относится не только к текстовым играм и qsp в частности, но ко всем играм, где боёвка нужна в принципе. Боёвка - самая сложная часть игры даже в играх ААА класса. Удачаня боёвка - 3/4 успеха.

Дядюшка Ау:

Если не слишком углубляться в дебри то можно сделать боевку хотя бы на основе игровых праил GURPS. Только допилить их напильником до нужной кондиции.

А вы попробуйте сделать игру с такой боёвкой. Только чтобы это была пускай небольшая, но полноценная игра, а не сухой пример, оторванный от действительности. Чтобы в игре с такой системой стала интересна прокачка, сражения, торговля, быть может.

P.S. надо бы Нексу перенести обсуждение о боёвке в отдельный топик (но в этом же разделе, ибо по теме)

Zeantar,
отдельных рассуждений о боёвках и так хватает. Здесь обсуждается боёвка применительно к игре “Апокалипсис”. Если Дядюшка Ау захочет, он сам может создать по своей GURPS-боёвке отдельную тему.

Дядюшка Ау #721 30.12.2012 12:38 (13 years ago)

Zeantar:

А вы попробуйте сделать игру с такой боёвкой. Только чтобы это была пускай небольшая, но полноценная игра, а не сухой пример, оторванный от действительности. Чтобы в игре с такой системой стала интересна прокачка, сражения, торговля, быть может.

Аргумент “сперва добейся”. Я вас где то задел лично? Если так, то извините, я вас не знаю и не имею причин задевать вас.
Меня не интересует создание игры, где во главе угла будет боевка. Пример я привел не отвлеченный, он из моей игры, те функции что я возложил на боевку он выполняет, большего мне пока не нужно. А понятие интересна игра или нет, это на столько размытое понятие, что тут и обсуждать не чего. Мне интересно то что я создаю, но гарантий, что это будет интересно другим, я дать не могу, каждому свое.

Дело в том, что ваш совет “использовать GURPS” или иную свободную систему правил бесполезен без конкретики. С таким же успехом можно было бы просто сказать: “сделайте игру лучше”, ничего при этом не объясняя - это советы одного уровня. GURPS достаточно сложная система, не так ли? Придется её переработать полностью, чтобы уложиться в рамки текстовой игры. По сути это будет совсем другая система правил. А потому ваш совет “слегка поработать над GURPS напильником” выглядит легкомысленно. :) Дьявол кроется в деталях, потому я и предложил вам написать небольшую игру с подобной боевой системой. Не отвлеченный пример, а готовую игру - пускай небольшую и демонстрационную. Ведь придумать несколько параметров - сила, ловкость, телосложение и т.п. - довольно просто. Тяжело найти баланс, чтобы играть было не слишком просто, но и не муторно, а также подходящую систему развития персонажа, которая вписалась бы в рамки текстовых игр. Пока не будет готовой игры, хотя бы прототипа, оценить гармонию боевой системы невозможно.

В любом случае будет любопытно взглянуть на вашу игру. Успехов!

Дядюшка Ау #721 03.01.2013 22:05 (13 years ago)

Я не в коем случае не призываю использовать GURPS. Но в любом случае бой это прежде всего формула и проще не изобретать велосипед, а взять уже готовый велосипед, то есть формулу и очевидно что формулу надо брать не со Скайрима или Фалаута, а с настольных РПГ, таких как DnD, GURPS, или еще каких. Допиливать напильником придется в любом случае. Тупо воспроизводить книгу правил GURPS в игре не рационально, например урон зависит от силы, и он не укладывается в общую формулу, а вычисляется из конкретного значения силы. Придется вбивать расчет урона для всех возможных значений силы, что не есть гуд. Так что основная мысль конечно в том, что надо делать боевку разнообразней. Я просто указал самые легкие пути, оставить одну кнопку, добавить станы, увороты, криты, кровотечения, разнообразить тактику противника, правила вычисления того же крита или уворота проще взять с какой нибудь другой системы, чем рассчитывать самому, это не так просто как может показаться. Что я не правильно сказал? Или мне в качестве совета надо выкладывать свою игру которая будет превосходить на голову игру автора? Упорство автора, мне очень симпатично, на столько, что я даже потрудился зарегистрироваться и потратил свое время, что бы помочь ему с направлением развития игры. Сейчас я уже конечно жалею, что сделал это, мне оказывается надо было с готовой игрой приходить.

очевидно что формулу надо брать не со Скайрима или Фалаута, а с настольных РПГ, таких как DnD, GURPS, или еще каких.

А мне вот нравится в jRPG боёвка. Она и простая и достаточно интересная.

Дамир Белялов #654 05.01.2013 16:43 (13 years ago)

обновка за 05,01,13
Добавил 9 артефактов
добавил жену в доме
добавил 1 яд
добавил эффекты для артефактов
для деревянного щита меню ещё нет

Дамир Белялов #654 07.01.2013 11:36 (13 years ago)

Так я хочу знать ваше общее мнение об игре!
Укажите:
1 фунции макс 10 баллов
2 оформление макс 10 баллов
3 предметы и их функции макс 10 баллов
4 сюжет макс 5 баллов
5 бой макс 10 баллов
6 концовка макс 10 баллов

Aleks Versus Moderator 07.01.2013 12:04 (13 years ago)

вот тебе наипростейший пример организации предметов в инвентаре. Предметы добавляются через специальную подпрограмму, которая в зависимости от условий добавляет новый “предмет” в инвентарь, или просто увеличивает количество.
пример организации рюкзака

Дядюшка Ау #721 16.01.2013 08:57 (13 years ago)

1 фунции макс 10 баллов, фиг знает, я не понял вопроса, что за функции такие.
2 оформление макс 10 баллов, цветовая гамма приятная для глаз, иконки, только шрифт огромадный, в экран не лезет, 9 баллов.
3 предметы и их функции макс 10 баллов, предметов много, разнообразные, очень не плохо, но все же на максимум не тянет, 8 баллов.
4 сюжет макс 5 баллов, - да ладно, где же там сюжет, есть только указание, плохие находятся там, фас. 2 балла.
5 бой макс 10 баллов, с ходу вылазят ошибки, я убил противника первым же ходом, а у меня вылазит кнопка бежать, плюс примитивность боя и однообразность. Итого 2 из 10.
6 концовка макс 10 баллов, не доиграл, раньше доигрывал до конца потому что можно было просто тыкать в самую верхнюю кнопку, сейчас постоянно вылазит кнопка бежать, надоело мышью шевелить.

Log in or Register to post comments.