Modding prerequisites (Visual Studio 2022)

Started by ai_enabled, April 30, 2018, 02:25:36 AM

ai_enabled

Please note: If you're intending to make just a customized game server (custom rates, etc) and don't want to produce any mods, please follow this guide (scroll to end) (http://wiki.atomictorch.com/CryoFall/Server/Setup).

You can develop mods by using Client or Server, but we suggest to use CryoFall Editor as it including both Client and Server in a single executable (and some other awesome developer features as well)!

If you own the game on Steam you can download CryoFall Editor from Steam (https://steamcommunity.com/app/829590/discussions/5/1812044473314225973/).
You can also download CryoFall Editor from our website and use it independently. To do this, you need to use create an AtomicTorch.com account from your Steam version of the game and press "Link" button in the bottom-right corner of the main menu (Epic version currently doesn't have this feature implemented, please contact us at support@atomictorch.com if you need help with the Epic version). Once you have an atomictorch.com account you need to navigate to My Games and Items page (https://atomictorch.com/Account/MyItems), log in, press the "Downloads" button, and download CryoFall Editor.


  • Install Visual Studio 2022 (https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&channel=Release&version=VS2022&source=VSLandingPage&cid=2030&passive=false) (Community edition is free). During installation enable ".NET desktop development" and check ".NET 6.0" in the "Individual components" tab.
  • If you already have VS2022 installed, please launch Visual Studio Installer -> Modify -> Enable ".NET desktop development" and check ".NET 6.0" in the "Individual components" tab.
  • Extract <game folder>/Core/Core.cpk archive file ΓÇö you can do this by executing a CMD script located in the same folder. If you prefer to extract it manually (it's a simple Zip archive), please delete the original file after extraction and rename the extracted folder to "Core.cpk".

After that, you can open the game solution file (*.sln) with VS2022. It's located in this folder: <game folder>/Core/Core.cpk/


A few important notes:

  • The CryoFall custom game engine (called Renkei (http://wiki.atomictorch.com/Renkei_Engine)) supports live reloading of C#code (as well as all the visual and audio assets) so it's not necessary to restart the game to observe the changes! Though if you feel necessary to force reload everything immediately you can press Ctrl+F5 shortcut. This shortcut is especially useful when editing XAML files (UI markup).
  • XAML Designer is not supported (though it can work fine in most cases) and it's recommended to disable it (open Visual Studio options -> XAML designer -> uncheck "Enable XAML Designer").
  • You can attach to the running game with VS debugger and use breakpoints. Use Debug -> Attach to process -> Input CryoFall to find the game process.
  • To use debugging with breakpoints properly, please go to Visual Studio Options, Debugging, uncheck "Require source files to exactly match the original version" (the game has embedded C# compiler which performs some code-generation and so the resulting C# files do not match the original C# files; it's not a problem for step-by-step debugging as the C# code lines kept intact).

If you wish to create a new mod instead of editing the Core, please follow this community guide in Steam (https://steamcommunity.com/sharedfiles/filedetails/?id=1707742469) (skip the outdated part about VS2019 as you already have all the prerequisites).

Regards!

UPD. It's important to note that CryoFall Modding SDK for VS2022 is no longer required (VS2022 already supports all the necessary features). It doesn't contain the basic CryoFall Mod template though.
Here is the mod template if you wish to start from scratch: https://atomictorch.com/Files/CryoFallModTemplate.zip
1. Extract the contents of this archive into your mod.
2. Rename the MyMod.csproj to match your mod's name.
3. Then edit Header.xml as necessary (the entry names are self-explanatory).
4. Follow this community guide in Steam (https://steamcommunity.com/sharedfiles/filedetails/?id=1707742469) to proceed with organizing your workspace and creating your mod.

ai_enabled


PnYMaT

Hi, you say :

Quote from: ai_enabled on April 30, 2018, 02:25:36 AM
...
If you have an atomictorch.com account and own the game you could download CryoFall Editor from My Games and Items page (https://atomictorch.com/Account/MyItems).
...

But i do not have download link for the editor in my Atomic Torch account (I buy the game some years ago)

Can you help me ?

ai_enabled

@PnYMaT, sorry for the late reply. You can get the game Steam key from your account "my games and items" page and activate in Steam. Then you can install CryoFall Editor from Steam https://steamcommunity.com/app/829590/discussions/5/1812044473314225973/

PnYMaT

Quote from: ai_enabled on August 18, 2020, 08:03:21 PM
@PnYMaT, sorry for the late reply. You can get the game Steam key from your account "my games and items" page and activate in Steam. Then you can install CryoFall Editor from Steam https://steamcommunity.com/app/829590/discussions/5/1812044473314225973/

Hi, i have the Steam key, but i boycott Steam for many reasons. I buy my games (when it is possible) directly on editor web site. First they (you) win more money (no commission to pay at Steam) and i avoid DRM.

If i lost internet, i can install my game and play it. With steam, i must have internet to install my games, i need internet to play my games, i dislike this.

It will wonderfull if you put back editor on Atomic Torch account, like the game itself.

Many thanks for reading me and understand my point of view:)

Ps: sorry for my english, i'am french ^^

ai_enabled

You can download CryoFall Editor now from this link https://atomictorch.com/Account/MyItems
However, it would be a problem for us to keep it updated to the latest version as it's not automated unlike Steam. Don't hesitate to remind us reuploading the latest version when necessary.

Regards!

PnYMaT

Quote from: ai_enabled on August 27, 2020, 06:44:56 AM
You can download CryoFall Editor now from this link https://atomictorch.com/Account/MyItems
However, it would be a problem for us to keep it updated to the latest version as it's not automated unlike Steam. Don't hesitate to remind us reuploading the latest version when necessary.

Regards!

Great ! many thanks for your understanding.

PlayerMaybKnown

I should follow these steps even to make a custom map in the cryofall editor? Additionally I am having a difficult time finding instructions on how to package a mod, I understand the file extension, am I repackaging the entire visual studio project? Do you have any information regarding this?

ai_enabled

Quote from: PlayerMaybKnown on May 01, 2021, 08:07:08 AM
I should follow these steps even to make a custom map in the cryofall editor? Additionally I am having a difficult time finding instructions on how to package a mod, I understand the file extension, am I repackaging the entire visual studio project? Do you have any information regarding this?
To create a custom map you don't need to follow these instructions. Just download CryoFall Editor and you're ready to start.
Regarding the mod packing, please refer to this Steam guide https://steamcommunity.com/sharedfiles/filedetails/?id=1707742469

Regards!

PlayerMaybKnown

OK awesome, after I create the custom map I simply follow the packing instructions then is what it seems, correct?

ai_enabled

@PlayerMaybKnown, correct. As an example of a mod with a map, you can download an existing MPK with a map, e.g. https://forums.atomictorch.com/index.php?topic=1935.0 Please note that it must be backed as a ZIP archive without compression as explained in this comprehensive community guide https://steamcommunity.com/sharedfiles/filedetails/?id=1707742469

PnYMaT

Quote from: ai_enabled on August 27, 2020, 06:44:56 AM
You can download CryoFall Editor now from this link https://atomictorch.com/Account/MyItems
However, it would be a problem for us to keep it updated to the latest version as it's not automated unlike Steam. Don't hesitate to remind us reuploading the latest version when necessary.

Regards!

Hi, it is possible to update the Editor to the last version on the website ?

And congratulations for your game, it's great :)

Many thanks.

ai_enabled

@PnYMaT, sure, we've uploaded the latest CryoFall Editor to our website now. Enjoy!

PnYMaT

Quote from: ai_enabled on May 15, 2021, 10:30:22 AM
@PnYMaT, sure, we've uploaded the latest CryoFall Editor to our website now. Enjoy!

You are really great, many thanks :)

Budapeshter

Quote from: ai_enabled on April 30, 2018, 02:25:36 AM
You can develop mods by using Client or Server, but we suggest to use CryoFall Editor as it including both Client and Server in a single executable (and some other awesome developer features as well)!
If you own the game on Steam you can download CryoFall Editor from Steam (https://steamcommunity.com/app/829590/discussions/5/1812044473314225973/).
(If you have an atomictorch.com account and own the game you can acquire the Steam key from My Games and Items page (https://atomictorch.com/Account/MyItems) and then activate it in Steam and follow the link above to install CryoFall Editor from Steam)


  • Install Visual Studio 2019 (any edition, including free Community edition). Enable .NET desktop development, but before continuing installation, please ensure that you've checked ".NET Framework 4.7.2 targeting pack".
  • If you already have VS2019 installed, please launch Visual Studio Installer -> Modify -> Individual componentsΓÇöand ensure that ".NET Framework 4.7.2 targeting pack" is checked and installed.
  • Download and install CryoFall Modding SDK extension (https://marketplace.visualstudio.com/items?itemName=AtomicTorchStudio.cryofall-modding-sdk)
  • Extract <game folder>/Core/Core.cpk archive file - you can do this by executing a CMD script located in the same folder. If you prefer to extract it manually (it's a simple Zip archive), please delete the original file after extraction and rename the extracted folder to "Core.cpk".

After that, you can open the game solution file with VS2019. It's located in <game folder>/Core/Core.cpk/.


A few important notes:

  • The CryoFall custom game engine (called Renkei (http://wiki.atomictorch.com/Renkei_Engine)) supports live reloading of C# & XAML code (as well as all the visual and audio assets) so it's not necessary to restart the game to observe the changes! Though if you feel necessary to force reload everything immediately you can press Ctrl+F5 shortcut.
  • XAML Designer is not supported (though it can work fine in most cases) and it's recommended to disable it (Visual Studio Options, XAML designer, uncheck "Enable XAML Designer").
  • If you want to debug your code with breakpoints, please go to Visual Studio Options, Debugging, uncheck "Require source files to exactly match the original version" (because the game includes C# compiler which performs some code-generation and so resulting C# files do not match the original C# files - but it's not a problem for step-by-step debugging as the C# code lines kept intact).

If you're intending to make just a customized game server (custom rates, etc) and don't want to produce any mods, please follow this guide (scroll to end) (http://wiki.atomictorch.com/CryoFall/Server/Setup).

Regards!
Need to update the instructions