UPD.
У меня осталось чуть больше 16 Кб памяти. В это, мне кажется, еще можно кучу всего запихнуть. Но я решил остановиться на том, что есть. То есть, если новые механики и будут появляться, то редко и в меньших количествах. Точно будут дорабатываться триггеры по ходу рисования уровней. Как минимум недавно пришлось добавить два новых триггера: добавление аптечки и добавление арморкита.
Исходя из этого скорее всего придется перерабатывать карту памяти игры. Сейчас все важные функции лежат с адреса $0810 по $1fff (основной цикл, основные функции, прерывания, рендер, триггеры и управление). Там у меня осталось меньше килобайта свободной памяти.
Потом экранная память аж 6 Кб
Потом лежат таблицы для рейкастинга и текстур, буферы и данные уровня.
А уже потом прочие игровые данные и функции.
А еще же куда-то надо музыку со звуками засунуть...
У меня осталось чуть больше 16 Кб памяти. В это, мне кажется, еще можно кучу всего запихнуть. Но я решил остановиться на том, что есть. То есть, если новые механики и будут появляться, то редко и в меньших количествах. Точно будут дорабатываться триггеры по ходу рисования уровней. Как минимум недавно пришлось добавить два новых триггера: добавление аптечки и добавление арморкита.
Исходя из этого скорее всего придется перерабатывать карту памяти игры. Сейчас все важные функции лежат с адреса $0810 по $1fff (основной цикл, основные функции, прерывания, рендер, триггеры и управление). Там у меня осталось меньше килобайта свободной памяти.
Потом экранная память аж 6 Кб
Потом лежат таблицы для рейкастинга и текстур, буферы и данные уровня.
А уже потом прочие игровые данные и функции.
А еще же куда-то надо музыку со звуками засунуть...
❤🔥1
Надо бы делать игру, но я тут наткнулся на охренную RPG. Второй день не могу оторваться.
Называется Dread Delusion.
https://store.steampowered.com/app/1574240?snr=5000_5100___primarylinks
Я даже не буду говорить о том, как она выглядит. Графика огонь, привет PS1. На мой взгляд по атмосфере напоминает что-то среднее между Morrowind и старыми Thief. Но даже не в этом дело.
Я такого интересного лора не видел давно. Это насколько надо было упороться, чтобы такое придумать. При этом все выглядит логично и не вызывает вопросов, как в какой-нибудь Dark Souls. Тут куча хорошо прописанных диалогов, есть и книги, да и сам мир многое может о себе рассказать. А почти все квесты несут в себе какую-либо мораль, при этом она не всегда правильная, какой бы вариант ты не выбрал.
А еще мне очень понравилось, что здесь никто не ведет тебя за ручку. В начале у тебя даже карты и компаса нет, а открытие карты - один из квестов. В конце-концов ты приобретаешь компас, и с ним ориентироваться становится проще. Благо, что отдельные зоны не такие большие. Сложность вызывает только то, что все действие происходит на куче островов, висящих в воздухе.
Из минусов разве что слабая боевая система и не очень интересная прокачка. Я создал мужицкого-мужика воина, а спустя 8 часов он уже умеет взламывать замки и даже кастовать заклинания. Из-за этого игра вообще не сложная. Но на фоне такой крутой атмосферы и лора это вообще можно не замечать.
Называется Dread Delusion.
https://store.steampowered.com/app/1574240?snr=5000_5100___primarylinks
Я даже не буду говорить о том, как она выглядит. Графика огонь, привет PS1. На мой взгляд по атмосфере напоминает что-то среднее между Morrowind и старыми Thief. Но даже не в этом дело.
Я такого интересного лора не видел давно. Это насколько надо было упороться, чтобы такое придумать. При этом все выглядит логично и не вызывает вопросов, как в какой-нибудь Dark Souls. Тут куча хорошо прописанных диалогов, есть и книги, да и сам мир многое может о себе рассказать. А почти все квесты несут в себе какую-либо мораль, при этом она не всегда правильная, какой бы вариант ты не выбрал.
А еще мне очень понравилось, что здесь никто не ведет тебя за ручку. В начале у тебя даже карты и компаса нет, а открытие карты - один из квестов. В конце-концов ты приобретаешь компас, и с ним ориентироваться становится проще. Благо, что отдельные зоны не такие большие. Сложность вызывает только то, что все действие происходит на куче островов, висящих в воздухе.
Из минусов разве что слабая боевая система и не очень интересная прокачка. Я создал мужицкого-мужика воина, а спустя 8 часов он уже умеет взламывать замки и даже кастовать заклинания. Из-за этого игра вообще не сложная. Но на фоне такой крутой атмосферы и лора это вообще можно не замечать.
❤4❤🔥1
Наконец-то настало время заняться игрой=)
Ну и я сделал две очень важные вещи.
Во-первых, прописал код для death state в случае смерти игрока.
Пришлось немного помучиться, потому что код изначально не предполагал сброс всех характеристик до изначального уровня. Теперь все мигает красно-красным и уходит в реинициализацию игры.
Во-вторых, наконец-то дорисовал все оружие и переделал гвоздомёт (хотя и это не окончательный вариант). И решил, что неплохо было бы добавить больше деталей на окантовку игрового экрана. Ничего лучше трещин, потертостей и сколов я не придумал. Но выглядит, вроде, неплохо
Теперь всю эту графику надо перенести в игру, а потом уже заняться созданием уровней.
Ну и код для побега из битвы все еще не написан...
Ну и я сделал две очень важные вещи.
Во-первых, прописал код для death state в случае смерти игрока.
Пришлось немного помучиться, потому что код изначально не предполагал сброс всех характеристик до изначального уровня. Теперь все мигает красно-красным и уходит в реинициализацию игры.
Во-вторых, наконец-то дорисовал все оружие и переделал гвоздомёт (хотя и это не окончательный вариант). И решил, что неплохо было бы добавить больше деталей на окантовку игрового экрана. Ничего лучше трещин, потертостей и сколов я не придумал. Но выглядит, вроде, неплохо
Теперь всю эту графику надо перенести в игру, а потом уже заняться созданием уровней.
Ну и код для побега из битвы все еще не написан...
🔥5❤3💘2
И только что понял, что, во-первых, надо менять цвет рамки после мерцания экрана при смерти.
А во-вторых, у меня не обновляется показатель здоровья игрока, если он уходит в минус. На видео, например, здоровье игрока при смерти равно двум, хотя оно скорее всего ушло в меньше, чем 255.
Ну первое прописать не сложно. А со вторым я наверное тоже не буду мучиться, и просто напишу код, который выводит на экран нулевое здоровье, даже если оно ушло в минус
А во-вторых, у меня не обновляется показатель здоровья игрока, если он уходит в минус. На видео, например, здоровье игрока при смерти равно двум, хотя оно скорее всего ушло в меньше, чем 255.
Ну первое прописать не сложно. А со вторым я наверное тоже не буду мучиться, и просто напишу код, который выводит на экран нулевое здоровье, даже если оно ушло в минус
🔥4❤2❤🔥1
Прошел я Dread Delusion и у меня есть что сказать.
Разобью все на плюсы и минусы.
И, к сожалению, минусов будет больше.
Плюсы:
1. Очень атмосферная и глубокая в плане сюжета игра с необычным лором и окружением. Чего только стоят фентези-деревушки, феодальный город и стимпанк-СССР.
2. Олдскульная графика. Обожаю такое еще со времен PS1.
3. Интересные квесты с неоднозначными выборами. На многих квестах я реально много думал: "А как бы поступил я?"
4. Апгрейд оружия и брони. У каждого из этих предметов несколько уровней апгрейда, и для каждого уровня надо искать по всему миру нужные материалы. Это интересный подход.
5. Интересное строение мира, где каждый остров это отдельный архипелаг со своей архитектурой.
Минусы:
1. Скучная боевая система. Ударить и Ударить сильно — это все. Враги тоже не отличаются разнообразием: либо это просто melee враги, либо они из чего-либо стреляют, либо имеют при себе щит, который очень легко обойти.
2. Скучная ролевая система. Всего 4 параметра, которые отвечают за 8 навыков. Опыт повышается либо после прохождения квестов, либо при нахождении специальных черепов. И, как я уже говорил, при выборе любого класса в начале игры можно сделать универсального солдата под конец. Одежда с абилками в помощь.
3. Бесполезная магия, зелья и метательное оружие. Под конец игры у меня скопилось 150 флаконов здоровья, 300 метательных ножей и чуть меньше остальных видов зелий и предметов. Ими просто не надо пользоваться. На моей памяти это первая RPG, в которой похер на это все, какой бы класс ты ни выбрал.
4. Мало оружия. За всю игру я нашел всего 4 оружия: кинжал, меч, двуручный меч и лук. И это все! Да, их можно улучшать, но дайте чуть больше выбора, пожалуйста.
5. Бесполезная собственность. В игре есть возможность купить несколько домов и целое поместье. Но зачем? Это не дает ничего, кроме траты ресурсов (за каждое улучшение надо отдавать деньги, руду и разные растения).
6. В определенный момент игроку дают целый летающий корабль... Который портит все. Изучать эти острова было очень интересно. Я никогда не мог понять, что ждет меня за следующим углом. А на этом катере можно облететь всю карту за несколько секунд.
Разобью все на плюсы и минусы.
И, к сожалению, минусов будет больше.
Плюсы:
1. Очень атмосферная и глубокая в плане сюжета игра с необычным лором и окружением. Чего только стоят фентези-деревушки, феодальный город и стимпанк-СССР.
2. Олдскульная графика. Обожаю такое еще со времен PS1.
3. Интересные квесты с неоднозначными выборами. На многих квестах я реально много думал: "А как бы поступил я?"
4. Апгрейд оружия и брони. У каждого из этих предметов несколько уровней апгрейда, и для каждого уровня надо искать по всему миру нужные материалы. Это интересный подход.
5. Интересное строение мира, где каждый остров это отдельный архипелаг со своей архитектурой.
Минусы:
1. Скучная боевая система. Ударить и Ударить сильно — это все. Враги тоже не отличаются разнообразием: либо это просто melee враги, либо они из чего-либо стреляют, либо имеют при себе щит, который очень легко обойти.
2. Скучная ролевая система. Всего 4 параметра, которые отвечают за 8 навыков. Опыт повышается либо после прохождения квестов, либо при нахождении специальных черепов. И, как я уже говорил, при выборе любого класса в начале игры можно сделать универсального солдата под конец. Одежда с абилками в помощь.
3. Бесполезная магия, зелья и метательное оружие. Под конец игры у меня скопилось 150 флаконов здоровья, 300 метательных ножей и чуть меньше остальных видов зелий и предметов. Ими просто не надо пользоваться. На моей памяти это первая RPG, в которой похер на это все, какой бы класс ты ни выбрал.
4. Мало оружия. За всю игру я нашел всего 4 оружия: кинжал, меч, двуручный меч и лук. И это все! Да, их можно улучшать, но дайте чуть больше выбора, пожалуйста.
5. Бесполезная собственность. В игре есть возможность купить несколько домов и целое поместье. Но зачем? Это не дает ничего, кроме траты ресурсов (за каждое улучшение надо отдавать деньги, руду и разные растения).
6. В определенный момент игроку дают целый летающий корабль... Который портит все. Изучать эти острова было очень интересно. Я никогда не мог понять, что ждет меня за следующим углом. А на этом катере можно облететь всю карту за несколько секунд.
🔥2❤🔥1
В общем, игра невероятная с точки зрения атмосферы и лора, но с механиками точно надо поработать. В нее попросту очень легко и не так интересно играть, как бы хотелось.
Ну и конечно надо делать скидку на то, что ее делали 3.5 человека. Это офигенный результат для маленькой команды.
А скриншоты вообще все решают=)
Ну и конечно надо делать скидку на то, что ее делали 3.5 человека. Это офигенный результат для маленькой команды.
А скриншоты вообще все решают=)
👍3❤🔥1
В общем, можете меня поздравить с пополнением в семье=)
Вот такую ПЭВМ "Микроша" 90-го года сегодня приобрел.
Сразу могу сказать, что клавиатура ужасна=) Клавиши не нажимаются и проваливаются, но я так понимаю, что это стандартная проблема всех Микрош.
В комплекте мне достались:
— блок питания, которым можно убить;
— картридж-новодел с кучей игр, улучшенным бейсиком и дополнительными 16Кб ОЗУ.
— две кассеты (но вот кассетник от коммодора сюда не подойдет).
— Инструкции по применению для самого компьютера и для картриджа.
Но радость моя была не долгой🥲
Как водится, компьютер подключается к телевизору через антенный вход (хотя у него 5-pin видеовыход, то есть в будущем можно будет намутить какой-нибудь переходник).
И когда я радостный начал подключать компьютер, оказалось, что антенный провод от Atari (который дает нормальную картинку), не подходит.
Я нашел подходящий, но он оказался не очень хорошим. Из-за него все фонит, а картинка на экране слишком тусклая (не видно вообще нихрена).
При этом я вижу, что компьютер работает нормально. Короче, придется заказывать нормальный провод, а пока что играться в эмуляторе...
Вот такую ПЭВМ "Микроша" 90-го года сегодня приобрел.
Сразу могу сказать, что клавиатура ужасна=) Клавиши не нажимаются и проваливаются, но я так понимаю, что это стандартная проблема всех Микрош.
В комплекте мне достались:
— блок питания, которым можно убить;
— картридж-новодел с кучей игр, улучшенным бейсиком и дополнительными 16Кб ОЗУ.
— две кассеты (но вот кассетник от коммодора сюда не подойдет).
— Инструкции по применению для самого компьютера и для картриджа.
Но радость моя была не долгой🥲
Как водится, компьютер подключается к телевизору через антенный вход (хотя у него 5-pin видеовыход, то есть в будущем можно будет намутить какой-нибудь переходник).
И когда я радостный начал подключать компьютер, оказалось, что антенный провод от Atari (который дает нормальную картинку), не подходит.
Я нашел подходящий, но он оказался не очень хорошим. Из-за него все фонит, а картинка на экране слишком тусклая (не видно вообще нихрена).
При этом я вижу, что компьютер работает нормально. Короче, придется заказывать нормальный провод, а пока что играться в эмуляторе...
👍5❤3🔥2
А пока могу рассказать, что я вообще выяснил про этот компьютер.
1. В нем стоит советский аналог 8-ми битного процессора Intel 8080. Команды этого процессора уж ооочень сильно отличаются от команд 6502, на котором я пишу игру для Commodore. И у меня сложилось впечатление, что MOS в свое время пошли по пути облегчения и удешевления, тогда как Zilog и Intel по пути большего удобства.
Здесь тебе и 16-ти битные регистровые пары, и нормальная косвенная адресация, и сложение/вычитание как с флагом переноса, так и без него (6502, например, позволяет складывать только с флагом). С 16-ти битными парами даже можно арифметику проводить.
Но есть и не очень удобные после 6502 вещи. Например, здесь нет branch-переходов, а только jump-ы. Такие команды занимают 3 байта в памяти, вместо двух. А еще я заметил, что хотя все команды занимают от 1 до 3 байт (причем большинство 1 байт), время их исполнения гораздо больше, чем на 6502.
На 8080 количество тактов варьируется от 4 до 17, тогда как на 6502 от 2 до 7.
2. Графический режим. А тут его нет. Экран всего-то размером 64*25 знакомест. При этом, во всей документации упоминается т.н. псевдографика с разрешением 128*50. Я думал, что это два отдельных режима и они переключаются контроллером видеопамяти. Но все оказалось куда прозаичнее. В составе символов присутствуют по разному расположенные пиксели (как на картинке), и из них уже можно выстраивать изображение. А так как они в половину знакоместа, вот и выходит разрешение в 2 раза больше=) Да, еще и цвета нет. Поэтому все игры выглядят соответствующе.
P.S. Как выяснилось, разрешение на самом деле 78*30 из-за рамок. На них тоже можно что-либо писать, но с осторожностью.
3. Памяти 32 Кб, из которых чуть больше 2Кб занимает экран. Для компьютера с такой графикой этого как будто бы достаточно.
4. Звук - одноканальный бипер=)
5. Эмулятор, который я нашел, называется Emu80. Причем он поддерживает кучу разных советских компов. И отладчик довольно удобный.
А еще я установил на VSCode расширение Retro Assembler ну и скачал его. И он оказался хорошим. Удобнее, чем эта чертова CBM prj Studio, пусть она горит в аду=)
1. В нем стоит советский аналог 8-ми битного процессора Intel 8080. Команды этого процессора уж ооочень сильно отличаются от команд 6502, на котором я пишу игру для Commodore. И у меня сложилось впечатление, что MOS в свое время пошли по пути облегчения и удешевления, тогда как Zilog и Intel по пути большего удобства.
Здесь тебе и 16-ти битные регистровые пары, и нормальная косвенная адресация, и сложение/вычитание как с флагом переноса, так и без него (6502, например, позволяет складывать только с флагом). С 16-ти битными парами даже можно арифметику проводить.
Но есть и не очень удобные после 6502 вещи. Например, здесь нет branch-переходов, а только jump-ы. Такие команды занимают 3 байта в памяти, вместо двух. А еще я заметил, что хотя все команды занимают от 1 до 3 байт (причем большинство 1 байт), время их исполнения гораздо больше, чем на 6502.
На 8080 количество тактов варьируется от 4 до 17, тогда как на 6502 от 2 до 7.
2. Графический режим. А тут его нет. Экран всего-то размером 64*25 знакомест. При этом, во всей документации упоминается т.н. псевдографика с разрешением 128*50. Я думал, что это два отдельных режима и они переключаются контроллером видеопамяти. Но все оказалось куда прозаичнее. В составе символов присутствуют по разному расположенные пиксели (как на картинке), и из них уже можно выстраивать изображение. А так как они в половину знакоместа, вот и выходит разрешение в 2 раза больше=) Да, еще и цвета нет. Поэтому все игры выглядят соответствующе.
P.S. Как выяснилось, разрешение на самом деле 78*30 из-за рамок. На них тоже можно что-либо писать, но с осторожностью.
3. Памяти 32 Кб, из которых чуть больше 2Кб занимает экран. Для компьютера с такой графикой этого как будто бы достаточно.
4. Звук - одноканальный бипер=)
5. Эмулятор, который я нашел, называется Emu80. Причем он поддерживает кучу разных советских компов. И отладчик довольно удобный.
А еще я установил на VSCode расширение Retro Assembler ну и скачал его. И он оказался хорошим. Удобнее, чем эта чертова CBM prj Studio, пусть она горит в аду=)
🔥4❤🔥1👍1
И есть еще о чем рассказать.
Например, о файлах с программами. Они имеют расширение .rkm и, помимо программы, содержат дополнительную информацию.
— Первые два байта — стартовый адрес программы;
— Вторые два байта — последний адрес программы;
— Последние два байта — контрольная сумма.
И вот все дело в контрольной сумме. Хорошо, что на просторах рунета есть информация, как она считается, но только в виде кода на C++. Так как я с C++ никогда не работал, то решил написать свой скрипт на питоне (и, о господи, как же он не интуитивно работает с двоичными данными).
А суть в чем. Если остаток от деления счетчика байта на 2 равен 0, то задействуем исключающее ИЛИ между нижним байтом контрольной суммы и текущим байтом программы.
Если остаток равен 1, то между верхним байтом контрольной суммы и текущим байтом программы.
В конце записываем эти два байта в формате high/low.
Получается что-то такое:
И после этого такой файл уже можно грузить в Микрошу. Хотя я еще не пробовал это сделать на реальной машине(
Например, о файлах с программами. Они имеют расширение .rkm и, помимо программы, содержат дополнительную информацию.
— Первые два байта — стартовый адрес программы;
— Вторые два байта — последний адрес программы;
— Последние два байта — контрольная сумма.
И вот все дело в контрольной сумме. Хорошо, что на просторах рунета есть информация, как она считается, но только в виде кода на C++. Так как я с C++ никогда не работал, то решил написать свой скрипт на питоне (и, о господи, как же он не интуитивно работает с двоичными данными).
А суть в чем. Если остаток от деления счетчика байта на 2 равен 0, то задействуем исключающее ИЛИ между нижним байтом контрольной суммы и текущим байтом программы.
Если остаток равен 1, то между верхним байтом контрольной суммы и текущим байтом программы.
В конце записываем эти два байта в формате high/low.
Получается что-то такое:
for i in range(0, len(bin_file)):
if i%2 == 0:
csl ^= bin_file[i]
else:
csh ^= bin_file[i]
rkm_file.write(csh&0xff)
rkm_file.write(csl&0xff)
И после этого такой файл уже можно грузить в Микрошу. Хотя я еще не пробовал это сделать на реальной машине(
🔥3❤🔥1