Как создать террарию в visual studio

Обновлено: 04.07.2024

faust1100
> Мне желательно 2D
Тем более.

faust1100
Топик зафейлен с момента создания.

Ни движок, ни конструктор не помогут создать даже близко похожее на ту же террарию.
В лучшем случае будет окно с заголовком "Землярия v 0.1.1 beta" и статический спрайт, управляемый курсорными кнопками.

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

1. Язык программирования?
2. Какие требования к движку?
3. Чем обусловлен выбор опенсорсного?
4. Какие движки уже рассмотрены?
5. Почему ни один?
6. Под какие форматы контента требуются импортеры?
7. Движок или пакет библиотек?
8. Что с алгеброй или хотя бы математикой в школе?
9. Какие из двух конструкторов изучены?
10. Почему ни один?

1 C++ Visual Basic 6
2 Понятный код и более менее легкость
3 Тем что должен иметь возможность редактирования и добавления функций
4 GM/ Scirra Construct/ HGE
5 Не подходят
6 Любые
7 И то и другое
8 4 (и кстати школу давно закончил!)
9 GM/ Scirra Construct/
10 Малый функционал (в скирре нет юникода)

faust1100
> 1 C++ Visual Basic 6
Простите, что?

Предмет обсуждения рассматривался хотя бы чуть-чуть, это хорошо.
Среди рассмотренного, однозначно стоит вернуться к HGE. Он более чем подходит. Можно дорабатывать.

Под плюсы рекомендую еще посмотреть SDL - достойный пакет библиотек. Управление, звуки, графика.

Основная проблема в том, что ни движок, ни конструктор, не имеют значения. Нужно во-первых, писать классы объектов - NPC, игрок, сундуки, облака, различные минералы там и т.д.
2. Писать генератор мира - движку нельзя сказать "вот тебе матрица 100500х100500, заполни ее комнатами, подземельями и травой с сундуками (сундуками с травой). Логику нужно создать самому.
3. Рисовать арт. Нарисовать кактус для новичка - уже проблема, хоть от руки, хоть в пикселе, хоть в векторе. Да вообще что-нибудь нарисовать.
4. Коллизии объектов. Как понять, что нужно упереться в стенку, а не пройти сквозь нее? Даже использование движковых функций уже сложно - как задать бокс коллизии для объекта? А если он вращается? А если он взорвался?
5. AI, поиск пути. Это довольно много алгоритмов. Движок тут не поможет, всё самому.
6. Генерация добычи с монстров.
7. Геймдизайн - создать уровень, расставить объекты, расставить секреты.
8. Еще миллионы мелочей.

Есть только один суперконструктор, в котором выбираешь игру-оригинал, жмешь "похожее на", ставишь чекбокс "только лучше", и жмешь Generate. Но он безумно дорогой и редкий. Да и там, по-моему, нет песочниц в списке.

faust1100
> 1 C++ Visual Basic 6
rofl

decreat
> (сундуками с травой)
сказочный мир :)))))))

decreat
> Есть только один суперконструктор, в котором выбираешь игру-оригинал, жмешь
> "похожее на", ставишь чекбокс "только лучше", и жмешь Generate. Но он безумно
> дорогой и редкий.
моск??

Для начала модифицирования террарии нам понадобится несколько программ :

1.Terraria(без неё ничего работать не будет)

3.Любой кодовый редактор(notpad++, visual studio, или блокнот)

И подумайте зачем вам это надо , перед тем как читать последующий бред.

Для начала нужно найти в поисковике tmodloder skeleton generator .Заходим на сайт и вписываем :

1. Название директории (как название мода)

2. Название мода

3. Название первого предмета(меча)

4. Ник автора (на английском)

user uploaded image

Нажимаем кнопку generate mod skeleton

После начинаются скачивание дректории мода.

Затем распаковываем скаченый архив по адресу

user uploaded image

Документы / My Games / Terraria / ModLoader / Mod Sources

user uploaded image

Открываем папку мода и видим его внутренности

user uploaded image

Что же тут находится ?

Начну по порядку:

В ней будут находится предметы , оружия , броня . Но это не единственная папка , со временем придётся создать похожие для npc и тайлов и других объектов.

Файл с главными данными о моде

user uploaded image

Ник автора (на английском)

Версия мода (любые цифры)

Экранное название мода

Это описание или же комментарий к моду от разработчика (на английском)

user uploaded image

Последние 3 файла является системными и не требуют редактирования без должного навыка.

Внимание в место "ModNaOruzie" будет ваше название.

Переходим к основной части:

Переходим в папку items

user uploaded image

И что же внутри?

user uploaded image

Да это первый предмет(код меча и его спрайт)

С начала можно отредактировать данный предмет.

Открываем "название меча".cs

user uploaded image

Я отметил основные параметры зелёными комментариями (двойной слэш заставляет программу игнорировать написанное , это сделано для комментирования кода)

Item.melee при значении true наносит урон при взмахе (обязательно для мечей)

Item.Width и item.height значения высоты и ширины спрайта (в пикселях)

Item.Style значение показывающие вид анимации атаки (значения от 1 до 5)

Item. Usesound настройка звука атаки

Item.Autoreuse значение true разрешает автоатаку , false запрещает.

Остальные значения я думаю понятны такие как урон цена и отбрасывание.

После изменения параметров можно протестировать работоспособность.

Заходим в Tmodloder

После в раздел Mod Source (исходники модов)

user uploaded image

Нажимаем создать и перезагрузить

user uploaded image

После чего мод создаётся и отправляется в список ваших модов где его можно включить и протестировать.

Добавление ещё одного предмета

Берём и копируем один из наших предметов со спрайтом в эту же папку после чего переименовываем (копии) файла и спрайта в новый предмет (на английском)

user uploaded image

После чего заходим в файл .cs и меняем старое системное название на новое

user uploaded image

И редактируемом новый предмет как надо

И так я закончил с начальной частью гайда по созданию мода , а точнее меча и его настройки. Дальше пойдут усложнёные гайды со свистоплясками с бубном .

user uploaded image

Если есть замечания или вопросы пишите в комментариях или в ЛС (но с 18 по 20 мая не смогу ответить)

Пссс, парень! Не хочешь попробовать немного SFML? Убойная штука. Достаточно самой малости и с её помощью ты сможешь воплотить в жизнь то, о чем раньше мог только мечтать. Тебе понравится, гарантирую. Тем более тебе, как новичку, первая порция бесплатно, я угощаю. Ну что, договорились? Тогда по рукам.

Что такое SFML?

С её помощью можно легко и непринужденно создавать любую 2D-графику: начиная от простейших одиночных геометрических фигур (типа треугольника) и заканчивая полноценными играми-платформерами.

Примечание: Все примеры этого урока были сделаны мной в ОС Windows 7 с использованием IDE MS Visual Studio 2017 Community Edition и библиотеки SFML 2.5.1.

Ну что, парень, ты готов? Да вижу, что готов. Погнали!

Установка библиотеки SFML в Visual Studio


Как уже говорилось ранее, в качестве IDE я буду использовать Visual Studio 2017, поэтому скачиваем соответствующую версию SFML. Вы также можете заметить наличие готового пакета для эстетов Code Blocks. Помимо этого, в глаза бросаются варианты библиотеки для других версий Visual Studio. Сразу дам совет — не пытайтесь лепить Франкенштейна, используя неподходящий билд SFML, иначе вы рискуете получить вагон и маленькую тележку всякого рода проблем на свою голову.


Теперь скачанный архив нужно распаковать. У себя я выбрал следующий путь — C:\Soft\SFML-2.5.1-windows-vc15-32-bit .

Далее создадим пустой проект и подключим к нему библиотеку SFML. Для этого запустите Visual Studio и выберите "Файл" > "Создать" > "Проект…" , или можно воспользоваться сочетанием горячих клавиш Ctrl+Shift+N . Задайте имя и расположение проекта так, как показано на следующем скриншоте:


Теперь, когда у нас есть проект, нужно добавить в него файл, который будет содержать исходный код нашей программы. Для этого в окне «Обозреватель решений» клацните ПКМ по строке "Исходные файлы" > "Добавить" > "Создать элемент…" :


В поле «Имя» укажите main.cpp :


Отлично! Следующим шагом будет подключение библиотеки SFML к нашему проекту. Для этого нужно:

подключить каталог заголовочных и исходных файлов SFML ( /include );

подключить каталог библиотечных файлов SFML ( /lib );

подключить библиотечные файлы SFML в качестве дополнительных зависимостей.

Переходим в "Проект" > "Свойства: SFML_Tutorial…" :


