russian ROMhacking
[ Новые сообщения · Участники · Правила форума · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум ромхакеров » Около темы » Геймдев » Проект Sweet'n'Soft Waffles (Клон Funky Jet/Metal Savior на Mega Drive)
Проект Sweet'n'Soft Waffles
ТомахомэДата: Понедельник, 30.03.2020, 12:29 | Сообщение # 1
Генерал-майор
Группа: Проверенные
Сообщений: 419
Статус: Оффлайн
На данный момент есть проблемы с "приземлением" появляющегося "из воздуха" вражеского спрайта на старте игры: вместо того, чтобы по-нормальному остановить своё падение после первого же контакта с землёй, он несколько раз подряд проходит сквозь неё, а затем вообще повисает в воздухе, где-то примерно на высоте своего роста. Никто не подскажет мне, что именно я тут упустил?

Последний билд прикреплён к сообщению.
Прикрепления: SSW_v0.7.rar(125.8 Kb)
 
TLTДата: Вторник, 31.03.2020, 13:54 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 2132
Статус: Оффлайн
Ну дублируй для врага ту же обработку, что и для игрока. Но этот движок встанет раком, когда будет их много, т.к. он изначально громоздкий. А в мудатском коде, где переменные названы a, b, c и т.д. действительно сложно разобраться. ведь программисты-мудаки продолжают юзать такие обозначения. Совет тебе - пойми каждую из таких переменных, переименуй их в понятные, и сразу пойдёт осмысленная работа с кодом.

Это обработка коллизий с картой столкновений уровня. Самое сложное при создании игры на SMD. Придётся многое перелопатить: там t или a, насколько помню, отвечают за обнаружение тайла игрока, взаимодействующего с поверхностью, а также за анимацию. Скажи спасибо любителям буквенного обозначения.

Код не выкладывай, он для тебя. Но это я тебе уже говорил. Уверен, никто его не разбирал, чтобы помочь тебе хоть раз. Так нафига ты это делаешь, просто раздражаешь людей, типа меня, и обесцениваешь свою работу... Просто покажи ROM, объясни, а уже вызвавшемуся помочь/глянуть - предоставь сырец.

Точки после названиях тем (и вообще) не ставятся.



Вот так.
 
ТомахомэДата: Вторник, 31.03.2020, 17:17 | Сообщение # 3
Генерал-майор
Группа: Проверенные
Сообщений: 419
Статус: Оффлайн
Цитата TLT ()
Ну дублируй для врага ту же обработку, что и для игрока.


Этим я как раз и занимался. Какие связанные с Y-координатами спрайта игрока куски заметил, те и продублировал.

Цитата TLT ()
А в мудатском коде, где переменные названы a, b, c и т.д. действительно сложно разобраться. ведь программисты-мудаки продолжают юзать такие обозначения.

Цитата TLT ()
Придётся многое перелопатить: там t или a, насколько помню, отвечают за обнаружение тайла игрока, взаимодействующего с поверхностью, а также за анимацию.


Настолько примитивные переменные вроде нашёл только здесь:

Код
for a=0 to 27
  for b=0 to 159
   read mapXY(b,a)
  next b
    next a


Цитата TLT ()
Код не выкладывай, он для тебя.

Цитата TLT ()
Просто покажи ROM, объясни, а уже вызвавшемуся помочь/глянуть - предоставь сырец.


Хорошо, впредь так и буду делать.
 
TLTДата: Вторник, 31.03.2020, 18:13 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 2132
Статус: Оффлайн
В любом случае, я пока сильно занят, чтобы глянуть. На недельке может быть получится.


Вот так.
 
ТомахомэДата: Вторник, 31.03.2020, 20:17 | Сообщение # 5
Генерал-майор
Группа: Проверенные
Сообщений: 419
Статус: Оффлайн
Ладно, буду ждать.
 
TLTДата: Пятница, 03.04.2020, 17:30 | Сообщение # 6
Генералиссимус
Группа: Администраторы
Сообщений: 2132
Статус: Оффлайн
Слишком плохой движок - сплошная мешанина. Не смогу помочь, т.к. там требуется всё переписывать... Лучше с нуля написать новый движок, этот изначально написан так, что в будущем будут проблемы, без осознания архитектуры жанра и особенностей платформы.


Вот так.
 
ТомахомэДата: Пятница, 03.04.2020, 17:43 | Сообщение # 7
Генерал-майор
Группа: Проверенные
Сообщений: 419
Статус: Оффлайн
Цитата TLT ()
Слишком плохой движок - сплошная мешанина. Не смогу помочь, т.к. там требуется всё переписывать... Лучше с нуля написать новый движок, этот изначально написан так, что в будущем будут проблемы, без осознания архитектуры жанра и особенностей платформы.


А своим Metal Blast'овским поделиться можешь? У тебя там вроде и физика прилично работает, и поддержка более чем одного экземпляра врагов и некоторых других объектов имеется.


Сообщение отредактировал Томахомэ - Пятница, 03.04.2020, 17:45
 
TLTДата: Суббота, 04.04.2020, 00:11 | Сообщение # 8
Генералиссимус
Группа: Администраторы
Сообщений: 2132
Статус: Оффлайн
Цитата Томахомэ ()
А своим Metal Blast'овским поделиться можешь? У тебя там вроде и физика прилично работает, и поддержка более чем одного экземпляра врагов и некоторых других объектов имеется.


Чтобы вычленить движок нужно неделю работать... И там, кстати, нет физики врагов вообще. Они тупо стоят, летают, либо бегут по линии. Нигде не прыгают, и вообще никак не взаимодействуют с картой столкновений. Я же не крутой программист как ты, не решился делать настолько сложную игру, понимая, что просчёт столкновений для объектов на SMD - это самый ресурсоёмкий процесс и сложно осуществимый.

Сделай летучих мышей. 5 штуу на уровне, и увидишь даже на них, часть проблем с твоим мусорным кодом. Почему нет переменной, которая активирует / деактивирует врага, почему он не одним блоком, а раскидан по всему коду?



Вот так.
 
ТомахомэДата: Суббота, 04.04.2020, 03:36 | Сообщение # 9
Генерал-майор
Группа: Проверенные
Сообщений: 419
Статус: Оффлайн
Цитата TLT ()
Я же не крутой программист как ты, не решился делать настолько сложную игру, понимая, что просчёт столкновений для объектов на SMD - это самый ресурсоёмкий процесс и сложно осуществимый.


Тогда какие жанры, на твой взгляд, самые технологически простые для программирование на BEX'е? Ну, после визуальных новелл, разумеется - у этих у меня уже опыт программирования есть.

Цитата TLT ()
Почему нет переменной, которая активирует / деактивирует врага...


Я вообще любую реакцию врага на удар собирался добавить лишь позже, когда тот хотя бы "научится" твёрдо стоять на земле.

Цитата TLT ()
почему он не одним блоком, а раскидан по всему коду?


По той же причине, по которой дело аналогичным образом обстоит и со спрайтом игрока. nemezes почему-то именно так решил писать свой код - а это его движок, которым он щедро поделился, предложив как усовершенствованный вариант того, который ты мне изначально скидывал.


Сообщение отредактировал Томахомэ - Суббота, 04.04.2020, 07:15
 
TLTДата: Суббота, 04.04.2020, 11:35 | Сообщение # 10
Генералиссимус
Группа: Администраторы
Сообщений: 2132
Статус: Оффлайн
Томахомэ, платформер считается сложным жанром, технически сложнее даже чем jRPG с пошаговой боёвкой (там просто объём работы больше). Любой жанр требует опыта и навыков.

Что тебе делать... Мне нет смысла что-то диктовать, это твой выбор. Я бы для обучения сделал бы что-то просто как Battle City, наверное, если хочется экшен. Но ты уже делал такое и забросил...

На BEX программирование ни чем не ограничено, поэтому без разницы какой жанр.



Вот так.
 
ТомахомэДата: Суббота, 04.04.2020, 15:19 | Сообщение # 11
Генерал-майор
Группа: Проверенные
Сообщений: 419
Статус: Оффлайн
Цитата TLT ()
Но ты уже делал такое и забросил...


Это я помню. Я там споткнулся на спрайтах взрывов после уничтожения вражеского танка, наотрез отказывающихся исчезать спустя пару секунд, и точно также отказывающихся лететь диагонально даже при нужном направлении орудия выпущенных игроком снарядах. Да и сама предложенная мной концепция с возвращением белого "Тигра" из шахназаровского фильма никому тут вроде особо по душе не пришлась.

Цитата TLT ()
технически сложнее даже чем jRPG с пошаговой боёвкой


Там сложности уже другого плана - необходимость все математические формулы, по которым рассчитывается ущерб при атаке, вероятность попадания, и т. д., придумывать с нуля (особенно это касается рандомной генерации итогового числа дамага, которое ещё и должно лежать в пределах определённого диапазона, которому надо как-то задавать свою верхнюю и нижнюю границы, причём первая должна быть числом не слишком большим, а вторая - не слишком маленьким). Если бы не эта печальная необходимость, у меня, может, и разработка Shaman King'а бы не застопорилась. Если есть какая-то альтернатива созданию мат. ядра с нуля и одновременно реверс-энжинерингу других jRPG, посоветуй их.
 
TLTДата: Воскресенье, 05.04.2020, 02:37 | Сообщение # 12
Генералиссимус
Группа: Администраторы
Сообщений: 2132
Статус: Оффлайн
Я сам уже не знаю как закончить "Mega Marble World 2"... Столько других идей и вариантов, но знаю, что так нельзя - за двумя зайцами погонишься...

Томахомэ, вот я про эти особенности и говорю... Их не поймешь, если не будешь делать. Вариант - сделать всё по-своему.

Потом после MMW2 я замучу платформер, сделаю приемлемый движок... или скролл-шутер с уровнями типа пещер и пр. Когда будет движок, смогу поделиться, но я сомневаюсь, что ты сможешь его освоить или реализовать игру до конца. Тебе нужно взяться за что-то приземлённое, чтобы набить руку. Даже не знаю, что посоветовать... Сделать пятнашки или тетрис советовать не стану. Но если ты не смог решить задачу в полётом пули и удалением взрыва в танчиках, то это непонимание сути. Если бы проблема была бы только в этом... я бы мог её решить, но что будет дальше - ещё сложнее проблемы...

Что касается формул, то их можно решить. Я просто не люблю jRPG, кроме серии "Phantasy Star" - это я понимаю сейчас. Но мало во что играл после 16-битной эры в этом жанре. Если знать суть боёвки, то, думаю, составить формулу и составные её переменные - не сложно.



Вот так.
 
ТомахомэДата: Воскресенье, 05.04.2020, 06:30 | Сообщение # 13
Генерал-майор
Группа: Проверенные
Сообщений: 419
Статус: Оффлайн
Цитата TLT ()
Если знать суть боёвки, то, думаю, составить формулу и составные её переменные - не сложно.


А боёвочка-то в Xenosaga Ep. II, которую я решил взять за основу Shaman King'овской, очень и очень интересная - советую попробовать (речь, разумеется, о версии для PS2).
Впрочем, некоторые элементы боёвки можно взять и из части игр по списку ниже:

  • .hack\\: The Infection
  • Mana Khemia: Alchemists of Al-Revis
  • Pokemon Gold/Silver/Crystal
  • Dragon Quest VII (Версия для PS1)
  • Lunar Legend
  • Shining Soul 2
  • Breath of Fire (версия для GBA)
  • Napple Tale
  • Black Matrix A/D
  • El-Dorado Gate (эта и предыдущая по списку игры вышли на Dreamcast)
  • Langrisser Millennium (версия для той же Dreamcast)
  • Wild ARMs XF
  • Final Fantasy Type-0 (версия для PSP)
  • Summon Night: Twin Age
  • Etrian Oddysey II
  • Final Fantasy Tactics A2: Grimoire of the Rift
  • Blood of Bahamut (Nintendo DS)
  • Final Fantasy IV (версия для NDS)
  • Valkyria Chronicles (версия для PS3)
  • The Last Remnant (версия для XBOX 360)
  • Sword of Mana
  • Sol Bianca (PC-Engine CD)
  • El-Hazard: The Magnificent World (PC-98)
  • Ну, и, может быть, еще какую-нибудь из RPG по мотивам анимэ-сериала "Рыцари магии" (https://en.wikipedia.org/wiki/Magic_Knight_Rayearth#Video_games)


Из RPG неяпонских школ можно попробовать рассмотреть:

  • Doom RPG (J2ME)
  • Fable II
  • Властелин Колец: Содружество Кольца (версия для ПК)


Сообщение отредактировал Томахомэ - Воскресенье, 05.04.2020, 14:32
 
TLTДата: Воскресенье, 05.04.2020, 13:27 | Сообщение # 14
Генералиссимус
Группа: Администраторы
Сообщений: 2132
Статус: Оффлайн
Боёвка из кривой экшен-РПГ Gothic 3? Да ты брось, там тупое закликивание...


Вот так.
 
ТомахомэДата: Воскресенье, 05.04.2020, 14:32 | Сообщение # 15
Генерал-майор
Группа: Проверенные
Сообщений: 419
Статус: Оффлайн
Цитата TLT ()
Боёвка из кривой экшен-РПГ Gothic 3? Да ты брось, там тупое закликивание...


Её, значит, из списка убираем. Больше никаких неподходящих вариантов нет?
 
Форум ромхакеров » Около темы » Геймдев » Проект Sweet'n'Soft Waffles (Клон Funky Jet/Metal Savior на Mega Drive)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: