| Проект: Последний вирус |
|
WfalconW
| Дата: Понедельник, 05.01.2009, 07:10 | Сообщение # 1 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 1536
Статус: Offline
|
Название: The Last Virus (Последний вирус) - ДЕМО Жанр: Шутер, РПГ, Хоррор Скриншоты: Описание: Игра, которая пока не имеет чёткой консистенции. В некоторых местах она комочками, в некоторых гладкая. Вы выбираете одного из трёх персонажей и берёте старый, но надёжный миниган, который не стрелял несколько лет и идёте защищать остатки города, после падения метеорита, который заразил местную фауну страшнейшим вирусом. Пока от финального геймплея тут ещё далеко, но уже сейчас можно заценить демо уровень. Там много недоработок, но многие из них на данный момент исправлены. Среда разработки: GameMaker 7.0 Разработчики: Александр WfalconW Соколов Jeners - кровь, туман и куча копитальных исправлений многих важных деталей Wertolet - коды к компьютеру И другие... Дата начала работы: Полтора года назад Дата релиза: не известна Способ распространения: Бесплатно Ожидаемая обратная связь: Поиск ошибок и помощь в некоторых модулях кода. Буду рад любой помощи. Присоединяйтесь) Дополнительно: Разрешено писать прилюдно про найденные фичи и секреты, хоть их и не много) А так же тактику игры))) Старые ссылки будут серые, а самая новая зелёной, не путайте пожалуйста! Скачать: Версия от: 21.04.2009 Полная версия: Народ: http://narod.ru/disk/7964372000/FinalVirusDemo.rar.html Лайт версия: Народ: http://narod.ru/disk/7969092000/TheLastVirusLite.7z.html Версия от: 27.04.2009 Полная версия: Прямая ссылка (7.89мб) Версия 0.20 от: 04.06.09 Размер 9.98mb Депозит Летитбит Народ Версия 0.37 от: 05.11.09 Размер 11.2mb Народ gmaker.su
Версия 0.43 от: 12.06.10 Размер 21.7 мб ФАЙЛЫ ПЕРАЗАЛИТЫ С ПОПРАВКОЙ ИНВЕНТАРЯ file.qip.ru Народ
Lie To me (Теория лжи) Работаю над проектом в большей степени в выходные)
|
| |
| | |
|
Click97
| Дата: Понедельник, 05.01.2009, 09:51 | Сообщение # 2 |
Болтун
Группа: Пользователь
Сообщений: 167
Статус: Offline
|
Quote (WfalconW) Шутер с элементами РПГ Достойно. Графика по 10-ти бальной шкале на 8. Идея на 10+! Буду ждать игру. Дему ждать не буду, посколько потом не интересно будет играть.
=^^=
|
| |
| | |
|
Mugen
| Дата: Понедельник, 05.01.2009, 10:18 | Сообщение # 3 |
Болтун
Группа: Проверенные
Сообщений: 247
Статус: Offline
|
Судить по этому скрину я не смог, единственный момент: аптечка по размерам больше, чем сам герой Ответы: 1) Code //это пример лвл-системы без жесткой формулы, определяющей кол-во нужной эксп на след. лвл //при достижении nextopit = opit (допустим это 100): lvl += 1 skillenter += 1 switch (lvl) { case 1:nextopit=100opit=0break;//эта строка может быть лишней, если у тебя игрок изначально 1-го лвл'а case 2:nextopit=250opit=100break; case 3:nextopit=600opit=250break; case 4:nextopit=1000opit=600break; case 5:nextopit=1800opit=1000break; //и т.д. и т.п. }
//либо считать все по формуле: ev_create: nextopit=10 ev_step: if(nextopit>=opit){lvl+=1;nextopit*=1.5}//можно добавить округление //при получении следующего уровня кол-во необходимого опыта возрастает на половину: nextopit*=1.5 (10-15-22,5-33,75) 2)в принципе можно оставить твой способ, но вот я, например, пишу вместо choose "if(ceil(random(число)))" (: 3)логикой тебя никто не обделял) так тоже можно делать, но о чем идет речь (что движется)?
|
| |
| | |
|
Фил
| Дата: Понедельник, 05.01.2009, 10:31 | Сообщение # 4 |
Всех уже задолбал
Группа: Проверенные
Сообщений: 846
Статус: Offline
|
Click97, Quote (Click97) Идея на 10+ Не скажи, на форуме ООООчень мноо проектов, где надо мочить зомбей и тд (короч клоны crimsonland), так что идея не нова. Имхо. Моя оценка по 10 бал: Графика: 6,8 Идея: 4 (я добрый) А вот играбельность.... Ждем демку
|
| |
| | |
|
Click97
| Дата: Понедельник, 05.01.2009, 10:33 | Сообщение # 5 |
Болтун
Группа: Пользователь
Сообщений: 167
Статус: Offline
|
Фил, после переработки мыслей вполне согласен.
=^^=
|
| |
| | |
|
SRes
| Дата: Понедельник, 05.01.2009, 12:28 | Сообщение # 6 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 2209
Статус: Offline
|
WfalconW, Все гениальное - просто ! Так что делай  . Когда-то делал наработку с опытом... Quote (Create) lvl = 1 global.dcl = 250 // до след. лвла скок опыта global.xp = 0 // сколько сейчас опыта Quote (Step) if global.xp >= 250 * lvl { lvl += 1 global.dcl = lvl * 250 // до след. лвла скок опыта global.xp=0 }
|
| |
| | |
|
Mugen
| Дата: Понедельник, 05.01.2009, 13:22 | Сообщение # 7 |
Болтун
Группа: Проверенные
Сообщений: 247
Статус: Offline
|
SRes, такая система никрута тем, что нет возможности посмотреть сколько же ты набрал опыта за игру.(В принципе это легко вычислить, но это дополнительные действия...) Возможно WfalconW'у этого и не требовалось, но все же
|
| |
| | |
|
WfalconW
| Дата: Понедельник, 05.01.2009, 16:20 | Сообщение # 8 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 1536
Статус: Offline
|
Quote Судить по этому скрину я не смог, единственный момент: аптечка по размерам больше, чем сам герой Я и не просил оценивать, мне нужны только ответы на вопросы. Я просто не хотел создавать сотню тем с вопросами, а спрашивать, где-то в одном.) А аптечка, должна бросатся в глаза, потомучто когда монстров сотни - некогда искать мелкую аптечку) Я ещё подумаю, над уменьшением её и соданием светящегося ореола, но не думаю, что видно аптчеку будет лучше. Скрин делался наспех потомучто с монстрами очень тяжело справиться. На щёт АИ скажу, что мобы могу спокойно из одного угла какрты найти тебя в другом обходя большинство препятствий. Не доходят не более 5% и очень редко один моб, вдруг, начинает идти по прямой не обращая на игрока внимания. Проблема у АИ тоьлко в углах. Если моб оппадает в угол, а человек за стеной на этом углу, то моб забивается в угол и начинает крутиться, пока не найдёт выход. Как таковой - они не застревают в стенах вообще, поэтому не смейтесь и не подходите к ним) они очень опасные и хитрые. Если сделать лаюиринт 2000 на 2000 и поставить 100 монстров на финише - вы полюбому половину встретите), а через стены увидите 90% Quote SRes, такая система никрута тем, что нет возможности посмотреть сколько же ты набрал опыта за игру.(В принципе это легко вычислить, но это дополнительные действия...) Возможно WfalconW'у этого и не требовалось, но все же Ну, она тоже чем-то хороша. Но на 20 уровне надо уже набрать значительно больше. У меня сейчас формула не ограничивает в уровнях вообще. но например, если бить личинок на 50 уровне, то их придётся убить очень и очень много. Да ещё и от везения зависит. У меня формулы калечут с разной силы, и опыта дают по разному. Например, я получал первый уровень за 10 личинок, после перезапуска я набрал первый уровень за 16 личинок. Естественно в первый раз мне повезло значительно больше в плане рандома) На счёт вопросов, Mugen, наверно я не правильно их описал. Спасибо за твои формулы и подсказки, но у меня проблемы вообще в другом и намного легче решаются, всё самое сложное я сделал, а Вы все за компанию выбираете лучшую формулу для высчитывания нового уровня. Ещё раз пишу вопросы, но уже подробнее и понятнее: 1) У меня есть две переменные: opit - опыт набранный персонажем, nextopit - опыт, который надо набрать до следующего уровня.Вычисляется по такой формуле: Code if opit > (nextopit * difi) + (round(nextopit*0.20)+1) then { nextopit = opit lvl += 1 skillenter += 1 } Как мне лучше сделать полоску накопления опыта, что бы было удобно? Я тогда спрашивал про хелсы, но так и не смог сделать, может в этот раз понятнее объясните. Буду благодарен и не забуду вписать в титры. 2) Сейчас написал кучу разных кодов и бывает трудно проверить их, тем более в моей игре, когда на тебя бегут толпы монстров. Вопрос: Как бы попроще, но что бы было видно, отобразить урон монстру, если он высчитывается по такой формуле: Code var a;a=choose(1,2,3,4,5) switch(a){ case 1:life -= o_player1.yron;break; case 2:life -= o_player1.yron - round(random(o_player1.yron))+1;break; case 3:life -= o_player1.yron + round(random(o_player1.yron))+1;break; case 4:life -= 0;break; case 5:life -= o_player1.yron + o_player1.yron;break; } Поясню: Я сделал 5 вариантов урона, что бы было веселее. 1 - обычный, который храниться у игрока, 2 - дополнительный случайный урон, 3 - обратное второму, типа плохо ранило, 4 - промах, 5 - крит Меня не устраивают проценты мне надо попроще, поэтому к коду ничего не пишите. Мне нужно только узнать как отобразить урон маленькой цифрой, которая поднимается и исчезнет через несколько сек. Мой способ будет очень не оптимизированн и жрать кучу ресов, а мне это не надо. Я представляю это так. Создать объект и сделать спрайты 10 цифр и потом объектом создавать ещё столько объектов с цифрами, чколько десятков. Если я так сделаю - лагать будет не по детски, поэтому помогите сделать шрифтом. Я думаю - это не так сложно. 3) Вы знаете, что-то хренова-то работает код: x = view_xview+96 Я его ставил и в step и в end step - всё равно он так же сдвигается на пиксель при движении экрана, что делать, если по задумке объект должен быть объектом, на который можно нажать. Была идея сделать невидимый объект, а картинку в draw пихнуть, но вот только я сомневаюсь, что это правильно))) Как должно быть в игре: объект - кнопка усиления скила. Мне надо, что если набран уровень, что бы объект прилепляся к экрану в определённой координате(Например 32,32). Скил появляется, если переменная o_player.skillenter > 0, и при клики на кнопку отнимается одно число, что позволяет, даже, набрать 10 уровней и спокойно выбрать 10 скилов, или брать скил каждый уровень. Сейчас кнопка появляется и прекрасно работает, но при движении кнопки скила болтаются( хотя стоят в end step. Спасибо!
Lie To me (Теория лжи) Работаю над проектом в большей степени в выходные)
|
| |
| | |
|
Druce
| Дата: Понедельник, 05.01.2009, 17:38 | Сообщение # 9 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 1403
Статус: Offline
|
WfalconW, 1) чета я так и не понял твоей формулы, что такое difi ? Систему опыта можно например типа так: в начале ставишь xp=0 newxp=100 oldxp=0 lv=1. Где-нить в степе Code if xp>newxp { oldxp=newxp newxp*=2//типа на каждый новый уровень в 2 раза больше опыта надо, тут какую хочешь делай формулу lv+=1 skillenter+=1 } а отображение на пример так: рисуешь текстом string(xp)+'/'+string(newxp), а ниже полоску с длиной например (xp-oldxp)/newxp*100, она будет показывать процент опыта для нового уровня. При добавлении опыта добавляй к xp несколько рандомное число. 2) отлетающий урон - это очень просто. Делаешь например 1 объект, ему в креат image_alpha=1, в дров Code draw_set_alpha(image_alpha) draw_text(x,y,text) draw_set_alpha(1) в степ Code x-=2 image_alpha-=0.05 if image_alpha<0.01 instance_destroy() когда в монстрика попадает пуля, определяешь урон от нее, затем пишешь Code var a; a=instance_create(x,y,o_damage) a.text=string(damage)//damage - нанесенный урон 3) Во-первых, найди, где ты определяешь координаты вида, а затем как я всегда делаю интерфейс: в глобал маус лефт баттон пишешь проверку координат мыши на вхождение в интервал типа x>view_xview and x<view_xview+100, тогда делаешь там свои действия. А в дрове рисуешь спрайты в координатах вида, причем эти координаты надо считать тоже в дрове, не раньше. Надеюсь, помог.
Я может быть и скачаю вашу игру, если вы напишите ее размер. druce.ucoz.ru|BioHazard|war_game v0.7|Right2kill v02f|OneStep v02h
|
| |
| | |
|
WfalconW
| Дата: Понедельник, 05.01.2009, 18:11 | Сообщение # 10 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 1536
Статус: Offline
|
Очень. Вроде, больше проблем, пока не должно. Если так пойдёт и дальше, то проблем у меня не будет) Спасибо тебе. Всё прочитал - всё понял. Моя формула работает. difi - это сложность (1),(1,5),(2), т.е. на лёгком надо просто набирать опыт. На среднем в полтора раза больше, а на сложном в два раза больше. Если я сейчас сделаю всё, что ты посоветовал и всё будет работать (Я всё продумал - должно работатьть), то мне можно будет расслабиться и заняться далее наполнением объектов и бекграундов в игру, а после создание карт. Потому-что всё самое сложное сделано) вот только скилы додумать. Они работают, но мне надо ещё кое над чем поработать) Quote чета я так и не понял твоей формулы Формула сейчас по прибавлению внапоминает мне сакред 2. Вот недавно смотрел с 5900 перешло на 6700, а до этого было 5ххх - не помню сколько, ну это уже около 20 уровня. Добавил Часть HUD, а то на скрине не видночё за сккилы, а тут уже по приятнее)) По настроению, может думку скоро кину.
Lie To me (Теория лжи) Работаю над проектом в большей степени в выходные)
|
| |
| | |
|
Druce
| Дата: Понедельник, 05.01.2009, 18:20 | Сообщение # 11 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 1403
Статус: Offline
|
WfalconW, сделай какую-нить мегамодную модернизацию пушки. Причем желательно, чтобы апгрейды были не однозначны, а с выбором - там типа мощность или скорострельность и т.п. Ну и скиллы думай, чтобы клево было. Из игр "типа Кримсонленд" самая лучшая - это по-моему и есть Кримсонленд. Ибо баланс. И перки. И пушки. И бдыщь-бдыщь и мяяясооо! А в сакред 2 я не играл))
Я может быть и скачаю вашу игру, если вы напишите ее размер. druce.ucoz.ru|BioHazard|war_game v0.7|Right2kill v02f|OneStep v02h
|
| |
| | |
|
WfalconW
| Дата: Понедельник, 05.01.2009, 19:20 | Сообщение # 12 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 1536
Статус: Offline
|
Quote А в сакред 2 я не играл)) Не в этом суть. Quote WfalconW, сделай какую-нить мегамодную модернизацию пушки. Причем желательно, чтобы апгрейды были не однозначны, а с выбором - там типа мощность или скорострельность и т.п. Вот щас так и сделано) можность и скорострельность. до сих пор не знаю, что лучше в начале брать)))) поанируется, как минимум: Скорость игрока, Уклонение(шанс не быть раненым монстрами. Макс 50%), Пробивные пули, которые после убийства дальше летят около 6 уровней можно прокачать этот скилл. остально пока не придумывал и не уверен, что сделаю. Если есть идеи я их выслушую, но не обязательно выполню) Заманался я с полоской опыта. Первый уровень прекрасно работает, а потом тоьлко 30% - это 100% опыта. Т.е. Если я набрал 90 опыта на первом уровне из 100, то будет полоска немного не доходить. Если я столько же 90/100 наберу на 2,3,410 уровне, то полоска будет почти в самом начале. Видимо моя формула какую-то переменную после первого уровня коверкакет вот взгляни ка: Переменные в крите игрока o_player1 opit - это опыт, который набирается и ничего больше с ним не происходит oldopit - опыт прошлого уровня (сначала стоит 0) nextopit - количество опыта до следующего уровня (В начале стояло 100, сейчас 1 поставил, за монстра дают около 10-20 опыта. Какое число лучше поставить?) difi - текущая сложность игры (сейчас стоит 1) lvl - уровень skillenter - количество свободных очков для изучения скилов Code if opit > nextopit then { oldopit = nextopit nextopit = (nextopit * difi) + (round(nextopit*0.20)+1) lvl += 1 skillenter += 1 } И код в draw залитого квадрата: Вернее координаты, потому что кодом я некоторые вещи не делаю(Экшен декодер есть - просто тяжело запоминается) в данном случае я сделал иконкой х1 = view_xview + 98 y1 = view_yview + 15 x2 = (view_xview + 98) + 2*((o_player1.opit-o_player1.oldopit)/o_player1.nextopit*100) //Умножаю на 2, что бы длинна полоски была в два раза больше, а именно 100% = 200пикселей. Если что-то тут не так - подскажите. y2 = view_yview + 24 Буду очень благодарен за помощь. Я вот уже второй час ломаю голову. Уже что тоьлко не делал))) Пока сделаю урон у монстров и скилы в драв, а то я так забился с этой полоской... P.S. Воможно стоит вместо полоски сделать спрайт?
Lie To me (Теория лжи) Работаю над проектом в большей степени в выходные)
|
| |
| | |
|
Ang3L
| Дата: Понедельник, 05.01.2009, 19:39 | Сообщение # 13 |
|
Каждый 5й пост мой
Группа: Админы
Сообщений: 1762
Статус: Online
|
Вот это: Quote (o_player1.opit-o_player1.oldopit)/o_player1.nextopit на вот это: Quote o_player1.opit/o_player1.nextopit всё должно быть норм
|
| |
| | |
|
Druce
| Дата: Понедельник, 05.01.2009, 19:49 | Сообщение # 14 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 1403
Статус: Offline
|
ооо!!! точно, блин. (o_player1.opit-o_player1.oldopit)/(o_player1.nextopit-o_player1.oldopit)*200 вот так точно будет работать. Кстати, на 100 или на 200 - это максимальная длина полоски.
Я может быть и скачаю вашу игру, если вы напишите ее размер. druce.ucoz.ru|BioHazard|war_game v0.7|Right2kill v02f|OneStep v02h
|
| |
| | |
|
WfalconW
| Дата: Понедельник, 05.01.2009, 22:21 | Сообщение # 15 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 1536
Статус: Offline
|
Quote (o_player1.opit-o_player1.oldopit)/(o_player1.nextopit-o_player1.oldopit)*200 Во! Это работает! Ток смущает меня милисекундное появление полоски на пол эрана, а потом тоьлко уменя шение до нужной, ну я думаю - это ифгня. На больших уровнях - всё ок))) Теперь на одну головную боль меньше) Спасибо! Quote Quote o_player1.opit/o_player1.nextopit всё должно быть норм У меня почему-то была заполнена всё полоска кроме 20% которые заполнялись до конца, когда я лупил мобов, а потом снова отходила назад. Теперь буду дорабатывать формул следующего уровня) а именно искать лучшее число на первый уровень. Добавлено (05.01.2009, 20:49) --------------------------------------------- Да, что бы Вы правильно поняли название темы: вирус - не компьютерный))), а болезнетворный. Как он работает - скоро напишу) Игра задумывается, как мясное месилово с морем крови, но боюсь большинству придётся в настройках настраивать количество крови, мобов, трупов. Обязательно будет возможность поставить любой параметр на не ограниченно, но желательно не в капмании))), а то fps упадёт. Я как-то веселился ставил пустую карту и генартор мобов по всему периметру ставил. И смотрел какие узоры получаются, да ещё анимированные. Около 1000 одновременно обрабатывались. Вот думаю как бы деактивировать объекты за пределами экрана и на сколько это скажеться на геймплее. Возможно не буду делать деактивацию, потому что в кампании будет система позволяющая ресурсами разбросаться, но не сильно. Добавлено (05.01.2009, 21:00) --------------------------------------------- Druce, Вау! И за урон спасибо! Всё работает! Поднастроил всё стало красиво и понятно. Чёрт у меня аж слёзы на глазах от счастья, что получается, примерно так, как я хотел. Ну, со скилами - точно получиться. Как сделаю ещё порадуюсь. Добавлено (05.01.2009, 22:21) --------------------------------------------- Druce, Всё и третий вопрос решён. Сделал всё таки по своему) получилось так, пока делал часть твоего. дай думаю, проверю и всё отлично смотриться. Меня утраивает больше, чем надо. 4) Тут вдруг пришла идея не рисовать новые спрайты похожих мобов, а менять программно цветность спрайта. Хотел узнать - возможна ли смена цвета у цветной картинки, и если можно, то как? )
Lie To me (Теория лжи) Работаю над проектом в большей степени в выходные)
|
| |
| | |
|
Neae[Ra]
| Дата: Понедельник, 05.01.2009, 23:15 | Сообщение # 16 |
Всех уже задолбал
Группа: Проверенные
Сообщений: 935
Статус: Offline
|
WfalconW, возмсожна, через image_blend меняешь его через make_color_rgb или make_color_hsv. ну и не забудь рандом..)
|
| |
| | |
|
WfalconW
| Дата: Вторник, 06.01.2009, 00:49 | Сообщение # 17 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 1536
Статус: Offline
|
Neae[Ra] Quote WfalconW, возмсожна, через image_blend меняешь его через make_color_rgb или make_color_hsv. ну и не забудь рандом..) Пасиба! Ща заценим. Если пропрёт, то видов мобов будет раза в 4 больше и картинка будет реалистичнее) (В переносном смысле реалестичнее, а то ведь как начнёте спорить  ) Добавлено (06.01.2009, 00:49) --------------------------------------------- Neae[Ra], Всё работает. Вот только я бы хотел помимо смены цвета ещё иметь возможность добавить, убавить яркость. это возможно? Потому что через make_color_rgb получается чистый, один цвет, а мне надо, просто для эффекта и визуального разнообразия немного темнее некоторые сделать, а другие светлее. А так же не отказался бы от такого эффекта что бы все оттенки и цвета оставались, но менялись. Вообщем, кто не понимает, о чём я - заходим в фотошоп и во вкладке image =>Adjustments=> Hue/Saturation... и в открывшемся окне, ничего не меняя подвинте самый первый ползунок. А что бы добиться эффекта, что делает этот код(make_color_rgb) нужно поставить галку на colorize и будет один цвет, который омжно настроить самым вырхним ползунком.
Lie To me (Теория лжи) Работаю над проектом в большей степени в выходные)
|
| |
| | |
|
Neae[Ra]
| Дата: Вторник, 06.01.2009, 13:04 | Сообщение # 18 |
Всех уже задолбал
Группа: Проверенные
Сообщений: 935
Статус: Offline
|
WfalconW, image_blend=make_color_hsv(0,0,200+random(50) ток они темней получаются, а светлей - нет
|
| |
| | |
|
Ang3L
| Дата: Вторник, 06.01.2009, 15:02 | Сообщение # 19 |
|
Каждый 5й пост мой
Группа: Админы
Сообщений: 1762
Статус: Online
|
|
| |
| | |
|
WfalconW
| Дата: Вторник, 06.01.2009, 15:02 | Сообщение # 20 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 1536
Статус: Offline
|
Neae[Ra], Quote ток они темней получаются, а светлей - нет Ок. Ща посмотрим, что можно сделать.
Lie To me (Теория лжи) Работаю над проектом в большей степени в выходные)
|
| |
| |
|
|