RU

QSP Builder + txt2game + QSP - без установки

Teemo228 #2331 13.03.2023 03:00 5 comments 2254 views

Кто я такой?

Spoiler

Я самый обычный любитель ксп, как и многие я грежу сделать великую игру, но как и у всех то времени нет, то наоборот работаю по 6-15 часов без продыху. удавалось делать очень сложные вещи, но за частую приходилось отказываться, ибо хватался так сказать за горячее.
из примеров:

[*] =) Создание инвентаря, с божественным графическим интерфейсом как для обычного qgen 4.0.0 но выглядело как на AeroQSP

[*] :) Генерация персонажей с 8 -15 переменных с возможностью менять каждого отдельно, или перерандомить всех кто есть, и каждого по отдельности.

[*] :cool: Замок на сундук, примерно как в BSFG или TES Oblivion, но механика все же ближе к BSFG. простая головоломка имеющая возможность как облегчения так и усложнения, новичок убежит в слезах, а бывалой откроет не более чем за минуту.

Откуда идея? и зачем?

Spoiler

Учитывая что у нас есть уже 2 варианта один для Sublime Text а другой QSP + VS Code то я тут получаюсь как козе баян. Но не спешите с выводами, выше указанные очень сложны для людей которые далеки от программирования, кто тому же нужно что там устанавливать, искать какой то файл в директории, и тупо без инструкции автора не разобраться.

Плюсы и минусы

Spoiler

Преимущества: возможность писать в utf-8, Простота, порог вхождения,
Минус: Правила, исходный файл в формате .qsps

Как пользоваться?

Spoiler

Папки ну или директории))))
[] *data - в ней нужно хранить все текстовые файлы, по сути это и есть сама игра, основная разработка видеться тут.

[] *qp - здесь храниться ваш плеер, с помощью которого вы собственно запускаете прекрасные QSP игры.

[] *txt2game - сдесь храниться магическая утилита, благадаря которой и происходит магия преображения.

[] *lib - это магическая тайная папка, благодаря ней вам не нужно качать всякие питоны, кобры, и прочую лабуду.

[] *main - это сама программка. с ее помощь мы одновременно можем: Собрать все файлы в один, изменить кодировку на utf-16-le

[] *data.txt - это совокупность всех файлов, как раз мржно анализатор подключить, но это возможно в бедующих версиях….

[] *data.qsp - это привычный нам файл с qsp

Краткая инструкция
[*] 1. Скачиваем

[*] 2. Распаковываем

[*] 3. Из папки data удаляем все файлы

[*] 4. Копируем в папку data свой проект, написанный в виде текстовых файлов в формате TXT2GAM

[*] 5. Запускаем main.exe.

[*] 6. PROFFIT в виде data.qsp, появляющегося рядом с main.exe.

Скачать

Spoiler

[*] Скачать - сама утилита

[*] main.log - батник с логами, можно узнать какие файлы импортировались в прожект.

