Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some tutorial suggestions #41

Open
olejsc opened this issue Apr 11, 2020 · 5 comments
Open

Some tutorial suggestions #41

olejsc opened this issue Apr 11, 2020 · 5 comments
Assignees

Comments

@olejsc
Copy link

olejsc commented Apr 11, 2020

Here's some tutorial suggestions, which would be rather beneficial:

Elementary things most, if not all mods do:

  • Save/Load mod settings from XML file.
  • Usage of Bannerlord's built in save-system with mod data, and how it works with loading and saving games.
  • How to make a simple gamemenu to show mod-settings (in main menu) (checkbox, slider, inputfield etc. and apply-button).
  • Nested submodules (mods inside mods!)
  • Mod dependencies to other mods.

General

  • Tips and tricks for good debugging while modding ( Using developer console, using MBDebug.Print etc., getting stacktrace from errors ), aswell as general tips on how to explore the assemblies from the game and browse the source code.
  • Overriding existing XML files (allready covered I think).
  • General gameloop cycle of the api explained :
    • Campaign's Events: OnHourlyTick, OnDailtyTick, OnWeeklyTick etc., OnTick, OnCampaignStart etc.
    • Mission Events : OnAgentHit, OnAgentRemoved, OnAgentBuild, OnAgentBlow, OnAgentCreated, OnMissionTick, OnMissionCreated, OnMissionEnded, OnMissionStart OnMissionLoad etc.
    • MissionHandlers, AgentComponents, Agents,

Common Gameplay changes:

GameModels

  • Modifying a GameModel (by extending a class), for example CombatTroopXPModel or something similar, very easy.
  • Adding new gamemoddel (not extending an existing game model, but adding completely new model). For example "UnitsFlyBehaviour"

MissionBehaviours

  • Modifying a MissionBehaviour (extending/overriding part of its behaviour)
  • Adding completely new mission
  • Targetting missionbehaviour at correct missions (you dont want your awesome vampire bloodsucking mod to work for all units in Arenamatch, only during a battle for example)

UserInterface

  • Tutorial how to add new UI elements to an existing UI element (more buttons in a panel for example) in campaign mode (town screen/ main campaign view/ scoreboard in a battle etc.)
  • More suggestions needed for more ideas here (?)

Networking

  • Setting up a simple modded, dedicated server
  • Persist server data across sessions and restarts

While i realize this list is quite long, and rather unrealistic at this point, with so limited documentation - if the goal of this repo is bannedlord modding documentation, and if we assume the modding scene of this game last equally as long (and gets as big) as Mount and Blade Warband, I believe It's safe to say that all of these tutorials are nescesarry and will be nescesarry.

What do you think?

@highstreeto
Copy link
Contributor

I think it is a great idea to have a lot of tutorials in one-place.

For me, writing tutorial / doc. is a bit hard, but (for me personally) it gets easier, when there is a concrete need for something as i like to help people. So I think we should prioritize which tutorials are the most useful for the most modders.

Another problem might be that not every contributor has full knowledge of every aspect of modding in Bannerlord. For example, I know a bit about the GameMenus because I played with them a bit, but I have no clue about the multiplayer stuff. It would be cool, to have a "dropbin" where people, who have experience with a section, could drop stuff in a raw from (just paragraphes, keywords) and we could then turn this into tutorials / doc. Could be the forums? A wiki? Just Direct-Messages on Discord? Own channel? I don't know if this is a good idea, but maybe it could work Thoughts? @Ster-Z.

@strlngd strlngd self-assigned this Apr 12, 2020
@strlngd
Copy link
Member

strlngd commented Apr 12, 2020

Very nice list of suggestions!

Unfortunately, I've been very busy with migrating the docs to VuePress and haven't had much time to work on these things lately. If you are interested in working on any of these, feel free to do so! Otherwise, I can write a few tutorials after I finish migrating the docs.

@MajikalExplosions
Copy link

Going back to the list of elemetary things, I feel that it wouldn't make sense for every mod to have its own settings button in the main menu. I have around 10 mods installed, but I already have 3 separate mod settings buttons (AutoTrader, BannerlordTweaks, and Community Patch). I don't think this is sustainable, so we should probably recommend some form of a settings gamemenu library (for example, ModLib which BannerlordTweaks uses). Of course, we could still have a tutorial detailing how to add one, but we shouldn't recommend using a custom implementation unless absolutely necessary.

@Anakael
Copy link
Contributor

Anakael commented Apr 19, 2020

-> General ->Debugging
Already covered by tutorials. dnSpy pretty useful.

I think something like channel in discord will be conveniently for discussing.

@jak6jak
Copy link

jak6jak commented May 17, 2020

Hello, Is anyone working on a tutorial on how to create new weapons in bannerlord? I would be very interested in that tutorial.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants