Skip to content
HiddeLekanne edited this page May 13, 2023 · 2 revisions

Welcome to the Victoria-3-dev-utilities Wiki!

This wiki aims to assist beginners in getting started with contributing to our GitHub repository. It offers a brief tutorial on installing and using GitHub Desktop, understanding key concepts such as branching, pull requests, and commits, and acquaints you with our repository structure and coding practices. Made with help of GTP-4

Installing and Using GitHub Desktop

  1. Download and install GitHub Desktop.

  2. Sign in to GitHub Desktop with your GitHub account.

  3. Click on File > Clone Repository from the menu bar.

  4. Under the URL tab, input the URL of the repository you want to clone (this should be either the Victoria-3-Dev or Victoria-External repository, as appropriate).

  5. For the local path, navigate to your mod folder for Victoria 3. This will typically be in the Documents/Paradox interactive/Victoria 3/mod/ directory. If this directory doesn't exist, create one.

  6. Click on Clone.

Remember, you will be working with the cloned repository located in your Victoria 3 mod folder.

Understanding Branching, Pull Requests and Commits

  • Branching: This is the practice of creating a new 'branch' in your repository to isolate your work. Our repository uses specific naming conventions for branches, detailed later in this guide.

  • Pull Requests (PRs): After making changes in your branch, you request to merge them into another branch (usually the Babylon-Core branch) through a pull request. PRs undergo review before getting merged.

  • Commits: These are individual changes you make to the files in your branch. Each commit should be a logical unit of work, and the commit message should clearly describe what the change does.

Our Repositories

We have two main repositories:

  1. Victoria-3-Dev: We use this repository to develop our own changes to the game.

    • Babylon-Core: The branch containing only our changes.
    • Main: The actual mod that includes both external and our changes.
  2. Victoria-External: We use this repository to gather external mods and make them compatible.

    • External branches: Each of these is a separate mod.
    • Main: This branch is used to combine all the mods and make them compatible with Babylon-Core.

Branch Standards

  • On Victoria-3-Dev, branch names should follow the Babylon-<BRANCH-NAME> format.
  • On Victoria-External, branch names should follow the External-<BRANCH-NAME> format.

Making Your Own Changes

If you want to contribute, follow these steps:

  1. Make your own branch following the naming conventions mentioned above.

  2. Develop your changes on this new branch.

  3. Create a pull request to propose your changes to be merged into the main branch.

  4. Have someone review your pull request.

  5. Make corrections based on the review feedback.

  6. Repeat steps 4 and 5 until your pull request is approved.

  7. Use 'Squash and Merge' to merge your pull request.

  8. Delete the branch after merging to keep the repository clean.

Coding Practices

When adding new elements to the game code:

  • Prefix new effects, variables (used in multiple files), conditions, modifiers, and other game objects with babylon_.
  • Place such elements in a file with babylon_ prefix.

Example:

If you're creating a new file, name it babylon_newfile.yml and if you're adding something to an existing file, it should look like babylon_new_variable = {.

Localisation Files Naming

Our localization files should follow a specific naming convention for compatibility. Each file should be named as babylon_<TOPIC>_l_english.yml.

The _l_english suffix is critically important. Without this exact suffix, the game engine won't read the file.

For example, if you're creating a localization file for a new topic called economy, the file should be named babylon_economy_l_english.yml.

Resources

For a comprehensive guide to modding in Victoria 3, you can refer to the official Paradox Wiki Modding Page. This guide provides detailed information about how to get started with modding, including setting up the mod folder, basic tools and resources, best practices, debugging, and more.

Page Summary

Modding, or using modifications (mods), in Victoria 3 allows players to tweak various aspects of the game or add new features, thereby enhancing the overall gaming experience. While some elements are hardcoded and can't be modified, there are numerous options available for customization.

Modifications don't disable achievements in Victoria 3, as the game has a separate rule governing this aspect. The wiki page covers the following topics:

  1. Getting Started: It covers setting up the mod folder, basic tools and resources, best practices, priority of modded files, and debugging.

  2. Modding Articles: This section comprises articles on country modding, event modding, journal modding, modifier modding, flag modding, and model modding.

  3. Tools & Utilities: A list of helpful tools for editing and validating Paradox Interactive script files, creating and exporting 3D models, and more.

  4. Game Object Reference: An explanation of dependency and folder structure when adding new game objects, along with a list of parameters required for various game objects.

In addition, the page also lists down a variety of modding articles, tools and utilities, and a detailed game object reference that explains the dependencies, folder structures, and parameters involved in creating new game objects.