Танковый TDS в стиле T.N.K. III/Blazer/Shock Troopers на...
|
|
Томахомэ | Дата: Суббота, 23.12.2017, 06:17 | Сообщение # 16 |
Генерал-лейтенант
Группа: Проверенные
Сообщений: 530
Статус: Оффлайн
| Вот уже и диагональный взгляд готов, вот только с диагональностью полёта у снаряда не очень. Код полёта - здесь:
Код If bullet_1=1 Then ShiftSprite bullet1, 0,-2 ElseIf bullet_1=2 Then ShiftSprite bullet1, 0,2 ElseIf bullet_1=3 Then ShiftSprite bullet1, -2,0 ElseIf bullet_1=4 Then ShiftSprite bullet1, 2,0 ElseIf bullet_1=5 Then ShiftSprite bullet1, -2,-2 ElseIf bullet_1=6 Then ShiftSprite bullet1, 2,-2 ElseIf bullet_1=7 Then ShiftSprite bullet1, -2,2 ElseIf bullet_1=8 Then ShiftSprite bullet1, 2,2 EndIf
Сообщение отредактировал Томахомэ - Суббота, 23.12.2017, 13:25 |
|
| |
TN | Дата: Суббота, 23.12.2017, 20:11 | Сообщение # 17 |
Подполковник
Группа: Проверенные
Сообщений: 135
Статус: Оффлайн
| Наконец-то проект , который хоть как-то развивается , и выглядит как вполне реализуемый. По такому случаю можно и полностью оригинальные спрайты нарисовать...
Сообщение отредактировал TN - Суббота, 23.12.2017, 21:00 |
|
| |
TLT | Дата: Суббота, 23.12.2017, 21:18 | Сообщение # 18 |
Генералиссимус
Группа: Администраторы
Сообщений: 2367
Статус: Оффлайн
| Когда я в детстве прошёл Гранаду раз 5, мне пофигу было на сюжет. Сюжет никому не нужен. Кстати, геймплей тоже не считался классным, топовым. Но сейчас понимаю, что игра выдержала проверку временем - стоит как-то переиграть. Но картридж дорогой, т.к. относится к коллекционируемому жанру на SMD...
Белый Тигр - это вторичная поделка. Звучит такое сравнение как "ты такой классный, как бич под теплотрассой", "сюжет Гранады как у никакого фильма".
Вот так.
|
|
| |
TN | Дата: Суббота, 23.12.2017, 23:35 | Сообщение # 19 |
Подполковник
Группа: Проверенные
Сообщений: 135
Статус: Оффлайн
| Цитата TLT ( ) Когда я в детстве прошёл Гранаду раз 5, мне пофигу было на сюжет. Сюжет никому не нужен. Кстати, геймплей тоже не считался классным, топовым. Но сейчас понимаю, что игра выдержала проверку временем - стоит как-то переиграть. Но картридж дорогой, т.к. относится к коллекционируемому жанру на SMD...
Белый Тигр - это вторичная поделка. Звучит такое сравнение как "ты такой классный, как бич под теплотрассой", "сюжет Гранады как у никакого фильма". Плюсуюсь под каждым словом. Тонны графоманской писанины не ведут ни к чему... Ведь ещё сам Кармак когда-то сказал:
Цитата Сюжет в игре — как сюжет в порнофильме. Он должен быть, но он не так уж важен. По хорошему , весь сюжет для подобной игры можно уместить в несколько предложений:
Цитата Диктатор небольшого африканского государства получает в своё распоряжение несколько ядерных боеголовок , выдвигает жёсткие условия и в случае их невыполнения/или военного вторжения на территорию его государства он угрожает взорвать Москву , Вашингтон , Берлин и Париж. На экстренно созванном секретном саммите , главы ведущих мировых держав решают провести секретную операцию и отправить хорошо подготовленного коммандоса на одноместном танке оснащённом по последнему слову техники(ГГ) , чтобы ликвидировать диктатора и предотвратить угрозу Третьей Мирово й.
И всё. Этого достаточно.
Очень надеюсь , что товарищ Томахомэ задумается над этими словами , а не сгенерит очередную стену бессмысленного текста
Сообщение отредактировал TN - Суббота, 23.12.2017, 23:36 |
|
| |
TLT | Дата: Воскресенье, 24.12.2017, 02:48 | Сообщение # 20 |
Генералиссимус
Группа: Администраторы
Сообщений: 2367
Статус: Оффлайн
| В данном случае пусть генерит, всё же ему решать... Главное, чтобы не забыл кнопку "пропустить сюжетную вставку". =)) Помню, начало PSIII - ужас, когда приходится каждый раз ждать по 10 минут. Хоть это и моя любимая jRPG.
Вот так.
|
|
| |
Томахомэ | Дата: Воскресенье, 24.12.2017, 05:46 | Сообщение # 21 |
Генерал-лейтенант
Группа: Проверенные
Сообщений: 530
Статус: Оффлайн
| Цитата TLT ( ) Главное, чтобы не забыл кнопку "пропустить сюжетную вставку". =))
Это уж разумеется. Всё-таки как-никак во всех аркадных играх, с которыми я сталкивался в своё время на реальных автоматах, такая возможность была.
Цитата TN ( ) По такому случаю можно и полностью оригинальные спрайты нарисовать...
Зелёный танк отвёл для вражеского спрайта. Спрайты голубых выстрелов, думаю, в будущем отлично пригодятся для одного из планируемых к введению бонусных оружий - рельсотрона.
И, кстати, наконец, всё-таки какой же в коде полёта снаряда имеется косяк, что при диагональном движении снаряд летит совсем не в ту сторону, куда смотрит ствол? Да и сам диагональный взгляд, как я только сейчас заметил, держится чаще всего лишь пока нажаты одновременно кнопка горизонтального и вертикального движения. Стоит только их отпустить - танк тут же примет чисто горизонтальную либо вертикальную позу.
Также я добавил код код отрисовки спрайта взрыва при попадании по врагу - теперь осталось только заставить это взрыв через секунду или парочку исчезать, а заодно и создать вокруг этого взрыва зону с определённым радиусом, попав в которую, оказавшиеся рядом цели также уничтожаются.
Кстати, раз уж речь в теме уже таки зашла о ресурсах будущей игры - мне в качестве музыки приглянулись мелодии из автоматской Tokyo Wars. В связи с чем интересно мне - существуют ли работающие с VGM программы, способные преобразовывать "виртуальную нотную запись" из одного и того же VGM под разные типы звуковых чипов? А то найти композитора, а уж тем более готового адаптировать музыку из Tokyo Wars для 2612 "на слух", наверняка адски трудно.
Сообщение отредактировал Томахомэ - Воскресенье, 24.12.2017, 10:18 |
|
| |
Томахомэ | Дата: Вторник, 26.12.2017, 08:41 | Сообщение # 22 |
Генерал-лейтенант
Группа: Проверенные
Сообщений: 530
Статус: Оффлайн
| Вынес код взрыва после столкновения снаряда с врагом в отдельную субпрограмму:
Код Explode: Frame=0 Sec=0 explosion=addsprite(2,2) propsprite explosion,273,2 MoveSprite explosion,SpritePosX(bullet1)-8,SpritePosY(bullet1)-8 '''''''TIMER''''''''' Frame++ if Frame=60 then Sec++ Frame=0 endif ''''''TIMER END'''''' If Sec=1 then ' Frame=0 ' Sec=0 Hidesprite explosion freesprite explosion endif return
Только вот спрайты взрывов по прошествии нескольких секунд исчезать всё равно не хотят.
Само же столкновение происходит так:
Код ' esli pulya kasaetsa protivnika Enemy1 If Enemy_1>0 Then If SpritePosX(bullet1) > SpritePosX(Enemy1)-1 and SpritePosX(bullet1)+8 < SpritePosX(Enemy1)+14+8 Then 'Left and Right Enemy If SpritePosY(bullet1) > SpritePosY(Enemy1)-1 and SpritePosY(bullet1)+8 < SpritePosY(Enemy1)+14+8 Then 'Up and Down Enemy gosub Explode 'pulya skrivaetsya i deactiviruetstya MoveSprite bullet1,0,480 bullet_1=0 'otnimaetsa jizn u protivnika i on peremeshaetsya Enemy_1-- If Enemy_1>0 Then MoveSprite Enemy1,128+RND(304),128+RND(112) Else MoveSprite Enemy1,0,0 EndIf EndIf EndIf EndIf
Сообщение отредактировал Томахомэ - Вторник, 26.12.2017, 08:43 |
|
| |
TLT | Дата: Вторник, 26.12.2017, 16:24 | Сообщение # 23 |
Генералиссимус
Группа: Администраторы
Сообщений: 2367
Статус: Оффлайн
| Ты такой мусор разводишь в коде что просто капец будет... Я же тебе показал как нужно создавать спрайты?
Создавай их заранее в начале сцены до цикличного кода, и прячь мувом за пределы экрана. А в нужный момент вызывай тем же перемещением и опять скрывай. Если ты создаешь спрайт взрыва, каждый раз, то он у тебя будет накапливаться, и через 80 взрывов будет спрайт лимит ошибка. В BEX неправильно работает код уничтожения спрайтов freesprite - им не пользуйся, он также рано или поздно вызовет ошибку лимита спрайтов. Там нужно разбираться, вроде первый спрайт не уничтожается или что-то типа, уже не помню.
Код ограничения границ тоже не правильно реализован. Нужно ограничивать срабатывание начисления X/Y, если больше границ экрана, а не возвращать танк. Из-за это у тебя он дёргается.
Код диаганального движения также неправилен. Вернее он изначально заложен тупо, что конфликтует.
Табами делай отступы, размечай блоки кода, комментируй. В будущем будет такая свалка...
Вот так.
|
|
| |
Томахомэ | Дата: Среда, 27.12.2017, 06:17 | Сообщение # 24 |
Генерал-лейтенант
Группа: Проверенные
Сообщений: 530
Статус: Оффлайн
| Цитата TLT ( ) Создавай их заранее в начале сцены до цикличного кода, и прячь мувом за пределы экрана. А в нужный момент вызывай тем же перемещением и опять скрывай.
Применил. Теперь взрыв действительно на экране только 1 одновременно. Со временем он, правда, и не думает исчезать. Зато после попадания по врагу тут же перемещается на его место. Код заготовки взрыва:
Код explosion=addsprite(2,2) propsprite explosion,273,2 MoveSprite explosion,0,480 Вызова подпрограммы взрыва при попадании:
Код ' esli pulya kasaetsa protivnika Enemy1 If Enemy_1>0 Then If SpritePosX(bullet1) > SpritePosX(Enemy1)-1 and SpritePosX(bullet1)+8 < SpritePosX(Enemy1)+14+8 Then 'Left and Right Enemy If SpritePosY(bullet1) > SpritePosY(Enemy1)-1 and SpritePosY(bullet1)+8 < SpritePosY(Enemy1)+14+8 Then 'Up and Down Enemy gosub Explode 'pulya skrivaetsya i deactiviruetstya MoveSprite bullet1,0,480 bullet_1=0 'otnimaetsa jizn u protivnika i on peremeshaetsya Enemy_1-- If Enemy_1>0 Then MoveSprite Enemy1,128+RND(304),128+RND(112) Else MoveSprite Enemy1,0,0 EndIf EndIf EndIf EndIf И самой подпрограммы:
Код Explode: Frame=0 Sec=0 ' explosion=addsprite(2,2) ' propsprite explosion,273,2 MoveSprite explosion,SpritePosX(bullet1)-8,SpritePosY(bullet1)-8 '''''''TIMER''''''''' Frame++ if Frame=60 then Sec++ Frame=0 endif ''''''TIMER END'''''' If Sec>1 then ' Frame=0 ' Sec=0 MoveSprite explosion,0,480 ' HideSprite explosion endif return
Цитата TLT ( ) Код ограничения границ тоже не правильно реализован. Нужно ограничивать срабатывание начисления X/Y, если больше границ экрана...
Здесь ввести ограничивающий код мешает хитрожопистая реализация управления:
Код j=joypad(0)
x=j.3-j.2 y=j.1-j.0
if x then tank_x+=x propsprite tank,260+hfliptile(j.2),0 endif if y then tank_y+=y propsprite tank,256+vfliptile(j.1),0 endif if x [and] y then propsprite tank,264+hfliptile(j.2)+vfliptile(j.1),0 endif movesprite tank,tank_x,tank_y
Разные варианты я перепробовал по ограничению начисления - и такой:
Код If tank_x>128 [and] tank_x<432 then If tank_y>128 [and] tank_y<336 then movesprite tank,tank_x,tank_y endif endif (тогда вставший на грань экрана танк вообще переставал двигаться в какую либо сторону), и такой:
Код If tank_x<=128 [and] x<0 Then x=0 If tank_x>=432 [and] x>0 Then x=0 If tank_y<=128 [and] y<0 Then y=0 If tank_y>=336 [and] y>0 Then x=0 (вообще никак не действует, рамки стались такими же "прозрачными", как в изначальном примере), в итоге в отвечающем за рамки коде пришлось всё вернуть, как было.
Сообщение отредактировал Томахомэ - Среда, 27.12.2017, 06:29 |
|
| |
TLT | Дата: Среда, 27.12.2017, 14:52 | Сообщение # 25 |
Генералиссимус
Группа: Администраторы
Сообщений: 2367
Статус: Оффлайн
| Я бы мог в течение недельки полностью переработать управление и пр. Но тут нужно знать то, как ты будешь реализовать локацию. Если она у тебя будет в рамках 512x480, то проблем с картой не должно быть. Если ты будешь делать большие уровни (что даже для меня пока очень сложно), то придётся управление делать после внедрения карт столкновений и тайловых масок уровня.
Иначе всё, что я сделаю будет впустую.
Вот так.
|
|
| |
Томахомэ | Дата: Среда, 27.12.2017, 15:12 | Сообщение # 26 |
Генерал-лейтенант
Группа: Проверенные
Сообщений: 530
Статус: Оффлайн
| Цитата TLT ( ) Если она у тебя будет в рамках 512x480, то проблем с картой не должно быть. Если ты будешь делать большие уровни (что даже для меня пока очень сложно), то придётся управление делать после внедрения карт столкновений и тайловых масок уровня.
В идеале хотелось бы, конечно, большие уровни сделать, но на столь ранней фазе можно обойтись пока и маленькими картами, а там, глядишь, не стыдно будет и камрадов с devster и spritesmind о помощи попросить в создании большого уровня.
|
|
| |
TN | Дата: Четверг, 28.12.2017, 13:46 | Сообщение # 27 |
Подполковник
Группа: Проверенные
Сообщений: 135
Статус: Оффлайн
| Кстати , раз уж на то пошло , могу прорисовать графику для уровня блоками(16х16). Только хотелось бы знать , какие нужны. Пока что сделаю как в Battle City: Кирпичи , металл , лес , вода , дорога.
|
|
| |
Томахомэ | Дата: Четверг, 28.12.2017, 14:00 | Сообщение # 28 |
Генерал-лейтенант
Группа: Проверенные
Сообщений: 530
Статус: Оффлайн
| Цитата TN ( ) Пока что сделаю как в Battle City: Кирпичи , металл , лес , вода , дорога.
Давай, отлично. Потом с охотой расскажу, какая графика для локаций на более поздних фазах разработки (когда и до возможности строить большие уровни дело дойдёт) будет нужна. А заодно и раскрою кое-какие сюжетные подробности.
|
|
| |
TLT | Дата: Четверг, 28.12.2017, 14:36 | Сообщение # 29 |
Генералиссимус
Группа: Администраторы
Сообщений: 2367
Статус: Оффлайн
| Томахомэ, скинь в ЛС последнюю версию шаблона.
Вот так.
|
|
| |
TN | Дата: Четверг, 28.12.2017, 16:07 | Сообщение # 30 |
Подполковник
Группа: Проверенные
Сообщений: 135
Статус: Оффлайн
| Цитата Томахомэ ( ) Давай, отлично. Готово
|
|
| |