P.S касательно логов для тхт2game я не разобрался, ибо не один батник не срабатывает, один только способ вручную стопить консоль((((

F.A.Q

Spoiler

[] *Проблема: После компиляции программа не работает нормально.

[] *Решение: Перед началом работы с программой необходимо удалить демонстрационный проект из папки “дата” или переименовать файлы в соответствии с вашими нуждами. Для вашего первого файла инициализации необходимо задать приоритетное название, аналогично тому, как это делается в qgen. Например, название файла может быть 0.qsps или astart.qsps, чтобы он находился вверху списка файлов в алфавитном порядке. Если в папке ‘data’ у вас только папки, то файл должен быть размещен в верхней папке в алфавитном порядке.

[] *Вопрос: Если программа пропускает локацию?

[] *Ответ: Проверьте, что после обозначения локации вы не оставили пустую строку.

Пример:

! эта часть должна быть пустой, либо -- локации
# локация
! эта часть должна быть пустой
Код
-- конец локации

Немного воды

Spoiler

Дело в том, что написать простой Python файл сможет любой школьник, так я думал, и так оказалось. Я как раз на днях освежил память по общему синтаксису Python. Файл написал, Python у меня есть, у знакомого тоже. А вот у знакомой его нет, и я задумался: “а что, если…?” Хотя кого я обманываю, увидел видео Алекса Версуса, и можно так сказать, вдохновился. И дай я думаю, письками померяюсь, выкатить какую-то приколюху для какого-то неизвестного редактора. Ну, такое себе. Вот смотрю у него нужно ставить Python на компьютер (ох, сколько я видел людей, которые бросили программирование на этапе установки языка). Во многих случаях все ставится без проблем, но бывает, что вылазит ошибка, особенно у свидетелей семерки, у них там своя особенная версия Python. И вот я набросал код и столкнулся с тем, что “нельзя вот так просто взять и сменить формат”. Базовый формат, если ставить, юникод или utf-16-le, потребовал несколько часов библиотек и форумов. Метод тыка и получилось, даже сделал лучше, чем хотел. Ведь можно просто создать файл по умолчанию и не париться, за тебя все сделает программа. И вот она лежит вся сочная и готовая, чтобы ее использовали. Но это лишь полпути, ее нужно еще скомпилировать… Это 24 круга ада, ведь починка одной ошибки вызывает появление двух других. И пока ты починишь, ты обнаружишь, что за каким-то фигом у тебя появилась графическая оболочка, которая вызывает ошибку в консольной программе без графики. Касательно способов, это отдельная тема…

Edited at 18.03.2023 20:39 (2 years ago)

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

Правда, для полного функционала уже потребуется интернет соединение, но щито поделать…

А так, прекрасная идея хотя для какого-то оживления платформы.

я тоже такое хотел, но решил для начала выпустить Альфу с минимальным контентом.
посмотреть на реакцию, ну и + анагов нет пока) ну не считая сложных альтернативу которым я предложил)
в принципе и для ВС норм тема. Но когда у меня был другой комп, я испытывал проблемы с ВС.
По поводу джавы) для подобных кодов, лучше подходит питон, но учитвая его дружбу с компиляцией, я понимаю твой выбор джавы) Не в обиду но ненавижу джаву за гемор….
Джава:

public class Main {
    public static void main(String[] args) {
        System.out.println("Привет Мир!");
    }
}

Питон:

print("Привет, Мир!")

Всегда орал, єтой разници))) Но как говориться каждому свое))) и для каждой цели свой метод)

Добавил в основной пост Батник, для просмотра логов…
ДЛя тех кто в танке поясню. благодаря нему в папке появиться файсл с списком всех файлов что импортировались в проект, єто полезно если где то накосячил с кодировкой или вроде того.

Aleks Versus Moderator 16.03.2023 11:43 (2 years ago)

Вещь полезная и нужная. Только надо всё-таки описать кратко, как пользоваться:
1. Скачиваем
2. Распаковываем
3. Из папки data удаляем все файлы
4. Копируем в папку data свой проект, написанный в виде текстовых файлов в формате TXT2GAM
5. Запускаем main.exe.
6. PROFFIT в виде data.qsp, появляющегося рядом с main.exe.

Вот дополнил F.A.Q
F.A.Q

Spoiler

[] *Проблема: После компиляции программа не работает нормально.

[] *Решение: Перед началом работы с программой необходимо удалить демонстрационный проект из папки “дата” или переименовать файлы в соответствии с вашими нуждами. Для вашего первого файла инициализации необходимо задать приоритетное название, аналогично тому, как это делается в qgen. Например, название файла может быть 0.qsps или astart.qsps, чтобы он находился вверху списка файлов в алфавитном порядке. Если в папке ‘data’ у вас только папки, то файл должен быть размещен в верхней папке в алфавитном порядке.

[] *Вопрос: Если программа пропускает локацию?

[] *Ответ: Проверьте, что после обозначения локации вы не оставили пустую строку.

Пример:

! эта часть должна быть пустой, либо -- локации
# локация
! эта часть должна быть пустой
Код
-- конец локации

Log in or Register to post comments.