Это копия, сохраненная 18 ноября 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Есть игра Bobby Carrot, вот ссылка на неё:
http://files.seclub.org/game/d/b/f/dbf808084aa18ab1d8d8e56ca09cc44c/Bobby_Carrot_5_nok_N80_352_416.jar
Вот ссылка на эмулятор для запуска:
https://4pda.ru/forum/index.php?showtopic=99949
На 1 пике главное меню выбора левелпаков, на 2 и 3 пике содержимое jar файла
1.dat, 2.dat, 3.dat, 4.dat - видимо, файлы левелпаков.
Как мне добавить в игру новые левелпаки с новыми картами?
Пробовал копипастом файл 4.dat обозвать 5.dat. В меню нового левелпака не появилось.
Как вообще редактировать это? На 4 пике часть файла 4.dat в Notepad+ в HEX представлении.
В /b - треды однодневки...
мимо крок
Ни разу не сталкивался. Подскажешь декомпилятор юзер френдли?
Так, ок. Поставил JD-GUI. Это декомпилятор-вьювер (не редактор, насколько я понимаю).
Да нам и нужно посмотреть.
Что ж, там есть два файла формата .class, в которых есть java скрипт (его я не знаю).
Не представляю, что там можно найти. Упоминания " .dat" там только такие поиском находятся:
public a(Bobby paramBobby)
{
this.t = paramBobby;
a(this.y + ".dat");
this.z = new Random(System.currentTimeMillis());
this.c = 1;
this.u = getWidth();
this.v = getHeight();
this.w = (this.v - 2 - 16 - 6);
b(this.u, this.v, true);
this.cf = a(this.cf, "/font.png");
this.dH = a(this.dH, "/logo.png");
this.bZ = 0;
this.cb = -1;
a(true, 0);
this.x = 10;
}
1.
По поводу увеличения количества левелпаков в игре (и в меню, соответственно).
Нужно внести изменения в файл a.class
Для этого декомпилировать его в файл a.java с помощью софта IntelliJ IDEA (powered by Fernflower decompiler).
Вот декомпилированный таким образом код:
http://pastebin.com/uBLRjwj8
Или с помощью софта JD-GUI
Вот декомпилированный таким образом код:
http://pastebin.com/dHeazw0U
Далее внести изменения, после скомпилировать с помощью софта javac.
При этом, кроме файла a.java
>еще подсунуть зависимости для этого jar-ника: kemulator.jar от твоего эмулятора должен подойти + нужно дизассемблировать еще и Bobby.class (скорее всего) и подсовывать компилятору
Другой вариант - внести изменения напрямую в файл a.class с помощью софта JBytedit
Что изменять? В jar файле есть 4 файла левелпаков 01.dat, 02.dat, 03.dat, 04.dat. Клонируем один из файлов в 05.dat и закидываем в jar.
Но нужно, чтобы игра хотела видеть больше четырёх левелпаков (пять в данном примере)
В коде файла a.java есть нужные нам моменты:
>try
{
InputStream localInputStream = getClass().getResourceAsStream((paramInt < 10 ? "0" : "") + paramInt + ".dat");
DataInputStream localDataInputStream = new DataInputStream(localInputStream);
localDataInputStream.readShort();
this.cu = localDataInputStream.readByte();
for (int i2 = 0; i2 <= i1; i2++)
{
this.cs = localDataInputStream.readUTF();
this.ct = localDataInputStream.readUTF();
}
localDataInputStream.close();
localDataInputStream = null;
}
catch (Exception localException)
{
c();
}
}
тут читается файл уровня (5111 строка), судя по всему их может быть 99
>private final void aa()
{
int i2 = 0;
for (int i1 = 1; i1 <= 4; i1++)
{
d(i1);
this.cv[i2] = this.cs;
this.cw[i2] = this.cu;
i2++;
}
}
Тут задаются количество левелпаков (5083 строка)
Сюда идет вызов от функции которая загружает файлы с именем 0<int>.dat
Но с четвёркой в строке i1 <= 4 не так просто (мало её поменять там пятёрку):
>В этом сорсе в куче мест это число заинлайнено, это же константа и явский байткод
>строки 202 и 203, редактировать так же как и в предыдущем случае (202 хранит названия левел паков, btw)
эта штука будет в одном из конструкторов класса a, там по имени уже найдешь поле
1.
По поводу увеличения количества левелпаков в игре (и в меню, соответственно).
Нужно внести изменения в файл a.class
Для этого декомпилировать его в файл a.java с помощью софта IntelliJ IDEA (powered by Fernflower decompiler).
Вот декомпилированный таким образом код:
http://pastebin.com/uBLRjwj8
Или с помощью софта JD-GUI
Вот декомпилированный таким образом код:
http://pastebin.com/dHeazw0U
Далее внести изменения, после скомпилировать с помощью софта javac.
При этом, кроме файла a.java
>еще подсунуть зависимости для этого jar-ника: kemulator.jar от твоего эмулятора должен подойти + нужно дизассемблировать еще и Bobby.class (скорее всего) и подсовывать компилятору
Другой вариант - внести изменения напрямую в файл a.class с помощью софта JBytedit
Что изменять? В jar файле есть 4 файла левелпаков 01.dat, 02.dat, 03.dat, 04.dat. Клонируем один из файлов в 05.dat и закидываем в jar.
Но нужно, чтобы игра хотела видеть больше четырёх левелпаков (пять в данном примере)
В коде файла a.java есть нужные нам моменты:
>try
{
InputStream localInputStream = getClass().getResourceAsStream((paramInt < 10 ? "0" : "") + paramInt + ".dat");
DataInputStream localDataInputStream = new DataInputStream(localInputStream);
localDataInputStream.readShort();
this.cu = localDataInputStream.readByte();
for (int i2 = 0; i2 <= i1; i2++)
{
this.cs = localDataInputStream.readUTF();
this.ct = localDataInputStream.readUTF();
}
localDataInputStream.close();
localDataInputStream = null;
}
catch (Exception localException)
{
c();
}
}
тут читается файл уровня (5111 строка), судя по всему их может быть 99
>private final void aa()
{
int i2 = 0;
for (int i1 = 1; i1 <= 4; i1++)
{
d(i1);
this.cv[i2] = this.cs;
this.cw[i2] = this.cu;
i2++;
}
}
Тут задаются количество левелпаков (5083 строка)
Сюда идет вызов от функции которая загружает файлы с именем 0<int>.dat
Но с четвёркой в строке i1 <= 4 не так просто (мало её поменять там пятёрку):
>В этом сорсе в куче мест это число заинлайнено, это же константа и явский байткод
>строки 202 и 203, редактировать так же как и в предыдущем случае (202 хранит названия левел паков, btw)
эта штука будет в одном из конструкторов класса a, там по имени уже найдешь поле
Второй задачей будет разобраться, как править собственно файлы левелпаков .dat для создания своих уровней.
>для этого могу посоветовать http://kaitai.io/ оч удобная штука для описания структуры бинарников + хороший визуализатор всего этого дела
>>391873
Hex файлы - это задача №2.
Я сейчас пока говорю про задачу №1 - редактировать class файл.
>>388545
Вот тут подробно написано.
Можно декомпилировать в java файл для редактирования, потом компилировать обратно. Можно напрямую class файл редактировать.
Суть в том, что там в нескольких местах зашито значение о том, что в игре доступно 4 левелпака (каждому левелпаку соответствует свой dat файл). Нужно увеличить число доступных левелпаков.
Одно из мест в class файле, где упоминается число левелпаков, нашли. Но если там поправить 4 на, допустим, 5, то игра крашится.
Нужно найти, где ещё в файле нужно сделать правки.
Следующим шагом уже будет добавление dat файла, соответствующего новому левелпаку.
Иди нахуй отсюда дурак блядь
+ Ты должен знать все элементы игровой механики и балансы, если таковые имеются, и возможно иметь пару бытулок пива. Насколько я помню игра не многим сложней сокобана можно было даже на конструкторе сделать.
А может ему именно мод нужен и он не для себя делает.
Приветствую!
Ну смотри, в игре достаточно много механик. Ты уверен, что хорошая идея писать с нуля свою игру, аналогичную оригиналу?
Так-то описание всех правил и предметов есть в самой игре с картинками. Можно запустить java эмулятор и посмотреть в меню Help.
Но более желательно, конечно, было бы именно небольшое модифицирование оригинальной игры.
Нужно найти, где в class файле поправить вшитые значения числа левелпаков. Выше в треде есть существующие на данный момент наработки по этому вопросу.
Я в кодинге не шарю. Можешь тыкнуть носом в номера строк? Декомпилированный код на пастебине есть, ссылка выше.
Да, я уже немного написал, все еще думаю насчет архитектуры, но думаю на днях надумаю, и к следующим выходным уже можно будет щупать или нет .Пока что есть концепт, поддержка нескольких языков, в папке нужно будет создавать папку с названием языка, в папке храниться .XML с текстом элементов интерфейса и т.д плюс лежит картинка с флагом, при инициализации приложения просто читаем все папки в нужной дериктории и рисуем гую с названия языка по имени папки и картинку, тот же принцип с тайлами и спрайтами используемые для редактирования уровней, есть папка Decoration, в ней все папки с наборами(палитрами) обьектов, сами обьекты делятся пока что на статические и динамические(интерактивные) , ну и по дефолту наборы разделены типо как на пике, можешь создать например еще папок типо Hallowen, Xmas и т.д вся эта дрочь тоже инициализируется при загрузки правда все тайлы и прочее храниться не в .png или еще как, а в родных unity .prefab, потому что мне просто в падлу писать конвертеры и лишний раз ебаться, так-что для расширения нужно будет залазить в unity и в нем добавлять тайлы/спрайты, благо это легко, легче чем конвертировать и ебаться с генерацией атласов, с уровнями тот же принцип есть папки в папке лежит YouAwesomeMap.level который парситься и по которому собирается сцена, тут тоже гавно как и с другим, создаешь папки, в папки суешь фалы с картами билдишь и в игре все отображаеться в меню. Основное над чем я задумываюсь это что хранить в классе из которого строить игровую сетку, понятно что клетка либо проходимая либо нет, либо интерактивная либо нет, а все
взаимодействие с интерактивными клетками можно описать тремя виртуальными методами ComeIn(), Stay() , ComeOut, насколько я понял, это все принципы взаимодействия с интерактивными элементами в этой игре, так то основная ебала с созданием редактора-уровней.
712x656
>>398538
Думал, но не. Вообщем я до сех пор не знаю всех механик и т.д эмулятор у меня работает через жопу и не тот что в шапке, переводить английский мануал желания нет. Я так понял что все обьекты с коллизией можно преодолеть при определенных условиях, имею ввиду через заборы на дельтаплане, камни и карзинусыну можно сломать машинкой или где? короче мне нужная точная инфа.А пока пилю переферию, поддержка языка уже есть, что-бы добавить язык не нужно будет заходить в юнити, можно будет просто кинуть .png в папку с языком и отредактировать .XML В .XML файле тупо лежат все возможные тексты, струкура типо id=1 value = "New game", так-же запилил почти все интерфейсное гавно в плане - логики, архитектура будет естественно вида - классы менеджеры, ибо как-то углубляться в красоту смысла нет, сделал кароче разного говна, над основной архитектурой игровой логики еще думаю ибо в точности не знаю что как работает, а играть времени нет, ну ты понял.
Ок, попробую расписать тебе завтра все механики.
Так, поехали.
На этих трёх пиках выделил объекты, через которые нельзя ходить и которые нефункциональные.
На этих пиках выделил объекты, через которые можно ходить и которые нефункциональные
Сугроб и лопата.
Через сугроб нельзя пройти.
Лопата - собираемый предмет (появляется после сбора на HUD)
Когда собрали лопату, можем раскапывать сугробы, расчищая путь.
Второй пик - анимация раскопки
Старт и финиш.
Стартуем уровень всегда на старте.
Финиш активируется после сбора всей моркови (или яиц)
Анимация активированного финиша на втором пике выделена
Вот ещё не приклеил к предыдущему
Анимация, как кролик исчезает, заходя на активированный финиш.
Так. Ну это анимации ходьбы.
Сборный пост
1 пик - анимация, когда долго ничего не нажимаем. Кролик начинает стучать ногой.
2 пик - анимация бабочки. Она летает медленно беспорядочно по уровням с зелёной травой.
3 пик - шрифты игровые.
4 пик - выделена анимация звёзд. Они летают по небу в ночных уровнях.
Небо - выделил на 5 пике для уточнения
В игре, кроме стандартного режима, можно включить режим осмотра.
Тогда стрелками мы просто передвигаем камеру.
Это было актуально для маленьких экранов.
Надеюсь, в этой версии все уровни будут помещаться на экране.
Во время осмотра загорается символ (первый на HUD)
На монеты покупаешь батинки и всякие бонусы?, напиши что дает каждый бонус. Монеты можно подобрать только один раз за всю игру? В смысле если перепроходить уровни, монеты будут лежать но при подборе не суммируются?
Фаер-болл из дракона, когда поподает в лед - разрушает его( или не только лед может разрушить?), во что шар врезается и исчезает? через что шар пролетает? только над водой землей?
Когда после беговой дорожки Бобби ускоренно пролетает несколько тайлов по направлению, если он во что-то врежется может разрушить?
По поводу механик я сегодня начал, завтра подробно распишу остальное по всем вопросам.
Звук и картинки, возможно, получится выдрать из ремейка.
Выходил ремейк на iOS и Wii.
У меня есть соответственно ipa и wad файлы, попробую покопаться.
Принял.
Еще будет хорошо если вытащишь оригинальные текста HELP-мануала, на английском, они вроде в Hex редакторе пробиваются.
Вот звуки в apple формате *.aif из iOS ремейка
Вот картинки в .png из iOS ремейка
Монеты разбросаны по уровням. Те, которые были собраны во время прохождения уровня, засчитываются в общую сумму после финиша.
Уровень просто так переигрывать нельзя.
Они идут левелпаками по 10 уровней. Переигрывать можно только весь левелпак, если есть желание.
TICKET: DREAM MACHINE
YOU CAN TRAVEL TO THE DREAM MACHINE AS OFTEN AS YOU LIKE WITH THIS TICKET. USE THE NIGHT TRAIN IN THE MAIN MENU. I'VE HEARD THAT YOU CAN FIND A NEW ADVENTURE THERE. THE TICKET COSTS 5 BONUS COINS.
TICKET: CLOUD 9
YOU CAN TRAVEL TO CLOUD 9 AS OFTEN AS YOU LIKE WITH THIS TICKET. USE THE NIGHT TRAIN IN THE MAIN MENU. I'VE HEARD THAT YOU CAN GET A MAGIC CODE THERE. THE TICKET COSTS 10 BONUS COINS.
SUPER KEY
YOU CAN OPEN ALL THE LOCKED LOCKS IN THE GAME WITH THIS KEY. IT ALSO WORKS IN THE BONUS ROUNDS! THIS FANTASTIC KEY ONLY COSTS 30 BONUS COINS!
STEREO SYSTEM
THIS COOL GIZMO PROVIDES YOU WITH A SOUND TEST OPTION IN THE MAIN MENU WHERE YOU CAN LISTEN TO ALL THE GAME'S SONGS WHENEVER YOU WANT. IT ONLY COSTS A MERE 20 BONUS COINS!
EXTRA MUSIC
YOU CERTAINLY WON'T GET BORED DURING THE GAME WITH THIS EXTRA MUSIC. IT COSTS 10 BONUS COINS.
SPEED SHOES
YOU'LL RUN FASTER WITH THESE SHOES. THEY COST 25 BONUS COINS.
COIN RADAR
BONUS COINS WILL BRIEFLY FLASH EVEN IF THEY ARE HIDDEN IN TALL GRASS - WITH THIS RADAR. IT COSTS 10 BONUS COINS.
TICKET: DREAM MACHINE - неактуально
TICKET: CLOUD 9 - неактуально
SUPER KEY - используется только в бонус уровнях (их реализация - отдельный вопрос)
STEREO SYSTEM - неактуально
EXTRA MUSIC - тут всё ясно из описания
SPEED SHOES - бегаем в 2 раза быстрее
COIN RADAR - подсвечивает монеты, лежащие в траве
664x516
О найс, цветочки,божьи коровки, будет арт побохаче, только не затягивай сильно с описанием механик, я уже сегодня-завтра буду собирать едитор, контроллер персонажа, скрипты триггеров, планирую сегодня завершить локализацию, что-бы переключалось на другой язык в реалтайме и добить все интерфейсы, из них осталось только всплывающее окно с сообщением дописать, что-бы его было так же можно использовать в едиторе и как дебаг для ошибок.
Лёд.
Наступаем на лёд сверху - скользим до конца льда (или до препятствия). Наступаем слева - едем вправо до конца. И так далее для всех сторон.
Нужен, чтобы косить кусты (пик 2)
Чтоб юзать трактор, нужно подобрать канисту. Подобранная канистра отображается на HUD (пик 3)
Тракторы стоят на парковках. Покинуть трактор можно только заехав на парковку. Выходит из трактора всегда ВПРАВО.
Под кустом может быть морковка (пик 2 справа). Или может быть пусто (пик 2 слева). Но кусты в любом случае мешают пройти, пока их не скосили. Под пустыми кустами могут быть монеты. Этого не видно, пока не скосили. Если купить в магазине радар монет, скрытые монеты начинают подчвечиваться (непостоянно, с некоторым интервалом).
4 пик - анимация трактора. При езде он ещё трясётся.
Собирать морковь на тракторе нельзя. Морковь для трактора - препятствие.
Когда наступаем на ленту, она нас ускоряет вдвойне и прокидывает в своём направлении до конца лента, свернуть вбок нельзя.
Теперь нюанс.
Допустим, лента слева направо. Если при выходе из ленты мы удерживаем кнопку "вправо", то продолжаем бежать по уровню по этой прямой вправо с удвоенной скоростью.
Если за лентой стоит старый камень, то на тракторе с двойной скоростью можно разрушить этот камень.
Жёлтый переключатель меняет направление всех лент на уровне. Причём при проходе через ненажатый переключатель нажимаются все ненажатые переключатели на уровне, и в то же самое время все НАЖАТЫЕ переключатели отжимаются.
По каруселькам можно ходить только в определённых направлениях, я нарисовал.
Когда проходим через неё, она поворачивается на 90 градусов по часовой стрелке.
Красный переключатель поворачивает все карусельки на уровне на 1 шаг (на 90 градусов по часовой стрелке).
Причём при проходе через ненажатый переключатель нажимаются все ненажатые переключатели на уровне, и в то же самое время все НАЖАТЫЕ переключатели отжимаются.
Вот посмотрел ролик, информативных, посмеялся с тех кто пытался сделать кривые порты на пк, увидел что на Wii то, текстурки больше и анимации лучше, наверно и музыка лучше, ну ты понял кароче, шерсти пиратбэй, образ я сам если что могу разобрать, но если это сделаешь ты будет лучше.
Я механики ещё не все расписал. Продолжать нужно или нет?
Образ для Wii у меня есть. Только я не уверен, что там качество материалов лучше, чем в iOS версии. Распаковывать его хз чем.
Вот Wii версия.
не, механики уже все знаю вроде, только поясни, я правильно понял что уровни можно разделить на 3 категории { сбор марковки, откладывание яйц, бонусные уровнипоиск на трактое золотой марковки в кустах}
Да.
В игре левелпаки по 10 уровней.
Это или полностью морковный левелпак, или "яичный". Бонус левелы в каждом левелпаке после 3 и 7 левела
Вру, после 3 и 6 левела
Вообщем я позволю себе изминить механику выбора уровней, сделаю так что-бы можно было выбрать конкретный уровень в наборе, ну стандартная схема типо как на пике.
По поводу механик тогда подробно не буду.
Я смотрю пик, который ты прикрепил. Всё вроде правильно.
Но есть недописанные моменты.
Ловушка - сначала неактивированная, после первого прохода активируется. Потом если пройти по ней, кролик погибает, анимация гибели на пике 1. После гибели рестарт левела
Если проехать на тракторе, ловушка тоже активируется, но на тракторе можно ездить и по активированной ловушке.
По выложенным яйцам идти уже нельзя.
Файрбол пропадает, когда врезается в препятствие, например, выдвинутый блок.
Про свитчи я писал, что они все взаимосвязанные.
После приземления с kite (например, летим слева направо) кролик делает шаг вправо от точки приезмления. И так для каждой стороны.
Пик 2 - анимация полёта
Облака сдвигаются под действием ветра от мельниц. На небе есть выделенные цветом площадки. Если облако соответствующего цвета пролетает мимо такой площадки, оно там останавливается. Иначе облако летит до препятствия.
Пик 3 - Нижняя строка: анимация выхлопных газов сзади трактора во время езды. Верхняя строка: аналогично, но только когда мы в этот момент скашиваем траву.
Нет. Есть WAD файл с DLC.
А зачем тебе ключ. Для запуска через эмулятор достаточно того, что есть
Деревянная планка ещё.
После прохода по ней пропадает (разваливается)
Анимация развала есть (так же, как анимация расплавленного льда)
Под планкой могут быть спрятаны любые предметы. Например, переключатели или ловушки
http://rgho.st/82lRhG4FX
Вот карты первых 120 левелов (12 левелпаков) в лоу резолюшн. Но разглядеть в принципе можно.
Всего левелпаков 40, так что это дело так-то долгое
Текст мануала я выше уже скидывал.
Там есть ещё тексты (поздравительные) в конце каждого левелпака.
Но нужны ли они нам?
Насчёт бонус левелов.
Цель собрать монеты (в том числе в траве) и найти золотую морковь в траве.
Трава находится всегда за замком. После прохождения через замок стартует таймер минутный.
Если за минуту не уложились, уровень перезапускается.
Чтобы покинуть уровень, надо найти и подобрать золотую морковь. Или забить, пройдя на поле выхода из уровня.
Для прохода через замок покупается ключ за 3 монеты там же, на бонус уровне.
Или в магазине продаётся бесконченый ключ для всех замков на бонус уровнях
Попытался я распаковать WAD.
На выходе там файлы APP.
Распаковал APP - на выходе там файл пикрил
Ебучая матрёшка
но сутя по скринам там тайлы тоже 48х48, возможно есть звук и еще картинки типо цветочков, а может нет..
По поводу выбора левела.
Сделай тогда, чтобы левелы всё таки были разделены на левелпаки, а уже внутри левелпака можно выбрать конкретный уровень как на твоём пике
Да, так и думал сделать, паки, внутри пака уровни, все уровни что мы перекатим с оригинала будут вшиты, а поверх можно будет создавать свои паки, со всеми с бонусаи и т.д Только нуно будет дорисовать в такой же стилистика на место марковки яйцо, для уровней с яйцами и для бонусных уровней свой символ, ну и звездочки-хуездочки, открытые закрытые, ну и лого перерисовать, убрать цифру 5 и написать Open Bobby Carrot Forever
ОК
Как торренты раздавать?
Или это деятельность похуже?
полностью законно, нужно указать тип лицензии по которой я буду передавать права пользователю, указать права на арт и звук и код,арт звук соотвественно принадлежит той немецкой студии нужно это указать, код мне, на код лицензия скорей всего будет MIT или CC.если не обосрусь и не передумаю открывать код. Ну и скорей всего напишу тем парням, а может и нет, так-то они могут ее купить и издавать, или можно продать на аукционе~1000-2000$, или перерисовать арт и продавать в наглую,кек, но я скорей всего просто сделаю опен проект и добавлю в общую библиотеку Open source Projects.
А не, извиняюсь, нашел картинку с морковкой и монетой.*
>долфин эмулирует под DirectX?
Да
Вообще надо определиться, клон какой игры мы делаем? BC5 или BC Forever.
BCF - это не переиздание, а ремейк.
BCF ремейк игры Bobby Carrot 5: Forever. Отличия от оригинала:
- высокое разрешение, добавлены эффекты, высокое качество звука
- добавлены сюжетные кат-сцены
- отсутствуют 4 левелпака (Memories, Easter Outing, Forest Castle, Farm2)
- добавлен новый финишный левелпак Finale
- добавлен третий бонусный уровень (с фотографом) в каждый левелпак (кроме первых шести)
- изменено расположение монет на некоторых уровнях
- изменены пользовательский интерфейс, локации выбора левелпака, поезда, магазина
- добавлены новые внутриигровые покупки
- уменьшена сложность игры
Изменения в правилах, повлёкшие к уменьшению сложности:
- на газонокосилке можно собирать монеты и морковь, заезжать на выход из уровня
- газонокосилка не скользит по льду
- в магазине доступна для покупки улучшенная газонокосилка (Red Lawnmower), на которой можно сбивать камни без ускорения
- в магазине доступен для покупки Cheat Blaster, который позволяет удалять морковь на уровне по 10 монет за штуку
- кролик во время скольжения на льду останавливается на моркови (в том числе и на лунках от уже собранной моркови)
- кролик после приземления на дельтаплане не делает шаг вперёд
- в бонусных уровнях увеличено число монет
- кролик бегает быстрее, газонокосилка ездит быстрее
Отличия iOS версии:
- присутствует только первые 2 мира Dreamland и Rainbow Valley (12 левелпаков)
- левелпак Surreal другой (основан на ориганальном левелпаке Surreal), в отличие от Wii версии, где этот левелпак основан на оригинальном левелпаке Fairyland
- отсутствуют обучающие уровни
>долфин эмулирует под DirectX?
Да
Вообще надо определиться, клон какой игры мы делаем? BC5 или BC Forever.
BCF - это не переиздание, а ремейк.
BCF ремейк игры Bobby Carrot 5: Forever. Отличия от оригинала:
- высокое разрешение, добавлены эффекты, высокое качество звука
- добавлены сюжетные кат-сцены
- отсутствуют 4 левелпака (Memories, Easter Outing, Forest Castle, Farm2)
- добавлен новый финишный левелпак Finale
- добавлен третий бонусный уровень (с фотографом) в каждый левелпак (кроме первых шести)
- изменено расположение монет на некоторых уровнях
- изменены пользовательский интерфейс, локации выбора левелпака, поезда, магазина
- добавлены новые внутриигровые покупки
- уменьшена сложность игры
Изменения в правилах, повлёкшие к уменьшению сложности:
- на газонокосилке можно собирать монеты и морковь, заезжать на выход из уровня
- газонокосилка не скользит по льду
- в магазине доступна для покупки улучшенная газонокосилка (Red Lawnmower), на которой можно сбивать камни без ускорения
- в магазине доступен для покупки Cheat Blaster, который позволяет удалять морковь на уровне по 10 монет за штуку
- кролик во время скольжения на льду останавливается на моркови (в том числе и на лунках от уже собранной моркови)
- кролик после приземления на дельтаплане не делает шаг вперёд
- в бонусных уровнях увеличено число монет
- кролик бегает быстрее, газонокосилка ездит быстрее
Отличия iOS версии:
- присутствует только первые 2 мира Dreamland и Rainbow Valley (12 левелпаков)
- левелпак Surreal другой (основан на ориганальном левелпаке Surreal), в отличие от Wii версии, где этот левелпак основан на оригинальном левелпаке Fairyland
- отсутствуют обучающие уровни
Я щитаю, что надо выдержать дух оригинала и не производить изменения в правилах, повлёкшие к уменьшению сложности.
Хотя картиночки, конечно, выдрать можно
Да, только название пусть будет Open Bobby Carrot Forever, просто так лучше звучит, а механики оставлю сложные.
Найс.
Вижу тут несколько нефункциональных предметов из ремейка. Ну пригодятся на всякий случай
бля сажа прилипла
[0] - только обекты типа tile(которые статичные, либо проходимые либо нет) или waterпросто клетка с водой, не волна
[1] - второй слой, могут быть все обьекты кроме tile,water.
[2] - третий слой, деревянный мостик, росток от бобов?.
Это к вопросу о наслоении обьектов, типо если над морковкой поставить деревянный мостик, или росток от боба будет рости над скажем ловушкой.Правильно понимаю что только эти два объекта могут быть поверх этого всего?
Хороший вопрос.
Сейчас буду вспоминать.
Вопрос ведь про третий слой?
Статичные объекты - деревянная планка, кусты зелени
Динамичные - росток, файрбол
Сейчас ещё повспоминаю
Тут скорей про то что можно поставить по вверх другого, а что нельзя, ну в стиле как над ловушкой можно поставить деревянный мостик.
В таком случаем на
[0]-будет тайл с газоном (хоть его и не будет видно за шипами)
[1]- будет ловушка с шипами
[2] - над всем этим деревянный мост.
Ты уверен, что вообще нужно три слоя?
0 или 1 слой объединить?
Зачем эти невидные за шипами газоны?
Или так проще кодить?
Просто реально для потребностей игры двух слоёв, видимо, достаточно.
В любом случае повторю объекты, которые можно поставить поверх других: деревянная планка, куст зелени.
Росток в уровнях растёт только поверх нефункциональных объектов (типа стена, земля).
Ок, ладно, буду смотреть по ходу работы, если что, это можно всегда исправить, на ранних этапах это даст о себе знать, рефакторинг делать не придется.
https://www.youtube.com/watch?v=X3kllaoT7f4
https://www.youtube.com/watch?v=1pUZRZA-XIY
https://www.youtube.com/watch?v=IepwvQbqlPU
http://www.fdg-entertainment.com/en/guides/bobby-carrot-forever.html
1264x712
Пишу код, сейчас самая сложная и емкая часть, хоть и архитектура придумана, и в голове, и на бумаге все бьется, посмотрим как будет на практике, писать много, помощь пока не нужна, просто мониторь тред переодически. к шебм звук случайно прилип.
Добро
И панели save load перепутаны, но в целом думаю что этого должно быть достаточно, все редактирование будет через этот интерфейс, ну и он естественно измениться к концу все может сильно поменяться, но принципиально интерфейс останется.
https://rpgmaker.net/games/2412/
http://www.hbgames.org/forums/viewtopic.php?f=78&t=79267
кек, я так понял там некоторые особо одаренные команды работали несколько месяцов над ПК версией.
https://webcache.googleusercontent.com/search?q=cache:5HSe05bWOeEJ:j2me.ucoz.ru/forum/2-10-+&cd=1&hl=ru&ct=clnk&gl=ru
http://rgho.st/89tXsZ4ZN
теперь следующую неделю, буду щупать-пилить-щупать пилить. Допилю все гавно типо сериализатора и тому подобное и наследующей недели уже можно будет сохранять и альфа-тестировать карты, а через еще неделю уже бета-тестировать + 3 дня на баги и релиз. и того еще 2 недели до релиза, если сохронять темпы 2 часа в день и в выходные больше 2 часов.
https://youtu.be/4ZmaAGSyvHc
Респект тебе заочно, бро
https://play.google.com/store/apps/details?id=bobby.bugs.rabbit.bunny.carrot.newgame2017
https://play.google.com/store/apps/details?id=com.Kochev.HamsterCarrot
На то что в конце крашится и вылетают ошибки не обращай внимания, просто тут еще не дописал сериализатор, точнее сериализатор есть, но еще не полностью функцианальный, я проебался с панельками и архитектурой сохранения, когда запилил все по начальному плану, оказалась что я моя архитектура не позволяет перезаписывать карты, только сохранять как новые, я попробовал закастылить, но в итоге проебал время и переписал все заново, теперь панельки загрузки и сохранения объеденены в одну, можно из игры удалять, сохранять, загружать, как карты так и коллекции карт, + всякое гавно от выстрела себе в ногу, файлы с картами можно переносить из пака в пак и т.д, все как и планировал, они определяются и рисуются в игре, картам можно задавать сложность в здездах, сложность коллекции в звездах определяется нахождением среднего значения из всех карт в коллекции. Структуру карт пришлось переписывать, так как дефолтный c# сериализатор отказывался глатать юнитевские классы, из-за этого я тоже немного проебался и у меня в начале было целых 3 разных класса для хранения карты, один для редактирования в билде, другой для сохранения, и третий для использования в интефейсах он просто хранил имя, сложность и путь к файлу с картой для сохранений, которая в свою очередь распаковываеться в редактируемую, пиздец короче , это все переписал на два класса, для игры и для меню + оптимизировал по малости там и сям, и еще есть в планах оптимизация этого места.
Остановился на реализации обьектов которые занимают несколько игровых клеток, типо как водяная мельница элемент декорации которая в высоту 3 игровых клетки, а в ширину одна, есть сложности например когда накладываешь ее по верх чего-либо нужно проверять по ее скелету каждый тайл не перегараживает ли он обьект, если да то удаляем, но если например кладем такой обьект на другой такой-же обьект который больше одной клетки, то выходит нужно проверять и его весь скелет, вообщем рекурсия ебанная, сегодня с ней весь день ебался, почти исправил, из-за этого и сыпяться ошибки,т.к. решил подогреть тебя новым видео и бампом с прогрессом, поэтому тупо заккомментировал разные участки которые не закончил, а так 1-2 дня и сериализатор должен быть готов, если еще не проебусь с чем-нибудь.
https://youtu.be/svvsIqd_eJc
На то что в конце крашится и вылетают ошибки не обращай внимания, просто тут еще не дописал сериализатор, точнее сериализатор есть, но еще не полностью функцианальный, я проебался с панельками и архитектурой сохранения, когда запилил все по начальному плану, оказалась что я моя архитектура не позволяет перезаписывать карты, только сохранять как новые, я попробовал закастылить, но в итоге проебал время и переписал все заново, теперь панельки загрузки и сохранения объеденены в одну, можно из игры удалять, сохранять, загружать, как карты так и коллекции карт, + всякое гавно от выстрела себе в ногу, файлы с картами можно переносить из пака в пак и т.д, все как и планировал, они определяются и рисуются в игре, картам можно задавать сложность в здездах, сложность коллекции в звездах определяется нахождением среднего значения из всех карт в коллекции. Структуру карт пришлось переписывать, так как дефолтный c# сериализатор отказывался глатать юнитевские классы, из-за этого я тоже немного проебался и у меня в начале было целых 3 разных класса для хранения карты, один для редактирования в билде, другой для сохранения, и третий для использования в интефейсах он просто хранил имя, сложность и путь к файлу с картой для сохранений, которая в свою очередь распаковываеться в редактируемую, пиздец короче , это все переписал на два класса, для игры и для меню + оптимизировал по малости там и сям, и еще есть в планах оптимизация этого места.
Остановился на реализации обьектов которые занимают несколько игровых клеток, типо как водяная мельница элемент декорации которая в высоту 3 игровых клетки, а в ширину одна, есть сложности например когда накладываешь ее по верх чего-либо нужно проверять по ее скелету каждый тайл не перегараживает ли он обьект, если да то удаляем, но если например кладем такой обьект на другой такой-же обьект который больше одной клетки, то выходит нужно проверять и его весь скелет, вообщем рекурсия ебанная, сегодня с ней весь день ебался, почти исправил, из-за этого и сыпяться ошибки,т.к. решил подогреть тебя новым видео и бампом с прогрессом, поэтому тупо заккомментировал разные участки которые не закончил, а так 1-2 дня и сериализатор должен быть готов, если еще не проебусь с чем-нибудь.
https://youtu.be/svvsIqd_eJc
Буду теперь почаще бампать, например раз в 1-2 дня.
1) При удалении коллекции я пытаюсь ссылаться или прочитать удаленную коллекцию.
2) при создании коллекции карты перемещаются из одной коллекции вдругую.
Этими ошибками я сейчас и займусь.
Ну и опишу принцип в двух словах. На сколько я помню, при запуске если игра не находит папку для коллекций и дефолтную коллекцию "My level Pack" , которую нельзя удалить ,она должна быть всегда. То создаем папки и сразу ассоциируем их с массивом коллекций, деффолтная коллекция "My level Pack" должна всегда находится в [0] индексе этого массива. Все остальные папки которые находятся в папке для коллекций так-же читаются, по имени папки создаем елемент коллекции в массиве и добавляем в выпадающий список интерфейса опцию для этой коллекции.Так-же для каждой папки коллекции читаются все лежащие в ней файлы с картами .level, из файла карты мы вычитаем только ее сложность , после этого перегоняем ее в специальный класс в котором храниться только сложность карты и путь к файлу с самой картой, что-бы не читать без надобности всю игровую карту и кучу инфы о ней, т.к. карту считывать нам не нужно, для отображения в интерфейсе достаточно просто знать ее сложность,и не нужно знать о, обьектах которые ее заполняют и т.д., для каждой карты выбранной в выпадающем списке коллекции, создаем красивые кнопки с звездочками и циферкой порядкового номера от еденицы, последний элемент в массиве карт всегда кнопка "New Map" это естественно что-бы сохранять карту как новую, а не перезаписывать. Но если создавать коллекции из игры, а не читать перед запуском , , то я просто создаю папку ассоциирую с массивом коллекций и создаю кнопку "new map" ассоциируя ее с массивом карт, минуя чтения всех соседних папок и их карт. Как-то так.
При удалении карты из коллекции, тупо удаляем файл, путь к которому лежит в массиве карт и переименовываем все карты в этой коллекции, по порядку от единицы и высвобождаем елемент в массиве карт, всю инфу какую карту удалять в каком массиве получаем по индексам массивов они все должны быть симметричны, зная индекс выбранного элемента в выпадающем списке, по нему мы можем найти нужный елемент вмассиве с классом коллекцией карт, тоже самое с картами в самих коллекциях, получаем индекс выбранной кнопки с картой, по нему симметрично берем карты из массива с картами.
Выпадающий список коллекцияКарт
| [0] "My level pack" | [0] "My level pack" |
| [1] "PackName1" | [1] "PackName1" |
| [2] "PackName2" | [2] "PackName2" |
| [3] "PackName3" | [3] "PackName3" |
Кнопки с картами массивКартВколлекции
| [0] "1" | [0] "1.level" |
| [1] "2" | [1] "2.level" |
| [2] "3" | [2] "3.level" |
| [3] "4" | [3] "4.level" |
При удалении коллекции карт, в начале удаляем все файлы с картами в папке, потом саму папку высвобождая занимаемое ей в массиве место.
Там как-раз место для таких поехавших.
1144x652
Починил, проблема было в том что при удалении папки или файла я почти сразу пытался прочитать область с удаленным файлом/папкой и она не успевала удалиться полностью, причем это проявлялось только когда фреймрейт проседал, я только решил что все, вроде вылечил, запускаю бандикам записать видео и тут хуяк ошибка как на зло, и так раз 5, лол, пока не понял.
Вторая ошибка примитивная, сразу было ясно. Когда создаешь коллекции, карты смешиваются и прочее, все это из-за того что в игре, как я уже писал выше, я использую облегченный класс для хранения карт/коллекций для использования в интерфейсах, минуя чтения всех файлов, и вообщем при перезапуске билда с игрой или переключении между коллекциями, она читает папки с коллекциями по очереди, которая формируется по алфавиту или как пользователь в винде себе поставит, из-за этого массив с коллекциями не совпадал с массивом облегченного класса коллекций, когда создаешь папки коллекций из игры они добавляются в массив в той очереди в которой я их создаю, когда игра сама читает эти коллекции она их засовывает туда уже в другом порядке, по алфавиту, причем я каким-то образом в начале когда тестировал это все миновал, так как всегда использовал букву выше чем M My level pack и папки читались в таком же порядке как и записывались,лол.
Такое ко мне не относится, я не моды делаю, почитай тред, к тому же я не поехавший и заливать туда мне нечего, так как ты тред не читал.
Второй случай нормально зафрапсить не удалось, так как еще вчера начал исправлять, но ошибка в том что если длинный обьект ставить на длинный обьект, происходит то же говно что и в первом случае.
"поехавший" не в обиду сказано если че. Как бы имеется ввиду что нужно достаточно курнуть чтобы в 2д17 пилить мод на джава игру. Я только с радостью в него поиграю через тот же эмуль или на живой мобилке.
И да, перечитывать весь тред в 140 постов как-то муторно, не находишь? Поясни коротко, что именно я упутил.
Все ясно. Перенос на юнити. Отлично, но ты все еще можешь залять игрульку на тот сайт, если чё. Вай нот
Кстати, в оригинальной игре нет лелвелпаков с уровнями с разными сложностями.
Так что, возможно, разное количество звёзд у карт одного пака - это излишнее. Достаточно установить сложность всего пака.
Я не пишу порт, я делаю Open версию, делаю что хочу, законом не запрещено.
Пиздец еще раз проебался с архитектурой и потерял на выявление и исправления ошибок почти 4 дня, из-за того что пришлось переписывать структуры хранения игровых данных, а она связанна с сохранением/загрузкой/Редактированием еще до конца не исправил, но осталось хуйню, можно даже закрыть кастылем, так как осталась ошибка из разряда тут давиш, все работает, давиш ниже, не работает? Но я ясен хуй исправлю уж до конца если не обасрусь .
Теперь без нескольких часов проблема с тайлами любых форм и размеров решена, жаль что вроде только два игровых обьектов реализовывают это водопад и дракон, уж слишком много работы.
Причем самое веселое как я понял ребята из FDG Entertainment у себя в коде не реализовывали такую поддержку, так как эти обьекты водопад есть только на специальном уровне где нужно встречаться с каким-то волшебником, и не используется на игровых картах, хотя в ресурсах игры он есть, и выглядит красиво казалось чаво нет, но поебавшись с реализацией этого говна, я понял что они просто в реальности использовали игровую сетку маленького размера, а все водопады и обьекты больше чем 1х1 находятся за пределами игровой сетки и в ней не инициализируются...
не водопад, а водяная мельница, водопад, деревья и т.д размером 1х1 это независимые от друг друга тайлы со своей анимацией, как и дракон вообщем, только эта мельница ебанная 1х3, такие вообщем сводки с полей.
Ну зато больше возможностей будет при создании пользовательских карт.
1008x708
Если дальше все пойдет как планировалось, то нужно будет дописать сериализатор, накинуть контроллер игрока он простой и все. Альфа тест на ранних этапах будет представлять из себя в начале просто тестирование на только тайлах, тайлы проходимые - не проходимые, нужно побегать посмотреть как происходит взаимодействие контроллера с архитектурой сетки карты, если с простыми тайлами все будет нормально, то начинать добавлять простые механики, ловушки, воду, беговые дорожки, кнопки, попутно проверяя каждый добавляемый элемент на взаимодействие с контроллером и другими элементами, по идеи если я все правильно написал и не проебался, то самая сложная часть позади, и сегодня-завтра уже буду альфа-тестить, если на тестах не выявится серьезных ошибок, то все пойдет как планировалось ,минус 4 дня проебанные на исправление архитектуры, то есть сейчас проект написан примерно на половину, еще 1 неделя+4 дня, однако чем на более позднем этапе выявиться ошибка архитектуры, тем дороже будет ее исправления, но в общем-целом я все равно иду с опережением времени раза в два от средней рыночной, даже учитывая что я не программист, и пишу по несколько часов в будни совмещая с работой.
так-то я environment artist, художник крч, делаю модельки, левел дизайн, текстурки с шейдерами, взаимодействую с аутсорс художниками, пишу диз.доки, но сейчас уже наверно вырос в просто developer.
1008x708
Еще одна проблема решена, теперь осталось дописать де-сериализотор для интерактивных обьектов, типо морковок, ловушек и т.д и можно начинать думать о контроллере персонажа.
1008x708
Начал писать интерфейс для главного меню, нужно было сделать что-бы при нажатии на старт, появлялась панелька с двумя кнопками выбором режима игры {Classicстандартные паки с картами, которые открываются по прохождению , Custom Паки сделанные пользователем или скачанные, вообщем пользовательские паки } После выбора типа игры, должна быть панелька с выбором конкретного пака, после выбора пака, панелька с выбором карты, ну и все, после уже писать контроллер игрока и запускать бегать, тестить, но как всегда не все так просто, казалась вроде что вся логика этих панелек уже реализована в редакторе карт ну панель загрузки/сохранения почти тоже самое что и должно быть в главном меню Я за час накинул почти весь код, скомпилировал билд и хуй, а сейчас я не тестирую проект в самой юнити, т.к. код заточен считывать различные бинарные файлы, карты,настройки и т.д, то есть если проверять в юнити он просто не найдет пути к файлам и не запустит нужный код, так как пути в проекте и в установленной игре разные, пользователь может установить игру куда угодно, поэтому приходиться после каждого добавления в проект компилировать билд и тестить в нем, следовательно у меня есть только дебаг ,ну и профайлер, только он нужен в конце, сейчас незачем. и о том что происходит под капотом я могу только догадываться, например файлы могут плодиться и куча разного говна, ну и вообщем я написал код который должен рисовать кнопки, а они не рисуются, расставляю в коде дебаг сообщения, по дебагу все работает , после нескольких часов последовательного дебага понимаю что кнопки рисуются, но где-то за пределами интерфейса, потом несколько часов не мог понять что за гавно ведь в редакторе тот-же код и кнопки выставляются в правильные векторы, а тут нет, сидел два часа и думал что за гавно, потом уже когда шел спать обдумывал проблемный участок кода, и понял что я долбоеб и проблема ровно в одной маленькой строчки, которую нужно просто переместить, суть такая.
Я инициализирую болванку кнопки, заполняю данными которые читаю из файла сложность коллекции, имя и т.д и устанавливаю вектор позиции относительно анкерной точки, добавляя кнопку к родительскому трансформу, но из-за того что я ставил вектор позиции до того как присоединял кнопку к родителю, анкерная точка рассчитывалась относительно экрана, а не родителя, из-за этого она рисовалась где-то в пизде. я тупо передвинул строчку кода, что-бы в начале кнопка добавлялась к родителю, а потом задавать ей позицию и проблема исчезла, лол.
Ну и пока думал о дизайне этого всего, решил использовать стандартный арт, на кнопке с выбором классического режима,теперь будет рандомная картинка с артом, о кнопке с пользовательскими паками еще не решил... и еще перекатился на Unity 5.6.1f1
Начал писать интерфейс для главного меню, нужно было сделать что-бы при нажатии на старт, появлялась панелька с двумя кнопками выбором режима игры {Classicстандартные паки с картами, которые открываются по прохождению , Custom Паки сделанные пользователем или скачанные, вообщем пользовательские паки } После выбора типа игры, должна быть панелька с выбором конкретного пака, после выбора пака, панелька с выбором карты, ну и все, после уже писать контроллер игрока и запускать бегать, тестить, но как всегда не все так просто, казалась вроде что вся логика этих панелек уже реализована в редакторе карт ну панель загрузки/сохранения почти тоже самое что и должно быть в главном меню Я за час накинул почти весь код, скомпилировал билд и хуй, а сейчас я не тестирую проект в самой юнити, т.к. код заточен считывать различные бинарные файлы, карты,настройки и т.д, то есть если проверять в юнити он просто не найдет пути к файлам и не запустит нужный код, так как пути в проекте и в установленной игре разные, пользователь может установить игру куда угодно, поэтому приходиться после каждого добавления в проект компилировать билд и тестить в нем, следовательно у меня есть только дебаг ,ну и профайлер, только он нужен в конце, сейчас незачем. и о том что происходит под капотом я могу только догадываться, например файлы могут плодиться и куча разного говна, ну и вообщем я написал код который должен рисовать кнопки, а они не рисуются, расставляю в коде дебаг сообщения, по дебагу все работает , после нескольких часов последовательного дебага понимаю что кнопки рисуются, но где-то за пределами интерфейса, потом несколько часов не мог понять что за гавно ведь в редакторе тот-же код и кнопки выставляются в правильные векторы, а тут нет, сидел два часа и думал что за гавно, потом уже когда шел спать обдумывал проблемный участок кода, и понял что я долбоеб и проблема ровно в одной маленькой строчки, которую нужно просто переместить, суть такая.
Я инициализирую болванку кнопки, заполняю данными которые читаю из файла сложность коллекции, имя и т.д и устанавливаю вектор позиции относительно анкерной точки, добавляя кнопку к родительскому трансформу, но из-за того что я ставил вектор позиции до того как присоединял кнопку к родителю, анкерная точка рассчитывалась относительно экрана, а не родителя, из-за этого она рисовалась где-то в пизде. я тупо передвинул строчку кода, что-бы в начале кнопка добавлялась к родителю, а потом задавать ей позицию и проблема исчезла, лол.
Ну и пока думал о дизайне этого всего, решил использовать стандартный арт, на кнопке с выбором классического режима,теперь будет рандомная картинка с артом, о кнопке с пользовательскими паками еще не решил... и еще перекатился на Unity 5.6.1f1
Ну и после работы продолжу писать все эти интерфейсы, до контроллера игрока еще не дошел, но уже вот вот.
Так всегда. Думаешь, что по-быстрому сейчас всё сделаешь.
Потом что-то идёт не так, потом одно за другое цепляется.
А потом в стремлении к перфекционизму пытаешься навести красоту, в итоге уходит на это столько времени, сколько уже потрачено было.
Хотя ты думал, что уже всё.
он левитирует?
Вообщем сейчас у меня много работы, мало времени, поэтому не каждый день получается писать код, но зато есть заметный прогресс, исправил много говна, и оптимизировал с децл, там-сям. Пока все идет хорошо в том смысле что архитиктура которую я закладывал в начале, еще до того как сел писать это то говно с тремя слоями о котором я говорил работает, даже есть излишки которые можно убрать и все будет работать но в падлу. Как я и писал, самая сложная часть позади, сейчас осталось только написать контроллеры для всех типов обьектов, из которых сложность вызовут только беговые дорожки которые пишу сейчас, они уже работают только не хватает одного говна, если сделать закольцованную дорожку,что-бы Бобби вечно на ней катался, не уверен есть ли в оригинале такая возможность, но мне из-за того что есть редактор нужно реализовать, что-бы не выстрелить себе в ногу, и не ебаться с проверками карты на ошибки сделанные пользователем типа таких волшебные бобы, облака, дракон, хоть логика кажется простой и так оно и есть, но приходиться учитывать все возможные комбинации игровых элементов. Как допишу дорожку , бампану контентом, когда не скажу.
OK
Наступаешь на ненажатую: она и все остальные ненажатые нажимаются. А все нажатые отжимаются.
Или по другому скажу. На старте на поле есть X кнопок в состоянии 1 и Y кнопок в состоянии 2.
После переключения у нас все X кнопки в состоянии 2 и все Y кнопки в состоянии 1.
ага, так и сделал.
Суть такова.
Прошел месяц, за месяц работы над проектом он доведен до альфа стадии, реализовано большая часть функционала, Написано ~5k строчек кода. Пока не много времени и в падлу грузить голову, поэтому в основном накидываю код в пятница-воскресенье, буду бампать, постараюсь по чаще, но если проебусь, то воскресенье - вечер, это почти стабильный бамп.
https://www.youtube.com/watch?v=RHYMj_GNwoY
ОК, ждём
1024x720
Да, но новостей не много, за эту неделю почти ничего не написал. Бытовуха и т.д. Из того что написал, это карусели вращающаяся платформа и исправил core кусок отвечающий за сборку карты из файла, я видимо проебался забыл исправить, и в игре использовал не тот класс для хранения инфы о карте, из-за этого в игре инфа о каждой клетке дублировалась, если точнее то в каждой клетке есть инфа о типе обьекта который лежит в этой клетке и ссылка на сам обьект, что тупо пиздец, и теперь я просто храню обьекты не дублируя инфу о нем и обращаюсь напрямую к нему. На следующей недели поднажму.
На лаги не обращай внимания, это у меня гавно-ноут и бандикам жрет все что может, а так где-то в среднем будет ~2мс за кадр, это в секунду где 300-500 кадров, но на нормальных пеке наверно и 1мс c соплями будет, это около 1к кадров в сек.
Очень хорошо. Если не считать лагов, практически не отличить от оригинала
ОК. Буду ждать новостей
Так и в погромиста можешь потихоньку перепрофилироваться
Вопрос кувшинка останавливается когда проезжает сквозь монеткус игроком или без?
Вопрос, я так понял судя по картинкам уровней, то ее можно ставить на волну и тогда она при старте игры она движется по ее направлению если не уперается в что-то.
>Вопрос по водным кувшинкам, кувшинка может столкнуться с кувшинкой? имею ввиду когда две движутся на встречу друг другу то что с не подвижной сталкивается это понятно.
Да
>Вопрос кувшинка останавливается когда проезжает сквозь монеткус игроком или без
Нет. Да и монеток в воде нет.
>Вопрос, я так понял судя по картинкам уровней, то ее можно ставить на волну и тогда она при старте игры она движется по ее направлению если не уперается в что-то.
Всё так
Ок. Спрашивай, если что уточнить нужно
ОП репортинг ин.
Изначальная проблема так и не порешалась.
Сейчас появился программист-кун, который пишет открытый порт, используя выдранные материалы из оригинальной игры.
По изначальному вопросу помощь так же приветствуется.
840x644
Чот они у тебя пружинят перед тем, как выстроиться.
Или это типа эффект такой новый внедрён для красоты?
Это не для красоты, хотя как по мне, то так красивее чем было в оригинале, но если в двух словах то истоки этого движения лежат в реализации перемещения кувшинок, в оригинале это работает примерно так, когда кувшинка должна двигаться она рассчитывает путь, находит целевой вектор куда ей плыть и где остановиться с учетом всего с чем она может взаимодействовать: волны, деревяшки, после нахождения пути она высвобождает занимаемое место и записывает себя на целевой вектор, после чего начинается перемещения, следовательно перед тем как начать визуально перемещаться, технически она уже переместилась, благодаря чему мы можем почти одновременно построить пересекаемые пути для кувшинок до начала их движения. Но из-за того что у нас более сложная реализация и пользователь может сделать в редакторе любые сочетания, такая модель нам не подходит. На вскидку возьмем ситуацию в которой при старте карты кувшинки перемещаются в направлении друг-друга, это уже сложно и дорого рассчитать, нужно знать скорость движения,вектор направления, расстояние и прочее, что-бы точно определить место где они должны пересечься и остановиться, а если одна из них будет двигаться не по прямой на встречу, а сделает поворот на волнах из-за угла, это уже пиздец, а если они будут пересекаться крест на крест, а если их будет паравоз из 8 штук + волны зиг загом и их пути пересекаются крест на крест, только думаю об этом и уже расстраиваюсь, а это всего лишь кувшинки, а не система ПВО. Вообщем я использую другую модель расчета движения, которая и порождает такой интересный эффект, а в оригинале дизайнеры просто избегали все эти подводные из-за выше изложенных причин.
Ну и это только один пример, еще есть возможность поставить кнопки переключения волн поближе друк к другу и тогда можно будет изменить направления волн когда они уже все рассчитали и технически переместились, а визуально еще двигаются, тогда нужно все пересчитывать, а если поймать момент и переключить волны в неподходящий момент, то сложность таких расчетов становиться пиздецом в вакууме. Когда пользователь начнет играться всем этим как в песочнице, то это превращается в серьезную инженерную задачу, епта.
На самом деле в оригинале есть уровни, где этих листочков овердохуя. Один ходят цепочками, делают повороты цепочками, сталкиваются.
Есть такие задачи, где надо довести листок до конечного пункта, при этом по ходу движения много волн. И нужно клацать по волновым переключателям туда-сюда, пока листок не дошёл до очередной волны.
Уровни с переключением волн на лету встречал, а все остальное не припомню, это какой лвл?
840x644
Ну и сделать что-бы они красиво заворачивали на волне, это как я планирую решит несколько проблем из шебм.
Не унывай, родина нуждается в тебе!
>>409375
Например, последний в паке Circulation
>>409379
На 0:40 - 0:41 неправильное поведение. Когда листик натыкается на волну в противоположном для него направлении, он останавливается.
На 1:12 - 1:13 надо тоже уточнить. Не помню точно, но возможно, что листик (на примере стоит на волне, направленной вниз, но не может пока плыть из-за преграждённой дороги) нельзя толкнуть в сторону (на примере влево) с волны.
>последний в паке Circulation
Опачки, а у меня то и нет этого пака, есть только те что в стандартном гайде на сайте разрабов, можешь скинуть все что есть? Вообще было бы здорово найти схемы левелов с всех частей игры,те которые смогут работать на механиках которые у нас будут.
>На 0:40 - 0:41 неправильное поведение.
Это так, что-то я забыл совсем, исправлю.
>На 1:12 - 1:13 надо тоже уточнить.
То есть с волны можно двигаться только по ее направлению? Если скажем лист упирается на волне в землю, то его не как не сдвинуть, только переключив волну?
>То есть с волны можно двигаться только по ее направлению?
Да надо уточнить, не помню точно. Сейчас попробую поискать подходящий уровень и проверить.
>найти схемы левелов с всех частей игры
Было бы здорово, но их скорее всего нет.
На самом деле в тех 12 левелпаках, на которые есть схемы, встречаются все игровые механики.
1084x1080
Уточнил. Всё там можно, ложная тревога.
Вот прошёл и записал последний тур в паке Circulation
Так, что-то я поглядел, а листья то и не заворачиваю плавно на волнах, даже не знаю как у меня в сознании такое отложилось и где я это увидел, имею ввиду мне казалось что листья когда двигаются по волне то их будто плавно сносит по направлению течения, а щас посмотрел, ничего такого не увидел, лист движется в центр тайла волны и потом двигается по ее направлению.
Теперь что касается столкновений листьев, то что я писал выше где кичился о более полной и крутой реализации , посмотрел левел паки, но не увидел листьев которые одновременно двигаются на встречу друг другу @>>> <<<@ или пересекаются в движении крест на крест., делаю вывод что таки такого нет,а если есть, то это могло бы решаться судя по оригиналу тупо делением пути на два, или что-то хитрое не используя физики как у меня, вообщем это важно увидеть, если такое есть. Как я понял что в игре все кувшинки сонаправленны в движении и могут сталкиваться только с неподвижными кувшинками, точнее уровни есть только такие где они не двигаются на встречу и могут сталкнуться будучи не соноправленными.
>Как я понял что в игре все кувшинки сонаправленны в движении и могут сталкиваться только с неподвижными кувшинками? точнее уровни есть только такие где они не двигаются на встречу ?
Ну видимо да. Я таки не припоминаю уровней, где разнонаправленные листики сталкиваются
Было бы здорово если бы ты по облокам шебм бы записал, как с волнами, очень удобно смотреть и править, когда время будет естественно, пока еще нужно эти кувшинки одолеть.
1082x1080
Нашёл вот один уровень с интересным моментом. Вот посмотри: на поведение правого листика на 00:39 - 00:41 А потом я переиграл по-другому на 01:27 - 01:29
Интересно, Это многое меняет, в той модели как я себе представлял это работает в оригинале.Буду думать дальше...
Ну конечно я всегда могу тупо каждый кадр проверять положение кувшинки и обновлять карту проходимости, но так не делается и надеюсь до этого не дойдет, скорей всего я сделаю все относительно норм, но тут опять таки есть ящик пандоры в виде какого-нибудь дохуя умника который будет лепить матерые комбинации этих волн и кувшинок. Будь он проклят этот дохуяумник-кун.
Та не, это не тот случай, в крайнем случае просто сделаю как в оригинале и они просто будут проезжать сквозь друг друга, но думаю я справлюсь и сделаю лучше.
Ебался с волнами, доебался до воскресенья. Все вроде правильно и работает писал ту часть где они плавают по одной кувшинки, не очередями. , но постоянно вылазят какие-то баги, я лезу их переписывать и так до воскресенья, я так часто переписывал код что уже не могу нормально реагировать на всплывающие ошибки и определять причину, на бумаге все должно работать, по крайне мере та часть где они двигаются по одной, а на практике какой-то не объяснимый бред, так что если в ближайшие дни меня не озарит, буду переписывать все с начала контроллер кушинок и волн ., почти уверен что проблема в каком-то костыле который я слепил закрывая баги и забыл о нем, или часть старого кода который незаметно остался и он как-бы по логике отвечает требованиям, но уже не актуален и я не замечаю его, или типо того, вообщем проще написать заново шаблон поведения который работает на бумаге, и ебаться со свежим кодом о котором есть полное представление, чем насиловать этот старый развалившейся труп. Еще имеет смысл скомпилить билд шиндоус/линух и дать тебе тестить, что-бы эффективней эти баги определять и лечить, нужно тупо лепить разные комбинации волн-кувшинок, находить ошибки и запоминать как эти ошибки воспроизводить, и репортить в тред.
ОК. Помогу, конечно
> скоро будет.
Уже вот вот.
Бамп.
Вроде придумал алгоритм, сейчас буду проверять, возможно будет бамп алгоритмом с инфой, который нужно будет обмозговать и убедиться что все работает, перед тем как начать писать.
Сразу скажу что это практически ПВО, но благодаря нескольким правилам, то что они двигаются в 4ех направлениях, двигаются с одной скоростью, не могут обгонять друг друга и т.д, можно сильно упростить схему, но принцип тот же, рассчитываем путь движения для всех обьектов, находим точки пересечения, если есть считаем длину пути до этой точки для обоих обьектов, расставляем на места, если место уже зарезервировано для другого обьекта, то мерим их длину от старта до этого места, та у которой длина меньше занимает это место, и это в цикле пока все листы которые могут двигаться то есть все листы которые стоят на волнах для листов и на потоке воздуха для облаков не будут посчитаны найдет путь и целевая точка и все пути не будут пересекаться, как-то так.
Ну что могу сказать, удачи. Тут я тебе не помощник
664x476, 0:45
Второй краеугольный случай тоже завязан на порядке рассчета листьев, он возникает когда просчитаный путь для листа перекрывает другой лист, который считается позже первого, но путь у него короче и он перекроет дорогу первому раньше чем тот проедет точку столкновения.
Нет.
Вообщем как и планировал, сел писать ахуительный алгоритм, в начале накидал на бумаге как это должно быть, потом вывел основные проблемы и начал думать о том как их решить, в основном проблема расчетов такого рода в том, что листы начинают двигаться в рандомной последовательности, то есть если бы пути для листов рассчитывались в порядке от наименьшей длинны пути - к большей, то в большинстве случаев результат был бы приемлем, да и вообще основной фактор от которого зависит оценка пути это длина этого самого пути для конкретного листа. Вообщем понимание этого решало много проблем, затем перешел к проблеме когда пути листов пересекаются, это было довольна легко решить, нужно было просто засекать пересечения пути, проверять то что пересекаемые листы не двигаются в одном направлении так как паровоз из листов тоже технически пересекает путь первого листа и т.д т.к. одно место могут пересечь несколько листов, то нужно было просто записывать все эти листы, сортировать их по длине пути от старта до точки пересечения, и вносить их в список для перерасчета, ну и если длинны пути равные, то значит листы сталкиваются и нужно просто выбрать какой лист займет место пересечения ,а делает это первый кто начал рассчитывать путь до пересечения, у него и наименьший путь до этой точки так как список для листов которым нужен перерасчет пути сортирован по длине пути, бинарной кучей - не вдаваясь в подробности.., если длинна пути не равная, игнорируем это пересечение, так как они просто пересекают точку столкновения в разное время, а так как скорость движения для всех одна то узнать это довольна легко, мы просто приводим скорость пути к 1, и равномерно считаем для всех листов путь от старта либо от текущей позиции если лист уже в движении.
до точки пересечения. Похожим способом решалась проблема когда листы двигаются на встречу друг другу, нужно было просто определить что они действительно двигаются на встречу друг другу,после чего разделить путь между этими листами на 2, и если получаем четное число, то просто возвращаем для каждого листа это число как длину пути, если не делиться на 2 имеется ввиду четное число - нечетное первый лист занимает (длина пути / 2), а второй (длина пути / 2)-1. Ну и оставалось самая ресурсоемкая проблема когда лист движется и во время его движения происходит перестроение листов или еще чего, что может повлиять на его путь, тут лист который движется в случае когда его конечная точка пути на волне, или упирается в лист на волне и т.дв потенциально динамический обьект, в игре это наверно только лист и доски. то этот лист просто прослушивает проверяет тот лист на то, что он не начал движение и до сех пор занимает эту позицию. Так же было еще несколько проблем, о которых мне просто в падлу писать т.к. все это не имеет смысла и в конце недели когда я сел переводить алгоритм с бумаги в код, я понял что я долбоеб, и можно было все сделать настолько просто что становиться смищно от того как я ебался неделю над алгоритмом и сколько сил было на это потрачено. Причем алгоритм получился потенциально рабочим и наверно он не сильно бы уступал по производительности тому решению которое пришло в конце, но это уже совсем другая история, а решение которое пришло пиздецки примитивное и пришло мне на фоне работы над другим проектом под nes но это не точно. Вообщем опять не вдаваясь в подробности, у меня для всех интерактивных обьектов используются триггеры, которые засекают три состояния взаимодействия с ними - когда обьект входит в зону триггера, когда находиться в зоне триггера , и когда выходит из него. Я просто буду использовать это тригерры как узлы для поиска пути, а сами листья можно сказать вообще не будут рассчитывать путь, они будут двигаться тупо на одну клетку вперед и смотреть они будут на одну клетку вперед. То есть лист тупо начинает движения и будет двигаться от триггера к триггеру в своем направлении пока не столкнется с чем-либо и перезаписывать свое значение он будет от триггера к триггеру, не каждый кадр как я боялся, тут конечно остаются всякие исключения, но в целом это должно работать и это очень легко, еще не писал так как под впечатлением от всего этого говна и отдыхаю.
Вообщем как и планировал, сел писать ахуительный алгоритм, в начале накидал на бумаге как это должно быть, потом вывел основные проблемы и начал думать о том как их решить, в основном проблема расчетов такого рода в том, что листы начинают двигаться в рандомной последовательности, то есть если бы пути для листов рассчитывались в порядке от наименьшей длинны пути - к большей, то в большинстве случаев результат был бы приемлем, да и вообще основной фактор от которого зависит оценка пути это длина этого самого пути для конкретного листа. Вообщем понимание этого решало много проблем, затем перешел к проблеме когда пути листов пересекаются, это было довольна легко решить, нужно было просто засекать пересечения пути, проверять то что пересекаемые листы не двигаются в одном направлении так как паровоз из листов тоже технически пересекает путь первого листа и т.д т.к. одно место могут пересечь несколько листов, то нужно было просто записывать все эти листы, сортировать их по длине пути от старта до точки пересечения, и вносить их в список для перерасчета, ну и если длинны пути равные, то значит листы сталкиваются и нужно просто выбрать какой лист займет место пересечения ,а делает это первый кто начал рассчитывать путь до пересечения, у него и наименьший путь до этой точки так как список для листов которым нужен перерасчет пути сортирован по длине пути, бинарной кучей - не вдаваясь в подробности.., если длинна пути не равная, игнорируем это пересечение, так как они просто пересекают точку столкновения в разное время, а так как скорость движения для всех одна то узнать это довольна легко, мы просто приводим скорость пути к 1, и равномерно считаем для всех листов путь от старта либо от текущей позиции если лист уже в движении.
до точки пересечения. Похожим способом решалась проблема когда листы двигаются на встречу друг другу, нужно было просто определить что они действительно двигаются на встречу друг другу,после чего разделить путь между этими листами на 2, и если получаем четное число, то просто возвращаем для каждого листа это число как длину пути, если не делиться на 2 имеется ввиду четное число - нечетное первый лист занимает (длина пути / 2), а второй (длина пути / 2)-1. Ну и оставалось самая ресурсоемкая проблема когда лист движется и во время его движения происходит перестроение листов или еще чего, что может повлиять на его путь, тут лист который движется в случае когда его конечная точка пути на волне, или упирается в лист на волне и т.дв потенциально динамический обьект, в игре это наверно только лист и доски. то этот лист просто прослушивает проверяет тот лист на то, что он не начал движение и до сех пор занимает эту позицию. Так же было еще несколько проблем, о которых мне просто в падлу писать т.к. все это не имеет смысла и в конце недели когда я сел переводить алгоритм с бумаги в код, я понял что я долбоеб, и можно было все сделать настолько просто что становиться смищно от того как я ебался неделю над алгоритмом и сколько сил было на это потрачено. Причем алгоритм получился потенциально рабочим и наверно он не сильно бы уступал по производительности тому решению которое пришло в конце, но это уже совсем другая история, а решение которое пришло пиздецки примитивное и пришло мне на фоне работы над другим проектом под nes но это не точно. Вообщем опять не вдаваясь в подробности, у меня для всех интерактивных обьектов используются триггеры, которые засекают три состояния взаимодействия с ними - когда обьект входит в зону триггера, когда находиться в зоне триггера , и когда выходит из него. Я просто буду использовать это тригерры как узлы для поиска пути, а сами листья можно сказать вообще не будут рассчитывать путь, они будут двигаться тупо на одну клетку вперед и смотреть они будут на одну клетку вперед. То есть лист тупо начинает движения и будет двигаться от триггера к триггеру в своем направлении пока не столкнется с чем-либо и перезаписывать свое значение он будет от триггера к триггеру, не каждый кадр как я боялся, тут конечно остаются всякие исключения, но в целом это должно работать и это очень легко, еще не писал так как под впечатлением от всего этого говна и отдыхаю.
Yes, надеюсь что это последний раз.
суть такова. Проебал выходные на бытовуху, написал листья, осталось написать что-бы листья пересчитывались когда лист освобождает место на волне и т.д, это легко, к тому же серьезно задумался перевести бег.дорожку, лед и т.д на новый алгоритм, уж больно он прост и стабилен по сравнению с старым, но не факт, а в целом бамп с контентом будет на недели, так как астрологи предсказали неделю свободную от работы, то смогу писать не только по выходным, а прикладываться еще и в будни, на данный момент все выглядит легким и понятным, думаю что уже не обосрусь и таки запилю проект до конца.
И про альфа билд не забывай
Ждём. Удачи
Нахуй тебе дача? Тут бы сидеть код пилить, нет блядь! Надо на дачу, кОртОшечку полоть ко-ко-ко.
Это хорошо. Я уже начал побаиваться, что ты пропал
Зер гут, ждём-с
Ну норм
656x500, 1:13
Бодро. На стоп кадре можно увидеть наложения листов друг на друга. Это ведь только визуальный косяк?
Да.
Ну я подписался, кто-то подписался. Уже 102. И ты подпишись.
>уже довольно давно погромирует
Прошло всего где-то 3 месяца, из которых я садился за проект 1.5 месяца.
>на уровне аля java игры на сименсы
Это порт джава игры .
Проще было написать Это опен сорс порт джава игры с редактором уровней. просто ОП поста скорей всего не читал тред и подумал что эти треды связаны с игрой хотя разрабатывать ее начал несколько месяцев назад , а треды встречал вроде еще в прошлом году, ну а с игрой на уровне аля java игры на сименсы он близок т.к. это порт джава игры она не на уровне ,а она есть джава игра с сименсов.
Та..., оффтоп.
Вроде всё норм!
Положняк следующий, к сожалению писать получается не часто, т.к. работа, пока все еще процесс стоит на листьях блядь, точнее на поведении когда переступаешь с досок на лист, как я понял когда такое происходит то игрок должен стопориться на том листе который будет занимать высвободившееся место под досками и не сможет например быстро его пробежать? Вообщем эту проблему я сейчас решаю, и так-же немного изменил поведения листьям, посмотрел еще раз твои шебмки с оригиналом, увидел что когда есть ряд листьев то они двигаются как-бы по очереди с разницой в одну клетку,в начале стартует первый лист, когда он переместился на клетку начинает двигаться следующий...если бы я раньше заметил это то это бы облегчило задачу проблема когда несколько листов одновременно начинают движения хоть они и заканчивают свое движение в одном и том же кадре, но рассчитываются в разном порядке из-за чего бывает что лист позади заканчивает движения раньше других, пересчитывает путь и не видит лист который идет впереди него, но я не заметил и исправлял эту проблему, так что это изменение носит чисто эстетический характер, в угоду аутентичности. Продолжаю ебаторию...
>, как я понял когда такое происходит то игрок должен стопориться на том листе который будет занимать высвободившееся место под досками и не сможет например быстро его пробежать?
Ну да, передвигаться с листа на лист можно только по неподвижным листам.
>увидел что когда есть ряд листьев то они двигаются как-бы по очереди с разницой в одну клетку,в начале стартует первый лист, когда он переместился на клетку начинает двигаться следующий...
Не догадался тебе об этом сказать, когда говорил, что у тебя листы наезжают друг на друга иногда
Это хорошо. Ждём.
Сам собираюсь сесть за ремейк другой крутой игрушки на Java 2 ME, только со временем швах. Так что слежу за развитием этого проекта
Я имел ввиду, что давненько ты к нему не возвращался. Я почитал и так понял, что ты планируешь опенсорс проект сделать, никуда проект не выкладывал ещё?
Нету среди них спрайтов анимации капающего снег кролика,
Смотря что ты имеешь ввиду.
Никакой, я использую квадратную сеткуне гексы ее легко рассчитать, Y-sort использую нативный, он прекрасно работает, а если ты про арт, то тоже свой, рендер спрайтов/тайлов делаю в юнити, для теней использую шейдер которой делает из тени меш, типо как Shadow volume это нужно для рендера полупрозрачных теней в спрайт, и есть скрипт который рендерит картинку, обрезает фон, все кроме теней и меша, ну и в скрипте можно задать папки в которые рендерить кол-во фремов в секунду и кол-во кадров на рендер, это для рендера анимаций и т.д на выходе пнг с альфой.
>Y-sort использую нативный
В смысле нативный?
Вот например описание https://mazebert.com/2013/04/18/isometric-depth-sorting/ iso depth sorting когда мы рендерим картинку по спрайтово, но если в юньке используем отдельные спрайты - как осуществляешь их сортировку, например при перемещении персонажей - нужно отсортировать объекты (и переместить относительно Y) и объект может занимать более 1 тайтла и иметь вырезы/многоуровневую конструкцию.
1280x692, 0:27
Да,да, это и делается с помощью y-Sorting'a, спрайты сортируются относительно друг-друга по Y вектору. а под нативной реализацией имею ввиду, недавний сахар который пришел с последними обновлениями именуемый sorting group в нем создаються нужные слои, для изометрической 2д игры нужно всего два слоя, и в настройках самой юнити есть поле в котором можно указать вектор по которому спрайты сортируются, нужно только правильно выспавлять пивот (анкерную точку) относительно которой происходит сортировка между другими обьектами на слое.
а сами пивоты должны запекаться при рендере в спрайт, у меня они обозначены зелеными пикселями
Фок мии
Сам с в юньке с изометрией пока не работал (да и с 2d в целом не много), про сортинг групп видел в одном из апдейтов, но том было буквально двумя строками, теперь понятно.
А что с Open Bobby Carrot? Если ты сейчас не можешь им заниматься, нужно дать возможность другим.
Нужен проект на гитхабе или что-то подобное. Можно и тред отдельный организовать
Не, пока думаю не стоит, т.к. зашкварно, код без комментариев и не самой понятной архитектурой, к тому же ценности этот код не несет, там все довольна примитивно, думаю если кто-то будет проявлять интерес к коду мне проще пояснить за него здесь, чем комментировать код и делать его юзабильным.
Но сам код ведь хочется увидеть. Хотя бы залей в архив куда-нибудь, если не хочешь шкварить свой репозиторий
Я думаю я не единственный, кому твой код интересен, пусть даже и примитивный и без комментов...
https://dropfile.to/QeRfwGs
Ну и там много всяких мелких проблем на которые я закрывал глаза из-за их незначительности и планировал исправить в конце, одна из таких проблем это когда делаешь больше 10 уровней в коллекции, скрипт просто каждый раз считывает файлы карт из папки, а карты нумеруются типо - 01,02,03,04 , а когда их становиться десять, скрипт их парсит но какого-та хуя их порядок нарушается и на место 11 карты ассоциируется файл 01 карты, этого у пользователей может и не быть и как я понял зависит от выбранного типа сортировки файлов в операционной системе(сортировка по размеру, по алфавиту и т.д) что-бы исправить нужно сортировать лист с файлами при чтении по нарастанию и все. И еще в редакторе карт не прописано удаление обьектов на правую кнопку мыши, что-бы убрать обьект со сцены нужно на его место поставить другой обьект с таким же слоем, что-бы он затерся, да звучит жестко, но для тестов мне этого хватало, поэтому я даже не напрягался по этому поводу, сделать удаления с карты очень легко, оно есть в коде, нужно просто прописать что-бы на правую кнопку мыши это делалось.
>>392202
Редактировать - пока нахуй не надо забудем. Может, порт всё-таки допилят.
Всмысле планшет, телефон, какой размер экрана?
Тебя я и имею ввиду, ты ОП Java треда, по определению Java-кун. Какими устройствами располагаешь? располагаешь? Интересуют именно размеры экранов, маленькие есть?
Пока нарисовал UI, для этих самых мобильников и вообще, начальный вариант был слишком примитивен, а я как раз начал работу над UI в основном проекте
>>454751 (OP) и решил набить руку здесь, к тому-же скилл подрос и многие вещи переосмыслил, так что...
Это не может не радовать!
Да, подобное обсуждение вроде было. Тут много разных путей если говорить о том как монетизировать проект.
1) самый быстрый и простой продать проект на аукционе есть и такие где его купят а там разные пути либо можно продать целиком права или разделить и получать проценты торгуя в две руки или даже больше и продадут за тебя.
2) перерисовать картинки что тоже вероятно сделать т.к. речь идет о атласе примерно 1024х1024 пикселя и заменить звук, тогда все права твои и можно делать что хочешь.
3) Продавать продукт отдельно от файлов с чужими правами и просить игрока купить оригинальную игру с файлами, извлечь их в папку с моим проектом.
4) Раздавать бесплатно.Правообладатели тоже могут спросить с тебя за права и погнать метлой с магазина, но тут многое зависит от того кто обладает правами
В моем случае планирую идти по 4 пути и возможно прикреплю реквизиты с возможностью поддержать разработчика, что как-бы благотворительность и допускается, но это не точно. В любом случае такой продукт продавать будет сложно и глупо, и я вряд ли получу на нем что-то кроме опыта.
Ну и если идти по 4 пути, то в магазин такой продукт засовывать почти не имеет смысла, проще залить сразу на торренты и раздавать на них, но я думаю залью мобильную версию в маркет, т.к. там куча подобного говна и есть плюшки типо фидбэка,метрики и простого обновления версий у пользователя..
>>467524
А если смотреть в целом, то идеальным вариантом для меня является патреон, т.к. по идейным соображениям я не хочу работать в крупных конторах моего города т.к. я качаюсь на Developer, а это все равно что работать предпринимателем на другого предпринимателя , а кушать хочется, и поскольку я собирался идти на патреон как только нарисую промо арты в основном проекте >>454751 (OP) , целесообразней будет иметь подобный проект в портфолио что-бы было видно что ты не верблюд, и в дальнейшем я планирую сохранить подобную тенденцию и вести на патреоне две ветки с основным проектом, и подобными мелкими проектами, где буду писать опенсурс порты разных игр от NES до пеке и не только, на которые планирую получать даллары с заинтересованных пользователей.
Ты ещё забыл про респект
Если честно, выглядит как презентация в поверпоинте сделанная на уроке информатики в шкалке. Всё дело в переизбытке анимаций, ИМХО.
Возможно, но такие уж нынче времена, казуальный интерфейс такой казуальный, лично мне нравится тот UI который я использую в основном проекте, но тут всё-таки нужно с свистелками.
Извинись.
Ну что же, недурно. В духе оригинала, но не совсем
Энивэй, самое важное - это функционал и работоспособность
>>469037
Так по сути и есть, это казуал для телефона, с казуальным интерфейсов свистелки-перделки, он такой из-за того что игра логическая и по сути своей не динамичная, из-за этого делается такой активный интерфейс, что-бы нивелировать вяло текущий геймплей и игрок не засыпал, ничего личного просто казуал и патерны.
https://vk.com/freebobbycarrot
ОК
Пишу редактор т.к. пишу все с нуля. Как допишу его и сериализатор\десериализатор сделаю бамп контентом, допишу думаю на днях, а дальше нужно написать контроллер игрока снова , и все как в прошлый раз, нужно только писать код геймплей объектов и добавлять их по очереди в билд, сами билды планирую тестировать после каждого нового объекта. Всю информацию буду постить сюда и в группе.
Из того чем можно помочь и ускорить процесс на данный момент - перевод игровых текстов, которые я залью со следующим бампом сюда для большинства слов сгодится и промт, но с проверкой., еще нужно выкавырять звук из всех офф. релизов, а также самое важное это сделать схемы всех уровней из всех частей скриншоты,.
Релиз апрель-май.
Перевод частичный у меня есть. Но помогу в любом случае.
Скрины уровней тоже достану.
Звуки и прочий контент ведь уже выдирали выше в треде
играет музыка, можно нормально удалять, и закрашивать не одиночным кликом как в прошлой версии. Файл с локализацией залью позже, как напишу раздел Help. Для контраста залью видео с интерфейсом из основного проекта, который можно назвать девелупер-френдли лол, можно оценить различия подходов когда интерфейс рассчитан на широкого пользователя, школьника, и на разработчика, ну и добавлю видео с старой версии для сравнения далее буду звать ее Альфа версией..
Отлично
Тебе не кажется что лучше заливать уровень дефолтным зеленым тайлом вначале, т.к энивей это основа почти 90% игры, а там уже отдельные кубы заменят. BTW я просто в ахуе как у вас все просто, анон ПРОСТО решил написать для другого анона игру, это прям шок. Ну и анимацию сделай все таки помягче, просто значения баунса и самого скейла поменьше, дико глаз режет.
Дефолтного тайла в игре нет. Там все уровни разбиты на несколько частей. Есть «зеленые», снежные, пустынные. Просто автор сейчас показывает наработки на примере только зелёных уровней.
Если уж и реализовывать твою задумку, то сделать несколько шаблонов с возможностью выбрать нужный из них перед созданием уровня.
Далее буду писать контроллер игрока параллельно правя всё что вылезет по редактору, ну а после контроллера уже закрытый тест и долгая мучительная рутина по написанию кода геймплейных обьектов, но учитывая что логика их работы мне известна и почти всех их я уже писал это должно занять не так много времени по крайней мере на известных мне обьектах, т.к. архитектура в основе не сильно изменилась от Альфа-версии, наибольшие изменения были как раз по сериализатору и его архитектуре. Вообщем продолжаю работу. Прикладываю видео с сабжем, оно сюда не влезло поэтому на ютубе...
https://youtu.be/HHsev7Nb7ts
Эх, обернулся назад, уже столько времени прошло, я уже практически прирос к этом треду #делаю глоток кофе, закуриваю сигарету#
Я тоже постоянно мониторю тред и рад новостям
Кто именно? у разработчика вроде их нет, как-то заходил вопрос извлечения ресурсов с wii, но не стали, но вроде тех ресов что были в треде где-то вверху достаточно мимо разработчик. Но я бы посмотрел, думаю что-то интересное там может быть.
>>найти схемы левелов с всех частей игры
>Было бы здорово, но их скорее всего нет.
>На самом деле в тех 12 левелпаках, на которые есть схемы, встречаются все игровые механики.
А схемы можно увидеть?
Отлично
Сделал плеер которым можно будет крутить музыку в игре и сделал интерфейс для панели старта игры, а так-же немного обновил спрайты кнопок с картами, теперь их три вида, синии - для простых карт, зеленые - для пройденных карт, и серые - для не законченных карт, это для тех карт которые редактируются и не отвечают требованиям для того чтобы на них можно было играть, например создатель карты забыл поставить точку спавна или финиша и т.д.
640x500, 1:00
Мой бандикам сломался.
800x600, 3:35
Вот это облом. Я думал оп что-то годное пилит. А он всё спиздил и страдает хуйнёй.
ОП в курсе и писал об этом,
>Это свободная реализация игры эпохи мобильного java гейминга "Bobby Carrot", написанная на языке c# с использованием движка Unity распространяемая по LGPL лицензии.
Но возможно ОП попробует толкнуть проект правообладателям FDG Entertainment GmbH & Co. KG чтобы они распространяли на тех же условиях что делает ОП LGPL - читай бесплатно, в любом случае ОП не рассчитывает на шекели и на этом проекте сможет поднять только опыт и уважения. Конечно есть возможность продать проект правообладателям, но ОП не полагается на такое развитие событий.
Ну даже не знаю как дальше жить и работать, могу тебе предложить следить за этим проектом >>454751 (OP)
ОП на такое и не рассчитывал, создавая тред. Он просто хотел внести исправление в оригинальной java версии.
1272x652, 1:05
http://idpixel.ru/news/672-sostojalsja-reliz-bobby-carrot-krasivoj-golovolomki-dlja-zx-spectrum/
1040x796, 4:37
Ссылку забыл. Если что, Абу разрешил в /gd. https://drive.google.com/file/d/1x-xkoIn5IW3JQQv8UEFZoJDoruRYuJ_j/view?usp=sharing
https://drive.google.com/drive/u/1/folders/1_7WJuRBhKJp6tHAqiKW-JqA_ShgDqqMF
Без понятия, я туда ничего не совал. Но сама юнити отслеживает метрические данные, что есть потенциально вредоносная программа, на это или около и триггерит наверно, в любом случае было бы глупо совать троян в гугл доки, если дефолтный тест на вирусы заваливается, если бы у меня был злой умысел , я бы сделал чтобы вирус не определялся.
Так я вообще ничего против не имею.
Просто на будущее, если распространять начнёшь.. вдруг у людей вопросы будут возникать.
Может, чтобы не триггерился, там что-нибудь сейчас выпилить можно такое, что потом будет выпилить сложнее.
>>497033
Да, я тоже не против, учту, без проблем.
768x828, 2:26
Какая длина пробежки игрока после дорожки и какая длина пробежки ,если зажата кнопка в направлении движения?
звук прилип, лаги из за бандикама.
В разных частях по-разному.
Мы вроде решили контент взять из BC Forever ремастера, а все нюансы механик из оригинальной BC5.
Так что надо запустить её и замерить
Сегодня или уже завтра займусь
800x620, 5:09
Исправил всякие мелочи, добавил беговую дорожку и лед.
Ссылка та же.
Сорян, что дорожку не посмотрел.
На работе сейчас просто пиздец кокой завал, вообще времени свободного нет
Ниче,ты лучше погляди как раздербанить образ игры с wii, там явно должен быть звук и музыка и еще мне не хватает картинки где он снег капает, побробуй рипнуть с эмулятора, с помощью всяких директикс рипперов.
Крутые зайчики. Вот бы игру без всей этой беготни по лабиринтам с монетками. Монетки - это конечно весело, но хотелось бы и простого спокойного созерцания, неспешности, ненапряжных разговоров с мимопроходящими улитками возможно.
>>497537
Сначала запоздало исследовал дорожку.
Если отпустить кнопку направления сразу после захода на дорожку, то пробегаем 3 шага.
Если отпустить кнопку после 1 шага, то пробегаем 5 шагов
Если отпустить кнопку после 2 шага, то пробегаем 6 шагов
Если отпустить кнопку после 3 шага, то пробегаем 7 шагов
ИТОГО. По дефолту от "нулевой" позиции делается 3 шага. Либо (если держим кнопку), то +4 шага от позиции, где отпустили кнопку.
Кстати. Если заходить на дорожку с обратной стороны, то всё вышесказанное справедливо.
На 1 видео я захожу на дорожку прямо
0:13-0:16
Без нажатия
0:23-0:26
Отпустил на 1 шаге
0:37-0:40
Отпустил на 2 шаге
0:49-0:52
Отпустил на 3 шаге
На 2 видео я захожу на дорожку с обратной стороны
0:10-0:13
Без нажатия
0:14-0:17
Отпустил на 1 шаге
0:22-0:24
Отпустил на 2 шаге
0:27-0:29
Отпустил на 3 шаге
>>497537
Сначала запоздало исследовал дорожку.
Если отпустить кнопку направления сразу после захода на дорожку, то пробегаем 3 шага.
Если отпустить кнопку после 1 шага, то пробегаем 5 шагов
Если отпустить кнопку после 2 шага, то пробегаем 6 шагов
Если отпустить кнопку после 3 шага, то пробегаем 7 шагов
ИТОГО. По дефолту от "нулевой" позиции делается 3 шага. Либо (если держим кнопку), то +4 шага от позиции, где отпустили кнопку.
Кстати. Если заходить на дорожку с обратной стороны, то всё вышесказанное справедливо.
На 1 видео я захожу на дорожку прямо
0:13-0:16
Без нажатия
0:23-0:26
Отпустил на 1 шаге
0:37-0:40
Отпустил на 2 шаге
0:49-0:52
Отпустил на 3 шаге
На 2 видео я захожу на дорожку с обратной стороны
0:10-0:13
Без нажатия
0:14-0:17
Отпустил на 1 шаге
0:22-0:24
Отпустил на 2 шаге
0:27-0:29
Отпустил на 3 шаге
не, это кажется, на самом деле кнопка считывается только один раз когда кролик останавливается, никакой энерции, можно проверить, если есть NumPad на клаве, то "+" увеличивает скорость времени, а "-" уменьшает, кнопка считывается только когда параметры ismoving = false; и playerMute = false;
>>498224
Планировалось, но сейчас есть вероятность что у проекта будет издатель и тогда это вряд ли получиться.
800x620, 2:51
-Добавил предметы.
-Добавил газонокосилку.
-Добавил зеркала.
-Добавил куб льда.
- исправил старые ошибки, добавил новые.
Обновленный билд будет позже, как исправлю жирные ошибки, где-то на днях.
Так. Есть пара замечаний. Как я говорил, уже есть оригинальный BC5 (Java) и ремейк BCF (Wii).
Контент у нас из ремейка, а механики вроде как решили брать из оригинала, потому что в ремейке присутствует много облегчений, которые упрощают многие уровни и нахер не нужны.
>>399345
Вот тут всё перечислялось.
Так что в соответствии с каноном на тракторе нельзя собирать морковь, она является препятствием. Также красный трактор был введён в только в ремейке.
>>399345 Тут опять же написано про него. У него увеличенная скорость и так далее. На видео я просто у тебя вижу этот читерский красный трактор, но со скоростью обычного синего..
Остальное пока выглядит просто шикарно
http://rgho.st/6B9fSTQfY
А вот вообще собсна распакованная iOS версия (которая = Wii)
Так и музыка, и звуки есть
Таки можно перекатиться, заодно шапку другую сделать
В том-то и дело, я сравнивал с версией на Java, там как только бросаешь кнопку движения кролик сразу останавливается на той ячейке по которой шёл, а в вашем билде, как бросишь кнопку, кролик чапает дальше некоторое кол-во ячеек в зависимости от того как долго удерживалась нажатой кнопка движения. В одном тестовом левеле я двигал кролика в направлении мостика, перед ним сообразил, что на него идти рано, кнопку отпустил, а кролик вместо того чтоб остановиться пошёл дальше, завалив прохождение уровня. Такие ситуации будут бесить игроков.
О в последнем билде поправили, теперь вроде норм. Только теперь почему-то стало видно границу между тайлами, тоненькие линии как сетка...
Хотя нет, проблема с хотьбой осталась, кролик иногда на лишнюю клетку ходит дальше...
И вопрос нужен ли вообще куст без анимации, который без ямы, может убрать его, он ведь не несет никакой полезной нагрузки? или где?
>>498457
>>498456
С сеткой между тайлами вроде пофиксил в версиях после 0.3, но этот артефакт может появляться при неправильном разрешении, проверь в оконном режиме если полос не будет, то проблема в разрешении, нужно ставить то которое стоит на мониторе, если полосы есть и в окне, то сделай скриншот этих полос.
1) Думаю нужен, проходил java версию игры(частей этак 7-8 прошёл), нередко в левелах встречались пустые кустики, то есть не под каждым морковка была.
2) насколько помню под кустиками может быть только лунка для яйца, само яйцо бобби туда кладёт, когда проходит по ней.
3) Проблема с ходьбой осталась, как и писал, иногда кролик лишнюю клетку проходит.
вот скрины клеток. Проверял в двух режимах: фулскрин 12801024 и оконный 1152854
4) Наверное стоит ввести ограничение на размер сетки в редакторе. Чисто ради эксперимента ввёл размеры 999*999 и билд повис намертво, по крайней мере я ждать не стал пока он отвиснет, закрыл.
З.Ы. Могу подсказывать по механикам, есть все части на Java (80% пройдено), какие вопросы есть, могу по проверять как оно в оригинальных играх работает, чтобы вы могли максимально точно их воссоздать в своём проекте :)
Скачай новый билд ver. 0.51, проверь, если линии остались, то в настройках поменяй Filter Mode на Point.
Ага, нашел баг и удалил, проверь через минут 15.
Только если в настройках фильтрации стоит точечная(point), линий между тайлами нет.
Это норма, так и должно быть. Теперь что касается управления, мамой клянусь тут обычный "grid moving" кролик двигается от узла к узлу сетки, единственное что может быть , это если играешь с джойстика или с какой-то хитрой клавой где значения кнопок направления плавающее, вообщем я изменил гравитацию кнопок направления, теперь у тебя должно быть все норм, скачай билд 0.52.
Кусты, под которыми ничего нет, обязательно нужны. Потому что они являются преградой. Их нужно скосить, чтобы потом там пешком пройти.
Насчёт яиц под кустами - действительно, там лунка под яйцо, насколько я помню. Но не само яйцо точно. Гляну на днях
Пустые кусты то понятно что нужны, я имел ввиду что есть два вида кустов, одни с анимацией, а другие нет, анимация есть у куста под которым яма как на втором пике, а есть еще куст без ямы, его видно на первом пике, для него анимации нет, в игре он встречается, функционал у него вроде схожий, вот он нужен вообще? Я так понимаю что он только ради картинки без ямы, я конечно могу сделать ему анимацию вырезав из куста с ямой, но если он играет роль только чтобы не рисовать ямку под кустом, то так ли он нужен?
В java версии вообще у кустов анимации нет.
На Wii не помню точно, но вроде всё так, как ты говоришь - анимация добавлена только для кустов, под которыми яма.
Отвечаю, в игре есть редактор, можно сделать целый килограм созидательных сцен, без лабиринтов и монеток.
Потестил. теперь с движением всё ОК! :)
Планирую в следующем месяце, если все пойдет по плану, но возможно если не удастся договориться с FDG Entertainment, то качать ее придется не через гугл плей, а с сторонних ресурсов.
Здорово! Ждём с нетерпением результатов!
Кстати, ещё вопрос, не думали о добавлении в данный проект элементов из 2-4 части игры? Таких как, например: Звёзды и водолазная маска(чтобы под водой собирать звёзды) как в 3 части, цветные ключи с замками как в 2 и 3 частях, и цветы(принцип игры как с яйцами) из 4 части.
Я думаю это существенно расширило бы функционал уровней и их разнообразие.
К сожалению картинки из java версий игры слишком маленького размера, я использую картинки из версии для Wii/IOS, а там этих предметов/обьектов нет.
С ключами и замками проблем нет, решается фотошопом с помощью перекрашивания имеющегося золотого ключа и замка. А вот остальные элементы я думаю так же можно преобразовать и подредактировать под новый размер с помощью того же фотошопа, но только спец для этого нужен... А было бы очень здорово если бы эти элементы были...
Я тоже уже думал над этим вопросом и вот что решил: большинство отсутствующих предметов из предыдущих частей имеют схожую механику либо вообще аналогичны существующим.
Так что вполне можно воспроизвести уровни из старых частей, используя имеющийся функционал (ведь пятая часть итак по сути собрала всё из предыдущих частей)
Я вполне себе намерен накидать левелпаки ВСЕХ частей, когда будет готов финальный билд.
Вот это потрясающая новость!
Ещё чуть потестил последний билд. Вы правы, в глюках, виноватым оказался мой комп на работе, он чуток слабоват. При первом запуске билда 5,2 на нём с управлением было всё ок, при последующих перезапусках глюк с управлением вернулся. На домашнем компе всё ок, ибо корайсемь :)
Далее нашёл пару недоработок(может и меньше):
1) проблема со льдом. Кролик должен скользить по льду с той же скоростью с которой двигался когда на лёд наступил. Но происходит так, что когда наступает на первую клетку, то едет как нда, а со второй кролик врубет форсаж и скользит как на ракете :) будто ему кто-то пинок под зад даёт...
2) меню на чёрном фоне, это норма? Вроде звёзды и луна в оригинале на тёмно синем-фиолетовом фоне летят? А в версии от Вии вообще облака вместо звёзд)
3)Хвостик у огненного шара как у кометы, по моему это лишнее, смотрится как-то вычурно и странно. Даже в версии от Вии огненный шар остался шаром и без хвостика...
Но это будет васянством. Если сюжет не делает разработчик, то получается васянство.
>>498935
Пока скорей для пощупать, так как есть много мелочей которые нужно исправить/сделать которые влияют на стабильность, но есть и вещи о которых я не знаю, вот примерный TODO:
- Изменить длину пробежки у беговых дорожек.
- Изменить анимацию окна выбора сцены.
- Сделать настройки скейла для UI и игры.
- Исправить синхронизацию progressDATA, для нескольких профилей.
- Сделать сериализатор для монет (чтобы монеты в офф. коллекциях можно было подобрать один раз и они суммировались в рамках всех офф колекций, и тоже самое для кастомных коллекций, но суммировать в рамках одной коллекции.)
- Добавить правило ограничения для редактора при размещении обьектов (чтобы нельзя было ставить кувшинки на землю, морковки в карте по закладке яиц, вихрь на непроходимый участок и т.д)
- Сделать проверку DATA фалов при запуске приложения, сделать их генерацию, если отсутствуют.
- Локализация всего текста на 8 языков, создания ассоциаций текста с файлом локализации.
- Исправить систему удаления/создания карт-коллекций.
- Исправить плеер музыки, добавить.
- Исправить правила для газонокосилки.
- Сделать бэкграунд для главного меню.
- Сделать отображения соответствующего интерфейса для разных типов карт(морковь, яйца, золотая морковь)
- Сделать систему оценки сложности карт/коллекций.
- Сделать систему скриншотов схем карт редактора.
- Починить анимацию всплывающих сообщений при сохранении/загрузки карт.
- Несколько пасхалок.
-------------------------
- Сделать росток для Бобов.
- Сделать облачка и кнопки для них.
- Сделать кувшинку, волны, водопад.
- Сделать пасхальные яйца.
- Сделать замок и автомат для покупки ключа,(с выставлением таймера) для карт по поиску золотой моркови.
- Сделать обьект таблички для текстовых сообщений.
- Доделать кусты.
- Сделать снег
- Сделать бабочек.
- Сделать звезды.
- Сделать Continue.
- Сделать About.
- Сделать Help.
- Профайлинг/оптимизация.
>>498935
Пока скорей для пощупать, так как есть много мелочей которые нужно исправить/сделать которые влияют на стабильность, но есть и вещи о которых я не знаю, вот примерный TODO:
- Изменить длину пробежки у беговых дорожек.
- Изменить анимацию окна выбора сцены.
- Сделать настройки скейла для UI и игры.
- Исправить синхронизацию progressDATA, для нескольких профилей.
- Сделать сериализатор для монет (чтобы монеты в офф. коллекциях можно было подобрать один раз и они суммировались в рамках всех офф колекций, и тоже самое для кастомных коллекций, но суммировать в рамках одной коллекции.)
- Добавить правило ограничения для редактора при размещении обьектов (чтобы нельзя было ставить кувшинки на землю, морковки в карте по закладке яиц, вихрь на непроходимый участок и т.д)
- Сделать проверку DATA фалов при запуске приложения, сделать их генерацию, если отсутствуют.
- Локализация всего текста на 8 языков, создания ассоциаций текста с файлом локализации.
- Исправить систему удаления/создания карт-коллекций.
- Исправить плеер музыки, добавить.
- Исправить правила для газонокосилки.
- Сделать бэкграунд для главного меню.
- Сделать отображения соответствующего интерфейса для разных типов карт(морковь, яйца, золотая морковь)
- Сделать систему оценки сложности карт/коллекций.
- Сделать систему скриншотов схем карт редактора.
- Починить анимацию всплывающих сообщений при сохранении/загрузки карт.
- Несколько пасхалок.
-------------------------
- Сделать росток для Бобов.
- Сделать облачка и кнопки для них.
- Сделать кувшинку, волны, водопад.
- Сделать пасхальные яйца.
- Сделать замок и автомат для покупки ключа,(с выставлением таймера) для карт по поиску золотой моркови.
- Сделать обьект таблички для текстовых сообщений.
- Доделать кусты.
- Сделать снег
- Сделать бабочек.
- Сделать звезды.
- Сделать Continue.
- Сделать About.
- Сделать Help.
- Профайлинг/оптимизация.
Об этом буду думать после диалога с издателем, если они захотят купить, то обязательно внесут кучу правок и т.д возможно и сюжетную линию, хз. Если как планируется согласятся издавать бесплатно, то скорей всего до сюжета дело не дойдет, мне нужно есть, оплачивать коммуналку, ну ты и сам знаешь... Если диалог ни к чему не приведет, то LGPL исходный код доступен, можно делать что хочешь.
Да ладно, ты и так молодец, игра выглядит очень приятно.
А, изменить. А я прочитал измерить, в глаза ебусь
А какие вообще сложности могут быть в такой игре? Я в упор не вижу, где тут можно с чем-то накосячить.
Нет, не диванный.
Я просто не вижу в этой игре ни одной механики, на написание которой можно потратить больше нескольких часов. Что вообще здесь может не получиться? Какие могут быть сложности?
Я тебя удивлю, но многие даже в простую архитектуру не могут, а тут как раз основная сложность в архитектуре, из-за большого кол-ва взаимодействий, считай каждый геймплейный элемент в степени взаимодействующих с ним элементов, приходиться продумывать все возможные события, это основная сложность, а что касается конкретно кувшинок, то тут может быть реальный ад, особенно если неправильно подойти к решению задачи, как я это делал в прототипе >>440726 и >>417404. Введу тебя в суть - игрок может наступать на кувшинки после чего те начинают плыть в направлении движения игрока пока все просто, вычисляем нормализованный вектор направления относительно игрока и кувшинки, и пускаем соопрограмму в которой их перемещаем в полученном векторе, попутно обновляя нужную информацию кувшинка может плыть только по воде, так же в игре есть волны, которые могут менять направление движения кувшинки, направление волн игрок может менять в любой момент кнопками уже сложней, а теперь добавляем сюда безумного пользователя с редактором, который может используя доступные ему геймплей элементы усложнить задачу кратно, например кувшинки могут столкнуться с другими кувшинками,но это столкновение может быть с кувшинкой плывущей со направлено или наоборот, к тому же кувшинка может пересчитать свой путь в любой момент, такие вычисления в динамической среде очень сложные и не тривиальные, простым Aзвездочка не решишь, кувшинки должны не только вычислять путь себе, но так-же обмениваться информацией с другими, в то время как игрок неистово жмет на кнопки изменяя среду вычислений, вынуждая делать новые расчеты, в которые в любой момент может вклиниться другой геймплей элемент и все по новой, уже сложно Вообщем сложность в архитектуре и большом кол-ве взаимодействий, в плане геймплейного кода тут настоящая квинтэссенция, механик больше чем скажем в простой линейном FPS даже в ваших калл оф дути, где основной код это контроллер игрока, поиск путей A* и AI FSM, если по серьезней то GOAP делал в свое время и то и другое не КаллОффДути, могу гарантировать это я гарантирую это. Вообщем если брать механики по отдельности , то все просто и примитивно, но если это все собирать в целое , то трудности будут. А вообще сложности есть везде, даже если матч-3 писать для написаний которых бывает существует целый отдел из нескольких погромистов и студии их делают бывает годами, это повод задуматься. Можешь полистать эту доску, посмотреть на треды, и убедиться в том что сложности есть у каждого, просто пользователи видят интерфейсы, анимации, картинки, а разработчик видит сложные взаимодействия,алгоритмы, архитектуру и т.д. Твое непонимание связано я полагаю с этим.
Я тебя удивлю, но многие даже в простую архитектуру не могут, а тут как раз основная сложность в архитектуре, из-за большого кол-ва взаимодействий, считай каждый геймплейный элемент в степени взаимодействующих с ним элементов, приходиться продумывать все возможные события, это основная сложность, а что касается конкретно кувшинок, то тут может быть реальный ад, особенно если неправильно подойти к решению задачи, как я это делал в прототипе >>440726 и >>417404. Введу тебя в суть - игрок может наступать на кувшинки после чего те начинают плыть в направлении движения игрока пока все просто, вычисляем нормализованный вектор направления относительно игрока и кувшинки, и пускаем соопрограмму в которой их перемещаем в полученном векторе, попутно обновляя нужную информацию кувшинка может плыть только по воде, так же в игре есть волны, которые могут менять направление движения кувшинки, направление волн игрок может менять в любой момент кнопками уже сложней, а теперь добавляем сюда безумного пользователя с редактором, который может используя доступные ему геймплей элементы усложнить задачу кратно, например кувшинки могут столкнуться с другими кувшинками,но это столкновение может быть с кувшинкой плывущей со направлено или наоборот, к тому же кувшинка может пересчитать свой путь в любой момент, такие вычисления в динамической среде очень сложные и не тривиальные, простым Aзвездочка не решишь, кувшинки должны не только вычислять путь себе, но так-же обмениваться информацией с другими, в то время как игрок неистово жмет на кнопки изменяя среду вычислений, вынуждая делать новые расчеты, в которые в любой момент может вклиниться другой геймплей элемент и все по новой, уже сложно Вообщем сложность в архитектуре и большом кол-ве взаимодействий, в плане геймплейного кода тут настоящая квинтэссенция, механик больше чем скажем в простой линейном FPS даже в ваших калл оф дути, где основной код это контроллер игрока, поиск путей A* и AI FSM, если по серьезней то GOAP делал в свое время и то и другое не КаллОффДути, могу гарантировать это я гарантирую это. Вообщем если брать механики по отдельности , то все просто и примитивно, но если это все собирать в целое , то трудности будут. А вообще сложности есть везде, даже если матч-3 писать для написаний которых бывает существует целый отдел из нескольких погромистов и студии их делают бывает годами, это повод задуматься. Можешь полистать эту доску, посмотреть на треды, и убедиться в том что сложности есть у каждого, просто пользователи видят интерфейсы, анимации, картинки, а разработчик видит сложные взаимодействия,алгоритмы, архитектуру и т.д. Твое непонимание связано я полагаю с этим.
Но в том-то и прикол, что у тебя тут нет большого кол-ва взаимодействий.
Всё на тайлах, игрок даже по диагонали ходить не может. Какой, нафиг, вектор. dirx && diry.
Однако я вижу, что как только заяц сел на кувшинку, его нажимания на кнопки уже ничего не изменят.
Единственная механика, которую тебе нужно проработать - столкновения с другими кувшинками. Дашь ли ты возможность игроку переходить с кувшинки на кувшинку, или просто заставишь одну кувшинку пропустить другую. И то и другое делается.. тривиально.
Какая нафиг A-стар для кувшинки? Она у тебя что, путь ищет? Она должна проверять тайл по направлению своего движения и запускать свитч:
это вода: я двигаюсь
это волна: я двигаюсь, затем меняю направление
это другая кувшинка: если она движется я жду, если она стоит, я останавливаюсь.
остальное: я останавливаюсь.
Всё! Где тут сложность?
Какой путь они вычисляют? Нафига им друг с другом обмениваться информацией? Записать в тайл значение "занят кувшинкой" при перемещении в него и вернуть его значение в прежнее при выходе. Всё взаимодействие на этом заканчивается.
Столкновение с волной я даже не рассматриваю, настолько это элементарно.
Где тут у тебя AI? Я только игрока вижу, всё остальное - объекты, однозначно реагирующие на действия игрока.
Что за фигню ты написал?
Причем здесь AI, ты не все буквы в тексте прочитал, а что касается сложности, то можно свести все к показыванию картинки на экране в разных позициях, запуску звуков, считыванию ввода и изменению переменных, так можно анализировать дивано любую игру, например HearStone - тут вообще пограмист не нужен, только считываем и записываем переменные, HP<=0{gameOver}, какие сложности в этой игре? Сколько часов ты бы ее делал? послушав тебя явно меньше чем несколько. Call of Duty пфф - пускаем рейкасты из камер, перемещая коллайдеры, продолжать можно до бесконечности, но нет смысла, я уже понял что тебе видней. Тут должно быть предложение попробовать сделать что-то самому, даже примитивное уровня HeartStone или морского боя и возвращаться.
Кувшинки считают путь на тайл вперед, проверяют кувшинки и препятствия на пути, при встрече с кувшинками убеждаются что те рассчитали себе путь, если нет
добавляем их в очередь на перерасчет, считаем их, если кувшинка высвобождает место или находиться на волне, то исходя из условий находим кувшинки на которые повлияет высвобожденное место считаем тоже самое для них, это все в цикле. Очень просто, чуть сложней матч-3, делать меньше 15 минут, тем более я уже все написал, осталось только в код перевести.
Так что там с HeartStone?
>Кувшинки считают путь на тайл вперед
Зачем?
Моё направление движения
dirx=0
diry=-1
Я нахожусь на клетке:
cell_x = 10;
cell_y = 2
Раньше у этой клетки было значение:
saved_tile_value_1 = вода.
if state == kuvshinka_states.thinking
{
Что там впереди?
var scan = tile_get_value(cell_x + dirx, cell_y + dir_y);
switch scan
{
case вода: state = kuvshinka_states.moving_to_next_tile; break;
case течение вниз: next_dir_y = -1; next_dir_x = 0; state = kuvshinka_states.moving_to_next_tile; break;
case течение вправо: next_dir_y = 0; next_dir_x = 1; state = kuvshinka_states.moving_to_next_tile; break;
case течение вверх: next_dir_y = 1; next_dir_x = 0; state = kuvshinka_states.moving_to_next_tile; break;
case течение влево: next_dir_y = 0; next_dir_x = -1; state = kuvshinka_states.moving_to_next_tile; break;
case тайл занят другой_кувшинкой: state = kuvshinka_states.waiting_for_obstacle_to_get_lost;
case мостик: state = kuvshinka_states.waiting_for_obstacle_to_get_lost; break;
case что-то ещё: state = kuvshinka_states.not_moving; break;
}
}
if state = kuvshinka_states.moving_to_next_tile
{
if !movement_init
{
movement_init = true;
saved_tile_value_2 = scan;
tile_set_value(cell_x + dirx, cell_y + dir_y, тайл занят другой_кувшинкой )
next_cell_x = cell_x + dirx;
next_cell_y = cell_y + dir_y
}
x += dirxvx;
y +=diryvy;
if (x div cell_size) == next_cell_x && (y div cell_size) == next_cell_y
{
state = kuvshinka_states.thinking
tile_set_value(cell_x - dirx, cell_y - dir_y, saved_tile_value_1 )
dirx = next_dir_x ;
diry = next_dir_y;
saved_tile_value_1 = saved_tile_value_2;
movement_init = false;
}
}
И вот это почти всё, что кувшинке нужно делать.
>Кувшинки считают путь на тайл вперед
Зачем?
Моё направление движения
dirx=0
diry=-1
Я нахожусь на клетке:
cell_x = 10;
cell_y = 2
Раньше у этой клетки было значение:
saved_tile_value_1 = вода.
if state == kuvshinka_states.thinking
{
Что там впереди?
var scan = tile_get_value(cell_x + dirx, cell_y + dir_y);
switch scan
{
case вода: state = kuvshinka_states.moving_to_next_tile; break;
case течение вниз: next_dir_y = -1; next_dir_x = 0; state = kuvshinka_states.moving_to_next_tile; break;
case течение вправо: next_dir_y = 0; next_dir_x = 1; state = kuvshinka_states.moving_to_next_tile; break;
case течение вверх: next_dir_y = 1; next_dir_x = 0; state = kuvshinka_states.moving_to_next_tile; break;
case течение влево: next_dir_y = 0; next_dir_x = -1; state = kuvshinka_states.moving_to_next_tile; break;
case тайл занят другой_кувшинкой: state = kuvshinka_states.waiting_for_obstacle_to_get_lost;
case мостик: state = kuvshinka_states.waiting_for_obstacle_to_get_lost; break;
case что-то ещё: state = kuvshinka_states.not_moving; break;
}
}
if state = kuvshinka_states.moving_to_next_tile
{
if !movement_init
{
movement_init = true;
saved_tile_value_2 = scan;
tile_set_value(cell_x + dirx, cell_y + dir_y, тайл занят другой_кувшинкой )
next_cell_x = cell_x + dirx;
next_cell_y = cell_y + dir_y
}
x += dirxvx;
y +=diryvy;
if (x div cell_size) == next_cell_x && (y div cell_size) == next_cell_y
{
state = kuvshinka_states.thinking
tile_set_value(cell_x - dirx, cell_y - dir_y, saved_tile_value_1 )
dirx = next_dir_x ;
diry = next_dir_y;
saved_tile_value_1 = saved_tile_value_2;
movement_init = false;
}
}
И вот это почти всё, что кувшинке нужно делать.
>Так что там с HeartStone?
А что там с Херстоуном? Из того, чего не смог бы написать я, там только шейдеры, которых там вагонище.
Причём самая важная составляющая - это работа со спец. эффектами.
Херстоун - это не про программирование а про геймдизайн.
Уважаемый ваш псевдо-код не нужен, разве видео с написанным работающим сабжем вам ни о чем не говорит, советую вам отправиться к жене учить ее варить щи, ОП же написал что механика примитивная, все уже поняли что вы тоже смогли бы это легко написать, и смогли бы даже быстрее ОПа. Вы большой молодец.
>Однако я вижу, что как только заяц сел на кувшинку, его нажимания на кнопки уже ничего не изменят.
одействие на этом заканчивается.
Ты не забывай, что можно стоять на земле и бегать туда-сюда по кнопкам изменения направления волн, тем самым динамически меняя путь кувшинок. На такой механике целые уровни построены - допетрить, как «провести» кувшинку. Вариантов может быть много, да и одновременно двигающихся таким образом кувшинок - больше одной
Не кормите плис, а то он снова придет.
По-прежнему не вижу ни малейшей сложности.
И какая разница сколько кувшинок одновременно двигается? Они все выполняют один и тот же алгоритм.
В общем ты себе проблемы сам выдумываешь . Поиск пути и взаимодействие у него, блин. Смешно.
Это не я тебе пишу, у меня проблем нет, я их уже писал, как же ты надоел, я не вижу ничего не возможного, смогу написать что угодно, а сложно бывает даже встать по утрам, но здесь все механики примитивные, хватит разводить флейм и оффтоп. Ты либо покажи свои проекты, либо не разводи флейм.
Здравствуйте, смотрел видосик из вашего сообщения, заметил некоторые проблемы, на 0,48 вы косите кустики вместе с лунками, но лунки должны оставаться, либо если кустик пустой, то тайл должен быть просто кустиком без лунки под ним.
Кролик наступая на лёд сильно ускоряется. Простейшая физика, тело скользящее(едущее) по поверхности может резко ускоряться только в двух случаях, если кто-то даст импульс(подтолкнёт) телу, либо если тело двигается под уклон(тут гравитация виновата).
Ещё есть проблема с дорожками(это не по видео уже, а по последнему билду), пока кролик движется по дорожке на ходу, естественно он спрыгнуть не может, но если на дорожке препятствие или тупик(при этом между концом дорожки и препятствием нет ни одной клетки), кролик может сходить с неё в стороны(естественно если препятствий нет), но у вас кролик застрянет и его невозможно будет сдвинуть.
Кустик еще не готов, о проблеме знаю.
Про лед уже писали, исправил, будет в следующем билде.
Что касается дорожек то это норма, если дорожка ведет на непроходимую клетку которая под упор к дорожке, либо на самой дорожке, то это считается тупиком и нужно начинать сначала, если препятствие после дорожки, то кролик врезается в него и может идти дальше, так-же есть поправка если кролик едет по дорожке на газонокосилке, в таком случае если дорожка ведет на непроходимый для газонокосилки участок лед, деревянный мостик, и т.д. , то это тоже тупик. Спасибо за фидбек.
>>499312
>но лунки должны оставаться, либо если кустик пустой, то тайл должен быть >просто кустиком без лунки под ним.
Подтверждаю
>Кролик наступая на лёд сильно ускоряется.
Подтверждаю
> но у вас кролик застрянет и его невозможно будет сдвинуть.
Подтверждаю
Плюс про цвет газонокосилки писал уже ранее.
Ещё одно важное замечание (неактуально для Wii версии, но мы-то следуем канонам оригинала):
ПОСЛЕ приземления с дельтапланом на точку кролик должен делать один шаг в направлении полёта. На этом завязаны некоторые уровни
См WebM 1 - после приземления я не нажимаю ни на одну кнопку движения
И ещё: после раскопки сугроба кролик должен автоматически делать шаг на очищенную территорию.
См WebM 2 - после раскопки я не нажимаю ни на одну кнопку движения
Ничего удивительного, что какие-то сраные кувшинки стали для тебя файнал боссом.
Ты даже предложение толком составить не можешь. Мне страшно даже представить, какой там у тебя код.
Пиздец.
482x704, 0:15
О боже, в прошлый раз я сделал так чтобы кувшинки двигались с задержкой по мере высвобождения нового места на пути, нужно было делать проще, чтобы они двигались без задержки, на этом в прошлый раз я остановился, мне было лень переписывать и из-за этого я оставил их на конец. Зачем ты пытаешься доказать что это не достаточно сложно или то что ты бы то же написал, я уже ясно тебе ответил, написал бы тоже?, молодец! не достаточно сложно? Да, механика у них почти как в матч-3, но собрать все в едино и дойти до релиза сложно. Ты судя по всему даже с более простыми вещами этого сделать не смог.
Ты сначала написал, что у тебя проблемы с кувшинками и даже зафотошопил смешную картинку.
Мне стало интересно, что же там такого сложного.
Ты начала рассказывать по поиск пути кувшинками, их взаимодействии друг с другом и АИ.
И тут я охуел.
Ах да,
>вычисляем нормализованный вектор направления относительно игрока и кувшинки, и пускаем соопрограмму в которой их перемещаем в полученном векторе
просто пушка.
http://www.fundza.com/vectors/normalize/
https://ru.wikipedia.org/wiki/Сопрограмма
Сопрограмы это другим языком карутина.
Учи матчать и научись читать все буквы в тексте, заходи еще.
>ебашу перемещение в тайловой 2д игрушке векторами
У тебя только с программированием проблемы? В реальной жизни всё нормально? Не дразнят, не обижают?
Трипл пиздить не будет
800x600, 3:26
- Что касается беговой дорожки, получается что при встрече с препятствием Бобби может сойти с дорожки? это на Wii\IOS так же? Он может так сойти только когда дорожка одна? Когда ведет за пределы карты так-же? а на косилке?
- Что касается трактора, то об этом знаю, поскольку покупку бонусов я пока не планирую, то решил использовать красный трактор, он мне больше нравиться, он же красный.
-Что касается льда, исправил, но мне кажется что с таким мультипликационным ускорением выглядит выразительней.
-Про снег и посадку дельтаплана, про снег не знал, но мне кажется что так как сделано лучше, посмотрю после бета тестов, если что исправлю. С дельтапланом тоже буду думать, если добавлять один шаг пробежки, то в случае если место под шаг занято нужно будет оставлять Бобби на точке посадки? Или нужно будет запрещать ставить вихрь рядом с непроходимыми обьектами?
Насчёт бобов сидел вспоминал - действительно, высота ростка не зависит от местности. Везде на уровнях они жёстко прописаны.
Но всё равно есть правила хорошего тона, чтоли. То есть в игре нет ни одного уровня, в котором росток рос бы, как на видео, поверх каруселей, кнопок, поднимающихся стенок, дракона, морковок... Есть ли возможность в редакторе задать соответствующую проверку? Чтобы росток можно было "вырастить" только поверх разрешённой местности?
А разрешённые тайлы нужно будет просто вычислить. По памяти могу сказать, что это точно земля, снег, лёд, вода, стены замка, стены из травы.. И точно НЕ кнопки, карусельки и т.д.
>ускорением
Вообще за внутриигровую валюту в оригинале можно купить ускорение. И оно тогда применяется везде - и на льду, и на земле (но не на тракторе)
>про снег не знал
Ну это вкусовщина, никак не влияющая на игровой процесс. Если внедришь - хорошо. Не получится - ничего страшного.
>в случае если место под шаг занято нужно будет оставлять Бобби на точке посадки
This
>Что касается беговой дорожки, получается что при встрече с препятствием Бобби может сойти с дорожки?
Да
>это на Wii\IOS так же?
Да. Но, насколько я помню, НЕ так же в предыдущих частях BC3, BC2 ...(которые мы в расчёт не берём)
>Он может так сойти только когда дорожка одна?
Он может сойти с дорожки, если упёрся в препятствие. Если при этом мы сходим не на землю, а на новую дорожку, то едем по ней. Если ехать некуда (препятствие и на новой дорожке), то можно сойти опять же. И так далее.
>Когда ведет за пределы карты так-же?
Как понять "за пределы карты"?
>а на косилке?
Всё аналогично
800x600, 4:41
Отлично.
На этом видео не видно, так что спрошу - если кувшинка сталкивается с другой кувшинкой, она ведь останавливается у тебя? Потому что должна останавливаться.
На видео есть момент, где кувшинка сталкивается, но она потом продолжает плыть, так как стоит на течении.
В чистом море, в общем, после столкновения она никуда не должна плыть
Ага, все так.
Такой лелевлпак всего один, называется Surreal. Там во всех уровнях, соответственно, названию, объекты раскиданы на непривычных местах.
Но игровые механики этот левелпак, конечно, не меняет. Облака могут летать только по небу. На "земле" они не выполняют абсолютно никакой роли.
Уровней, в которых при старте есть включенные вентиляторы либо летящие облака, не припомню (А с двигающимися на старте кувшинками есть уровни).
Во время перемещения облаков двигаться можно. Но встать на двигающееся облако (справедливо и для кувшинок) нельзя.
фуф, выдохнул, а то как увидел эту картинку аж замер на секунду.
Всё верно. Если едешь на кувшинке или на облаке, то сойти можно только при их полной остановке.
Вот некоторые наблюдения, пока играл в ява игру. На газонокосилке можно наезжать на кнопки(также срабатывают будто кролик голыми ногами наступает), бобы, дельтаплан, шипы, остальное является препятствием для неё. Машиной нельзя на зеркала наезжать. На льду машина ведёт себя также как и кролик без неё.
784x852, 2:18
Нет, подожди. На 2:09 неправильное поведение. Ты не можешь толкнуть листик справа налево, ведь он находится на волне, ведущей слева направо.
Дак можно же вроде, обсуждали где-то. В этом и хитрость про которую я забыл.
Перепроверил, уплыть с волны можно, правда если делать это в противоположном направлении, то не получиться, но я предполагаю это связано с функцией проверки на движение против потока, которая идет раньше проверки на доступность движения, иначе не наверно нельзя было бы уплыть вообще в любую сторону кроме стороны движения волны.
В смысле как QA проекта, решай нужно сделать чтобы нельзя было отплывать только в противоположную сторону или оставить как есть?
Исправил, сделал как в оригинале на джава.
В общем исправил всякое, сейчас пока выглядит примерно так сюда не влезло поэтому на трубе.
Предположительно открытый бета-тест будет на следующей недели, после исправления всего что выявится на тестах будет полноценный релиз для Window/Linux, и приступлю к портированию на Android. Релиз версии для Android где-то в первой половине следующего месяца. Нужно уточнение по работе вентиляторов и кнопок, как себя должны вести кнопки, когда их на сцене несколько одинаковых цветов и т.д.
https://youtu.be/HMkBivNtr_c
0:30
Внизу куст без морковки, так что у него под ним не должно быть лунки, и у него не должно быть анимации. Это справедливо и к последующим встречающимся таким же кустам.
1:54
Так и не делает шаг после приземления с дельтаплана. Это справедливо и к последующим встречающимся таким же моментам.
2:25
Файрбол должен тухнуть после встречи с "зелёной тыквой". Смотри Webm 1
2:56
НЕКРИТИЧНО. На старте есть две фиолетовые кнопки. Одна нажата "влево", другая "вправо". Ты наступаешь на нижнюю кнопку. Происходит ОСНОВНОЕ действие (поднимается/опускается фиолетовый блок, это ОК). Но есть и дополнительное действие для красоты - вторая кнопка (верхняя в данном примере) тоже должна переключать своё положение. Смотри Webm 2
5:18
Тут речь не об этом моменте, а об уровне. Не бывает более одного тракторы на уровне. Парковок может быть много, да. Но изначально трактор стоит на одной-единственной парковке. Далее после использования его можно припарковать на любую из парковок.
8:25
Так как у нас будет очевидно другая система покупок, нужно будет подумать, как должен будет выглядеть и сколько стоить вход в бонусные уровни, и какое будет вознаграждение по окончании уровня.
>Нужно уточнение по работе вентиляторов и кнопок
На старте все кнопки всегда отжатые. Может быть несколько кнопок одинакового цвета (которые включают/выключают один и тот же вентилятор). Нажимаешь одну синюю кнопку - нажимаются все синие кнопки. Вентиляторов на уровне может быть ТОЛЬКО по одному на свой цвет (т.е. максимум 4), в отличие от кнопок.
Вебм отклеились
648x504, 0:20
- Кнопки исправил
- парковки исправил
- Бонусы если я правильно понял устанавливаются в редакторе, правда как я понял в оригинале всегда фиксированная минута и две монеты, но с целью увеличить вариативность добавил возможность настройки этих параметров. Тем же руководствовался когда добавлял золотую морковь, как я понял в оригинале она всегда спрятана в кусте, но я сделал возможность расположить ее и без куста.
- С кустами, нужно просто добавить этот куст. Сделаю.
- С дельтапланам и сугробами еще не решил, думаю оставить так как есть, но посмотрим.
- С трактарами руководствовался тем же принципом как и с бонусными уровнями, в офф. картах разницы не будет, а в пользовательских даст больше вариативности.
Еще нужно уточнение по официальным коллекциям. Так как я их буду вшивать в игру, нужно определиться какие нужно переносить, я так понял что те что у меня на руках в схемах ( они с Wii/ios ?) + левел Ап'ы 1,2,3,4,5 ? и с bobby carrot 1?
Они будут последовательны в открывании, и монеты с этих коллекций будут суммироваться в одну кучу, в отличии от кастомных, которые суммируются в рамках одной коллекции, еще сделал чтобы подобранные монетки при перепрохождении не появлялись, для 100% прохождения нужно будет собрать их всех, не помню как в оригинале.
Можно, но только при одном условии, что ему есть куда идти, т.е. если он упрётся и по бокам есть свободные места, куда кролик и в обычных условиях иожет наступить, то он сойдёт, а если там какое-нибудь препятствие(куст, стена, вода и т.д.)то он естественно застрянет.
По поводу левелпаков, есть ещё левелпаки 6-9(ява), их бы тоже до кучи вставить, но есть проблемка, карт уровней нет, тоест чтобы карты замутить нужно их все пройти и отскриншотить.(на эмуле например)
Ясно, вообщем я тогда скачаю все левел паки и попробую с помощью кода открыть их всех без прохождения и сделать скриншоты, а в последствии схемы типа этих, чтобы было легко делать.но там бывают моменты когда не ясно что в кусте или под доской, что может усложнить., В общем я завтра буду собирать уровни, и попутно заливать схемы в гугл документы, для бета тестов перенесу те схемы что уже есть, а затем когда убежусь что ошибок нет, буду переносить все паки и там уже релиз. Если история с FDG не примет оборотов и не нужно будет что-то переделывать
А что на счёт 3 и 4 частей? Подводный кролик и кролик садовод. Неужель нет тут мастеров фотошопа,кто мог бы несколько тайлов перерисовать?
По поводу схода с дорожки - всё верно. Сходить можно, если есть куда.
По поводу уровней.
Есть игры ВС1, ВС2, ВС3, ВС4, ВС5, ВСF (которая является ремейком BC5)
У каждой из этих игр существует несколько изданий, различающихся, в том числе, набором уровней.
Предлагаю в текущем проекте вшить карты всех уровней BC5 (LevelUp 1-9) и BCF.
Потом уже сделать отдельно кастомный пак под условным названием "Levels from BC4", и включить в него уровни из всех изданий BC4.
Аналогично для BC1-3.
Текущие карты уровней, которые уже у нас есть на руках, - это карты из Java версии. В BCF версии они не претерпели сильных изменений. То есть вся логическая структура осталась та же, только вокруг уровня присутствует больше всяких кустов и прочих недоступных элементов декора.
>>502353
А, ну и по поводу недостающих элементов. Повторю своё предыдущее сообщение:
большинство отсутствующих предметов из предыдущих частей имеют схожую механику либо вообще аналогичны существующим.
Так что вполне можно воспроизвести уровни из старых частей, используя имеющийся функционал (ведь пятая часть итак по сути собрала всё из предыдущих частей)
С 4 частью да, там цветок аналогично яйцу действует, но в 3 части кролик подобрав водолазную маску мог под водой плавать. В 3 части ещё были цветные замки с ключами. Уровни из 3 части не получится воспроизвести используя детали пятой части. Поэтому и говорил, что было бы не плохо, если бы нашёлся кто-то хорошо владеющий фотошопом, чтобы перерисовал некоторые спрайты на основе явовских.
Нет, получится. Я потом покажу/расскажу, ближе к делу
Ладно, сейчас расскажу.
BC1
Морковь - есть в BC5
Яйцо - есть в BC5
Выход - есть в BC5
Ключ и замок - аналогично цветным кнопкам и поднимающимся блокам в BC5
Ловушка с шипами - есть в BC5
Беговая дорожка - есть в BC5
Переключатель беговой дорожки - есть в BC5
Каруселька - есть в BC5
Переключатель каруселек - есть в BC5
BC2
Звезда - аналогично моркови в BC5
Лазерный кристалл - аналогично дракону в BC5
Зеркала - есть в BC5
Ледяной блок - есть в BC5
Лёд - есть в BC5
BC3
Подводная звезда и Водолазная маска - надо подумать. Насколько я помню, в игре нет моментов, где путь листика шёл бы поверх подводных звёзд. Так что мы можем эти участки воды с подводными звёздами заменить на обычную сушу с морковью. А доступ на этот участок суши через дельтаплан, который нам заменит по смыслу водолазную маску.
Листик - есть в BC5
Водное течение - есть в BC5
Переключатель течения - есть в BC5
BC4
Лунка под цветок - аналогично лунке под яйцо в BC5
Цветок - аналогично яйцу в BC5
Куст травы - есть в BC5
Канистра - есть в BC5
Парковка - есть в BC5
Треснувший камень - есть в BC5
Кнопки и поднимающиеся блоки - есть в BC5
Ладно, сейчас расскажу.
BC1
Морковь - есть в BC5
Яйцо - есть в BC5
Выход - есть в BC5
Ключ и замок - аналогично цветным кнопкам и поднимающимся блокам в BC5
Ловушка с шипами - есть в BC5
Беговая дорожка - есть в BC5
Переключатель беговой дорожки - есть в BC5
Каруселька - есть в BC5
Переключатель каруселек - есть в BC5
BC2
Звезда - аналогично моркови в BC5
Лазерный кристалл - аналогично дракону в BC5
Зеркала - есть в BC5
Ледяной блок - есть в BC5
Лёд - есть в BC5
BC3
Подводная звезда и Водолазная маска - надо подумать. Насколько я помню, в игре нет моментов, где путь листика шёл бы поверх подводных звёзд. Так что мы можем эти участки воды с подводными звёздами заменить на обычную сушу с морковью. А доступ на этот участок суши через дельтаплан, который нам заменит по смыслу водолазную маску.
Листик - есть в BC5
Водное течение - есть в BC5
Переключатель течения - есть в BC5
BC4
Лунка под цветок - аналогично лунке под яйцо в BC5
Цветок - аналогично яйцу в BC5
Куст травы - есть в BC5
Канистра - есть в BC5
Парковка - есть в BC5
Треснувший камень - есть в BC5
Кнопки и поднимающиеся блоки - есть в BC5
Главное - логика. Звёзды от морковок отличаются только изображением. Примерно то же будет и с подводными звёздами.
Проект использует ресурсы BC5. Всё лишнее будет там чуждо. Возможно, я перебираю, но мысль, думаю, ясна.
Да всё норм будет
Редактировать левелпаки НЕ НУЖНО. Осталось решить только первую часть задачи - увеличить количество доступных левелпаков - чтобы подготовить такую java версию, в которой будут сразу все левелпаки.
Для этого, напомню, мало скинуть все dat файлы левелпаков в один jar файл.
Нужно ещё изменить в коде игры ограничение на 4 левелпака.
Код находится в файле a.class. Это байт-код. Его можно декомпилировать в исходный обфусцированный код. Вот код, полученный после декомпиляции в IntelliJ IDEA:
http://pastebin.com/uBLRjwj8
Но так редактировать не пойдёт, потому что потом сложно будет сложно скомпилировать обратно class файл и перегнать его в J2ME.
Редактировать байт-код в class файле напрямую МОЖНО. Вот ссылка на пропатченный Java Bytecode Editor:
http://www.mobileread.mobi/forums/showthread.php?t=236780
Для примера пытаемся сделать доступными 5 левелпаков вместо четырёх. Файл 05.dat в JAR закинут, а в a.class через Java Bytecode Editor внесены изменения в код некоторых методов (строка "iconst_4" в некоторых местах изменена на "iconst_5")
В итоге уже есть кое-какой результат: пятый левелпак ВИДНО в меню, но без значков слева и справа от названия (смотри пик). Но самое плохое, что игра вылетает после прохождения первого уровня в этом левелпаке. То есть нужно ещё в каких-то местах провести правку кода.
Пока что все силы мои пойдут на составление карт к OpenBobbyCarrot, который близок к выходу.
НО если вдруг найдутся специалисты по Java (J2ME), то буду очень рад. Расскажу все подробности (что сделано и на чём остановились).
>>503846
Значит так, ОТСТАВИТЬ!
Добрый человек, который начал делать допил java версии, ДОДЕЛАЛ её.
Реквест выполнен.
Теперь можно официально объявлять это тредом Open Bobby Carrot, и только его.
Можно ли как-то отредактировать ОП-пост?
Тебе че блять, нехуй делать на какой-то Бобби Каррот пилить моды? Левелпаки... че бля?
Аутирую, качаю скиллы. Вообще, я не ОП, но он в треде уже подробно отвечал на этот вопрос, поищи.
Скачать билд можно по этой ссылке -
https://drive.google.com/drive/u/1/folders/1_7WJuRBhKJp6tHAqiKW-JqA_ShgDqqMF
, так как мы сейчас активно исправляем ошибки, то периодически обновляем билд , вам нужно скачать последнюю по дате версию , для удобства советуем включить отображение в виде списка, сделать это можно кликнув по иконке отмеченной на картинке. Спасибо за помощь в тестировании!
ОП его даже не просил ничего делать, ему надо было только хакнуть бинарник. Чел сам вызвался. Трижды или больше переписывал весь код с нуля, т.к. запутался в простейших механиках.
Еще большим вином это может стать только в том случае, если он это действительно положит в стор, а правообладатель подаст на него в суд, в результате чего он не сможет выехать из сраной рашки не будучи арестованным, лол, потому что в стране эльфов то чем он занимается это ппц криминал.
нет
>Трижды или больше переписывал весь код с нуля, т.к. запутался в простейших механиках.
Воу воу, крутой разработчик, полегче.
Этот человек, даже если не выложит прогу куда-то на оф сайтах, время тратит не зря! Он за это время получает самое ценное, ОПЫТ!
Полная свобода действий.
На улицах шепчут что автор параллельно делал несколько проектов.
https://2ch.hk/gd/res/454751.html (М)
>2 года делает редактор
>не определился с сеттингом игры, набирает команду
Аутизм. На порядок менее аутично, чем тут, но аутично.
> за пол года написал сложный редактор и инструменты для рендеринга изометрического арта, работая параллельно на нескольких проектах. будучи environment art'истом
> Сеттинг не имеет значения, для кода это .png. чтобы там не нарисована.
> команду не кто не набирает, при разработки почти всегда есть энтузиасты которые появляются на не большой промежуток времени и как правило пропадают без следа, это рутина менедмента разработки у инди студий.
Твоя критика не конструктивна, беглый взгляд на посты дают понимание того что ты не читал тред'ы, хотя я за все время допускал много ошибок понимание и исправление которых и есть ОПЫТ, порой довольно глупых, за которые можно было бы над мной посмеяться , но из за твоего не желания вникать в суть, эта благодатная почва проходит мимо, я возмущен твоим пассивным подходом, надеюсь ты будешь конструктивней в будущем.
>Твоя критика не конструктивна
Да, извини чувак. Не знаю даже, чего я на тебя напал. Мне и самому такое не чуждо. И сделал ты гораздо больше, чем средний балабол на этой доске.
Просто хотел выразить, что ты зря тратишь время с этим бобби кэррот, но с другой стороны какое мне дело - тебе нравится, так и делай, осспади. Единственное повторю - в сторы не кидай (бесплатно или нет), если не хочешь проблем на пустом месте. Смотри как другие делают такие вещи: http://exult.sourceforge.net/
792x596, 0:56
Итого обновления этого билда (v0.95)
- Исправлены не точности на картах и не проходимые карты.
- Исправлен фаерБолл,теперь врезается в сугроб.
- Исправлен Баг с звуком трактора после парковки.
- Исправлен Баг с раскапывание сугроба на тракторе.
- Исправлен подбор предметов на тракторе.
- Исправлен спрайт куста с золотой морковью.
- Исправлено окно Input, для назначения кнопок.
- Исправлено поведения параметра "Snow" и превью сложности в меню редактора "Save/Load" , теперь при выборе карты, эти параметры переключаются в зависимости от их значений на выбранной карте.
- Исправлено поведение "кувшинок", теперь проплывают под "ростком бобов".
- Исправлено окно диалога с "бобром".
- Исправлено окно "About".(не до конца)
- Исправлено поведения "облачков" и их взаимодействие с вентиляторами.
- Изменен размер коллизии" бобра".
- Изменено поведения "ростка бобов", теперь в случае расположения "досок" в пределах длины ростка, росток растет до "досок".
- Добавлены бабочки :)
- Добавлена система Undo/Redu, для отмены и возврата действий в редакторе карты.
- Добавлена вертикальная синхронизация (опционально).
- Обновлен движок до Unity 2018.2.12f1
Ссылка на архив в Google - https://drive.google.com/open?id=1yptOrPoZf7aMXS8IWtk5gQ8UAq0uxI61
Ссылка на группу проЭкта - https://vk.com/freebobbycarrot
Уровня /b/
Нет, у него "гамаз".
>1.dat, 2.dat, 3.dat, 4.dat - видимо, файлы левелпаков
>Пробовал копипастом файл 4.dat обозвать 5.dat. В меню нового левелпака не появилось
Я, конечно, понимаю, что треду полтора года, и ОП разобрался, но, блять, очевидно же должно было быть, что игра не знает, что ей нужно читать какой-то там рандомный '5.dat'. Надо было сразу переименовать в '4.dat' и заменить имеющийся левелпак, ну.
Высказался.
Это копия, сохраненная 18 ноября 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.