В верхнем левом углу страницы свойств SFML_Tutorial есть выпадающий список возле пункта "Конфигурация" , установите его значение как "Все конфигурации" . Также проверьте, что в параметре "Платформа" установлено значение "Win32" . Затем в левой части окна найдите и выберите раздел "Свойства конфигурации" > "С/С++" > "Общие" . Обратите внимание на правую часть, нас интересует параметр "Дополнительные каталоги включаемых файлов" . Выберите его и нажмите <Изменить…> . Перед вами появится новое окно, в котором нужно указать путь к заголовочным файлам библиотеки SFML. Обычно они располагаются в папке include. У меня этот путь выглядит как C:\Soft\SFML-2.5.1-windows-vc15-32-bit\SFML-2.5.1\include .


Похожим образом подключаются и файлы библиотек. Всё, что нужно сделать — это выбрать в левой части "Свойства конфигурации" > "Компоновщик" > "Общие" . Затем "Дополнительные каталоги библиотек" и <Изменить…> . В открывшемся окне нужно будет указать путь к библиотечным файлам SFML, у меня это C:\Soft\SFML-2.5.1-windows-vc15-32-bit\SFML-2.5.1\lib .


Осталось подключить несколько файлов в виде дополнительных зависимостей для «Компоновщика». Для этого нужно переключить тип конфигурации на Debug , а затем в левой части окна выбрать "Свойства конфигурации" > "Компоновщик" > "Ввод" . Переведите взгляд на правую часть, где нужно найти строку "Дополнительные зависимости" и нажмите <Изменить…> . В появившемся окне впишите имена следующих 4 файлов:

sfml-graphics-d.lib
sfml-window-d.lib
sfml-audio-d.lib
sfml-system-d.lib

Должно получиться следующее:

Первые шаги и первые…

На этом этапе подключение библиотеки SFML к проекту завершено, и мы можем перейти к непосредственному написанию кода для нашей первой программы. Ниже представлен минимальный каркас приложения:

// Объект, который, собственно, является главным окном приложения RenderWindow window ( VideoMode ( 200 , 200 ) , "SFML Works!" ) ; // Главный цикл приложения. Выполняется, пока открыто окно // Пользователь нажал на «крестик» и хочет закрыть окно?

Я вижу, как ваша рука уже потянулась к кнопке «Скомпилировать и запустить проект», но не торопитесь, давайте сначала разберем данный код:

Строка №3: Подключаем пространство имен sf .

Строка №8: Создаем объект window класса RenderWindow. Данный объект — это наше окно, в котором будет отображаться 2D-графика. Первый параметр VideoMode(200, 200) задает видеоразрешение окна (ширину и высоту). Второй параметр "SFML Works!" — это заголовок окна.

В строке №23 мы вызываем метод display(), который отвечает за отрисовку нашего окна.

Вот теперь можно перейти к компиляции и первому запуску программы. Для этого нажмите в Visual Studio "Отладка" > "Запуск без отладки" (или Ctrl+F5 ). Ииии, вот и она! Ваша первая… ЧТО…. ОШИБКА…. WTF….


А проблема в том, что исполняемый файл нашей программы не может найти *.dll-файлы, в которых хранятся используемые нашим приложением функции. Решение очень простое — нужно скопировать все файлы (11 штук) из папки C:\Soft\SFML-2.5.1-windows-vc15-32-bit\SFML-2.5.1\bin\ в папку C:\dev\SFML_Tutorial\Debug\ , в которой хранится наш исполняемый файл SFML_Tutorial.exe:


Попробуйте теперь скомпилировать и запустить проект. В результате должно получиться следующее:

Денис Самойлов


Денис Самойлов

Кирилл Прояев

Вот декомпилированный терач какой то из старых версий. Визуалом открывается прекрасно т.к. .сs

Денис Самойлов


Денис Самойлов ответил Кириллу

Кирилл, а на новую версию есть что нибудь?
Хотелось бы там в коде покапаться

Кирилл Прояев

я честно не помню откуда у меня даже эта версия. Пошарься на форумах или в дискорде TModLoader, там мб есть

Денис Самойлов


Денис Самойлов ответил Кириллу

Владимир Овсянников

Да даже обычного блокнота хватит, чтобы декомпилированный код читать.

Денис Самойлов


Денис Самойлов

Владимир Овсянников

Денис, качаешь тмодлоалер и нужный мод - декомпилируешь его (кнопка в браузере) - открываешь файл (в папке, после декомпиляции её тебе сразу откроет) . Если мод не декомпилируется, то никак не посмотреть его содержимое.

Если ты хочешь декомпилировать игру, то не знаю как, но если найдёшь как, то файлы ты сможешь посмотреть.

Читайте также: