Search the Community
Showing results for tags 'Tutorial'.
-
You should be familiar with the Modding Basic Concepts tutorial before following this one. In this tutorial, I'm going to show you how to use a ModScriptHookGameData object to add a new item to a store or other inventory in the game. ModScriptHookGameData is a new game data type that was added in v2.1.0. It contains a set of scripts that will be run each time the player enters a scene in the game. This is a good way for a mod to make alterations to the contents of scenes with your mod. Here's an example game data object I created for this tutorial: { "GameDataObjects": [ { "$type": "Game.GameData.ModScriptHookGameData, Assembly-CSharp", "DebugName": "Metalworks_ItemAdd", "ID": "417f4f5e-7d01-4cd6-aa9d-1f0b1d0b4be2", "Components": [ { "$type": "Game.GameData.ModScriptHookComponent, Assembly-CSharp", "RunOnlyOnce": "false", "SucceedOnlyOnce": "true", "Script": { "Conditional": { "Operator": 0, "Components": [ { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean IsInActiveScene(Guid)", "Parameters": [ "3f84e9ad-761d-47fa-9e38-7a492ff24b95" ] }, "Not": false, "Operator": 0 } ] }, "Scripts": [ { "Data": { "FullName": "Void GenerateLootListInto(Guid, Guid)", "Parameters": [ "3f84e9ad-761d-47fa-9e38-7a492ff24b95", "f3a0a676-c69c-46b2-9a9e-8bae94fae19a" ] }, "Conditional": { "Operator": 0, "Components": [] } } ] } } ] } ] } This is a pretty straightforward object, with only three properties: RunOnlyOnce - if "true", this script will only be run one time ever in a player's game. SucceedOnlyOnce - if "true", this script will be run on each scene load until the Conditional component of the script succeeds, then it won't be run again. Scripts - a Conditional to check, and Scripts to call if the Conditional passes In my example object, I have one conditional IsInActiveScene(3f84e9ad-761d-47fa-9e38-7a492ff24b95), checking if a certain object is in the active scene, and one script GenerateLootListInto(3f84e9ad-761d-47fa-9e38-7a492ff24b95, f3a0a676-c69c-46b2-9a9e-8bae94fae19a), which generates my custom loot list (not shown) into that object's inventory. I've set it to SucceedOnlyOnce, so once my items have been generated into that inventory, they won't be duplicated if I come back to the scene later. How can you find the GUID of the object you want to modify? If the object is visible in the scene, hover your mouse over it and enter "PrintInstance oei_hovered" into the console. This will print the GUID in the combat log and copy it to the clipboard. If the object is not visible in the scene, you can search for it by name with the console command "FindObject". For example, "FindObject Store" will output to the combat log all objects with the string "Store" in their name. You can then copy down the GUID manually or copy it to the clipboard with PrintInstance (e.g. "PrintInstance Store_05_Marihi"). That's all it takes to insert your custom items into the game without fear of conflicts with other mods. For a list of available scripts and conditionals, see the documentation: scripts, conditionals.
-
Hi all, I have started studying Godot (doing the 3D tutorial project from the official documentation), and would like to know if there are accessible (free and understandable for a beginner) tutorials for isometric RTwP CRPGs or action-RPGs for the Godot game engine? Also, if I am aiming for a RTwP CRPG, like PoE or Pathfinder, would 3D with fixed camera or 2D be more appropriate? Thank you.
-
You should be familiar with the Modding Basic Concepts tutorial before following this one. In this tutorial, I'm going to show you how to add a new icon for a custom ability or item in Pillars of Eternity II: Deadfire. You must have Deadfire version 2.0.0 or later to use this functionality. I've already created game data objects for two custom items, and I've created two PNG icons for each: a small 42x42 icon, which will be used to show the item in an inventory slot, and a large 100x100 icon, which will be used to show the item when it's being dragged, and in the detailed inspection window. Items require both icons, but abilities only need the small 42x42 icon. To allow the game to load my large icon, all I have to do is put it in my mod folder at "/gui/icons/items". I can then reference it in the IconTextureLarge property of my item's game data. Small icons work a little differently. They need to be packed into an atlas, which is a single image file that has multiple images in it. The free tool SpriteSheetPacker can build an atlas for you from your collection of small icon images. Download SpriteSheetPacker and run it. Select "Add Images" and find all the small icon images you want to include in your mod. Click the "..." next to "Output Image". Browse to your mod folder. Create a new folder in it called "atlases". In this folder, save the image as "ItemIcons.png". If you were adding abilities, the icons for those would need to be in a separate atlas, also in this folder, called "SpellAbilityIcons.png". Ensure "Generate Map?" is enabled. Now click "Build Sprite Sheet". This will create the atlas image, and also a file called "ItemIcons.txt", which tells the game about each separate icon in the atlas. Finally, I can add a reference to the small icon in the IconTextureSmall property of my item's game data. Because the icon is in an atlas, this only needs the name of the sprite. It doesn't need any directory information. That's it. My new item now has custom icons to use in-game. If you need some great-looking, stylistically-matching icon images for your items and abilities, you can use the ones from the first Pillars of Eternity: PoE 1 Icon Resource at Pillars of Eternity 2: Deadfire Nexus - Mods and Community PoE 1 Item Sketches at Pillars of Eternity 2: Deadfire Nexus - Mods and Community
-
This is a 2nd level Tutorial on how to edit assets and assetbundles. Tools - Unity Assets Bundle Extractor https://7daystodie.com/forums/showthread.php?22675-Unity-Assets-Bundle-Extractor - Text editor (e.g. notepad++) - Asset Studio https://github.com/Perfare/AssetStudio/releases - paint, gimp, photoshop, paint3d, blender 0. What is a 2nd level Tutorial? PoE2 has three levels at which one can mod the game. Level 1 is modifying the gamedatabundles, stringtables etc. Let's call it scripting and shuffling of existing things. You can't add totally new stuff or change the game mechanics. Level 2 allows you to add self made contend (new npcs, new hairstyles, new look etc.) just like a DLC. Level 3 is changing the game mechanics. In other games this is called the "hard coded" level and is normally not accessible to moders. Level 1 has no influence on level 2 or 3. Level 2 has no influence on level 3 but on level 1. Level 3 has influence on level 1 and 2. 1. What are assets and assetbundles? The Unity engine stores all files required to display anything in the game (animations, areas and character meshes, some scripts, visual maps, variable lists e.g. for companion stats) in so called assets and assetbundles. The asset files are the "levelxy" or "sharedassets" in the "PillarsOfEternityII_Data" folder. Assetbundles are the unity3d files in the "PillarsOfEternityII_Data\assetbundles" folder. The "levelxy" and "sharedassets" contain mainly areas and maps and the interaction between all the stuff on it (npc, quest and sequence triggers). So if you want to edit/build maps this are the once you need to get familiar with. The assetbundles in "PillarsOfEternityII_Data\assetbundles\streamtile" contain the textures for the areas and maps. The focus of this tutorial will be the assetbundles in "PillarsOfEternityII_Data\assetbundles". The contain the stats and appearance files for all items, characters, creatures and the UI. They have mostly convenient names. The ones that start with "lax" are the expansions and DLC's. 2. How to mod assetbundles? 2.1 UABE and Asset Studio In order to modify assets or assetbundles you need Unity Assets Bundle Extractor (UABE). It is the only tool I know, which can import files into existing assets or assetbundles. UABE is not very helpful for browsing the files. This is where Asset Studio shines. It can give you previews of files without the need for extraction and external programs. 2.2 Things you need to do, before start modding. The big unity3d files are "compressed"!? Not really, but you will have to "uncompress" them. UABE has a protection build in to prevent unwanted overwrite. To make your life easy just do this ALWAYS!!! when modding an assetbundle. - take the unity3d file you want to "uncompress" or mod and name it name2.unity3d e.g. characters.unity3d --> characters2.unity3d - open characters2.unity3d in UABE via File -> open - if you haven't "uncompress" the file you will be prompted to do so. - save the file as characters.unity3d without the number. Now you have two files, a backup with a number and one modded, which is used by the game. PS: there is no need to "compress" those files. 2.3 The file structure inside the assets or assetbundles. Use UABE or Asset Studio to open the assets or assetbundles. You will see many different file types. If you already know, how to mod gamedatabundles, you will recognize monobehavier files with "prefab" in their names. This prefab files are text files containing, how all the other files are put together. They are the assembly instructions. Here is an example, I will use in this tutorial. It's the prefab for the female Godlike head 1. Practically all visual object prefabs can be found in "items.unity3d". It looks like a lot, but it is more simple than it seems. If you want to change the appearance of anything in the game the cyan part is the most important. The locations of all necessary files are under "FBXModelData ModelData". The strings are all references to files in characters.unit3d. The next important part is "SubMeshSettings SubMeshes". Here are the meshes used and under "MaterialOverride" is the reference of their color files. When you open those meshes and material files, you will see the same structure and references to object (fbx), skeleton, and texture files. 2.4 Referencing in the assets or assetbundles I have used the term reference very often in the previous section. There are 3 ways to reference something in the assets or assetbundles. 1. Reference by name (eg. string MeshName = "F_GODM_Head01") 2. Reference by SInt64 m_PathID. When you open an asset or assetbundle in UABE and click on "Info" a window called "Asset info" with all the files in the asset will open. In this Window there is a tab called "PathID". This is the SInt64 m_PathID of the file. If you want to find a file mentioned in the prefab or other files, copy SInt64 m_PathID, open the "Asset info"-window of the asset, click on view, select file id (there is only one), fill in the path id and click ok to find the file. 3. In some cases we have files referenced across assets and assetbundles. The prefab files are in items.unity3d and reference to characters.unity3d. I have not figured out yet, how this is done. Presumably it has something to do with a file in every asset with the path id 1 and/or the "UnityAssetGuidString".
- 19 replies
-
- 3
-
Follow-up tutorials: Adding New Icons, Adding Items to a Store, How to Upload Mods to the Steam Workshop. This is a text version of the video tutorial available here: In this tutorial, I'm going to show you how to create a simple data mod for Pillars of Eternity II: Deadfire. By creating your own game data bundle files, you can create new items, abilities, classes, and other content; modify existing content; and also modify how some parts of the game work, as I'm about to do. First, you need to create a folder to put your modified files in. Locate the Pillars of Eternity II: Deadfire folder. I've installed the game using Steam, so my game is in the steamapps folder. Inside the folder "PillarsOfEternityII_Data", create a folder called "override", if it doesn't exist already. This is where all your mods and mods you download from the internet will go. Inside the "override" folder, create a folder for your mod. Next, you need to provide some information about your mod. Inside your mod folder, create a file called "manifest.json". Open that file in a text editor, and type the following text into it. { "Title" : { "en" : "Per-Rest Resources" }, "Description" : { "en" : "Changes spells and class resources to reset on rest instead of after each encounter." }, "Author" : "BMac", "ModVersion": "1.0", "SupportedGameVersion" : { "Min" : "1.1.0", "Max" : "1.2.0" } } "Title" is the name of the mod. You can provide the text in multiple languages, each identified by its standard two-letter language code. In this example, I only provide English - "en". "Description" is a short, one-sentence description of the mod, and can also be provided in multiple languages. "Author" is the name or handle of the mod's creator. "ModVersion" is the version number of your mod. You should increase this each time you release a new version of your mod. "SupportedGameVersion" specifies the minimum and maximum versions of Pillars of Eternity II: Deadfire that your mod is known to be compatible with. The game will warn your users if they are using your mod with an incompatible version, but your mod will still load if it's enabled. Change the contents of this file to describe your mod, then save and close the file. You may also create a thumbnail image that will represent your mod in the Mod Manager UI. This image will go in your mod's folder. It needs to be named "thumb.png" and the dimensions should be 149x84. Now you're ready to actually modify the game's data. For this mod, I'm going to change spells and class resources from resetting after each encounter to resetting on rest. Let's take a look at the vanilla game data, the data the unmodified game uses. This data is located at "PillarsOfEternityII_Data/exported/design/gamedata". I happen to know that the data I want is in the "global" gamedata bundle. Open that file in a text editor. The file is hard to read because it isn't formatted. There are many tools available for formatting JSON data. I'm using Visual Studio Code, so I just need to press Shift+Alt+F to format this document and make it easier to read (note: you'll need to associate the .gamedatabundle extension with the JSON format. link). Now I'm going find the properties I want to edit. I'll just use my text editor's search function (Ctrl+F) and search for the text "spell". To learn what all of these properties do, refer to the Game Data Documentation. I found the data. It's on the object called "GlobalGameSettings", so that's the object I need to override in my mod. I won't be changing all the values on this object, but I'm going to copy the whole thing for now, starting from the curly brace "{" shown below, all the way to the matching closing curly brace. Create a new .gamedatabundle file in your mod directory. Enter the text shown, and paste the object you copied. { "GameDataObjects":[ (PASTE OBJECT HERE) ] } Now I'll remove the data I don't want to override. Note that I always need to leave the "$type" and "ID" properties of the object, and the "$type" property of any components I want to alter. That leaves me with this: { "GameDataObjects":[ { "$type": "Game.GameData.GlobalGameSettingsGameData, Assembly-CSharp", "ID": "eddfc852-ccb9-4884-b901-e77e8ca31b48", "Components": [ { "$type": "Game.GameData.CharacterStatsSettingsComponent, Assembly-CSharp", "PowerPoolUsageType": "PerEncounter" }, { "$type": "Game.GameData.SpellSettingsComponent, Assembly-CSharp", "SpellUsageType": "PerEncounter" } ] } ] } Now I'll change all spells and class power pools to reset on rest instead of after each encounter by changing "PowerPoolUsageType" and "SpellUsageType" from "PerEncounter" to "PerRest". { "GameDataObjects":[ { "$type": "Game.GameData.GlobalGameSettingsGameData, Assembly-CSharp", "ID": "eddfc852-ccb9-4884-b901-e77e8ca31b48", "Components": [ { "$type": "Game.GameData.CharacterStatsSettingsComponent, Assembly-CSharp", "PowerPoolUsageType": "PerRest" }, { "$type": "Game.GameData.SpellSettingsComponent, Assembly-CSharp", "SpellUsageType": "PerRest" } ] } ] } That's it. My mod is now ready to test.
-
Here's a very rough guide on how to add a new voice to Pillars of Eternity 2, without replacing an existing one. From the code side of things it's not too complicated, you'll just need 2 blocks of code. The main complication lies in creating the audio files and naming them correctly so that the game will know what to do with them. Go to the PillarsOfEternityII_Data directory, you can find this by default: Steam: C:\Program Files (x86)\Steam\steamapps\common\Pillars of Eternity II Deadfire\PillarsOfEternityII_Data\ GOG: C:\Program Files (x86)\GOG Games\Pillars of Eternity II Deadfire\PillarsOfEternityII_Data\ Inside the override folder (if this doesn't exist, create it) create a new folder, give it the name of your mod (E.g. Something like “Custom Voice”, “Zealous Voice”, something along those lines but it's really up to you). Inside this folder right-click and create a new notepad file. Give it the name of your mod and put .gamedatabundle (no .txt) at the end. Open it with Notepad (or your choice of code editor) and paste the following template: { "GameDataObjects": [{ "$type": "Game.GameData.SpeakerGameData, Assembly-CSharp", "DebugName": "DEBUG_NAME_1", "ID": "GUID_1", "Components": [{ "$type": "Game.GameData.SpeakerComponent, Assembly-CSharp", "Gender": "GENDER", "ChatterFile": "936c726d-d219-4771-80bb-83dd61c16cce", "ExternalChatterVOID": "00000000-0000-0000-0000-000000000000", "ChatterPrefix": "FILE_PREFIX", "WwiseChatterEventOverride": "", "WwiseChatterVoiceOverride": "" } ] }, { "$type": "Game.GameData.PlayerVoiceGameData, Assembly-CSharp", "DebugName": "DEBUG_NAME_2", "ID": "GUID_2", "Components": [{ "$type": "Game.GameData.PlayerVoiceComponent, Assembly-CSharp", "DisplayName": 465, "SpeakerReferenceID": "GUID_1", "Conditionals": { "Operator": 0, "Components": [] } } ] } ] } Change the following: DEBUG_NAME_1: change to something distinctive to your mod. This way if something isn't working, you can easily search for errors in the output.log. e.g. “DebugName”: “SPK_Player_Custom_F” GUID_1: Generate a GUID and paste it over GUID_1 (inside the quotes). e.g. "ID" : GENDER: Put Male or Female inside the quotes depending on which gender you want the voice to be available for. e.g. “Gender”: “Female” FILE_PREFIX: Change to something short, something easy to retype and remember. You will use this later as the name of the folder for your audio and as a prefix on all your audiofiles. Don't use spaces in the name. Use_underscores_ instead_to_separate_words. e.g. “ChatterPrefix”: “player_custom_f” DEBUG_NAME_2: same idea as DEBUG_NAME_1 but make sure they aren’t exactly the same. e.g. “DebugName”: “Voice_Custom_Female” GUID_2: Generate another different GUID and paste it over GUID_2 (inside the quotes). e.g. For “SpeakerReferenceID” paste the first GUID you generated over GUID_1 again. e.g. "SpeakerReferenceID": Finally: Make sure everything you've replaced still has quotes around it. Make sure there are no spaces inside of the “quotes”. Save your file. Your finished code should look something like this: Setting up your Audio files: Now go to: PillarsOfEternityII_Data\StreamingAssets\Audio\Windows\Voices\English(US)\ and create a new folder there naming it the same as what you have put in place of FILE_PREFIX. This is where all your audio files will go once they are converted to .wem and have the correct names. The naming of audio files goes like this: ch_FILE_PREFIX_USE_NODE.wem E.g. ch_player_custom_f_confirm_0025.wem , ch_player_custom_f_battlecry_0028.wem There are 121 audio files that'll make up this voice. I've attached a .txt file that contains all the file names. For your convenience use Find & Replace (crtl+h) to change all the lines with FILE_PREFIX to that of your ChatterPrefix. I would strongly suggest that you create a work files type folder for your project outside of the game's directory. And that you build your voice in stages, so as to avoid burning yourself out. The voice should still work if there are less than 121 files, but there will be silence for actions where there is no corresponding audio file or if there is additional line. E.g. if there is only one audio clip for when you clicking on the character there will be gaps in-between the character repeating that line. You can test the voice at any time by going into character creation, creating an adventurer at an Inn, or by opening the customization menu on an existing character. When loading it is worth clicking on your character a few times till they say something before going into the customization menu as voices don't always immediately load. Finishing touches: Create a mod manifest as described by BMac. The versions that support this mod should be: "Min" : "1.2.0.0017", "Max" : "5.0.0.0040" Currently your voice slot has the name “Test” when you look at it in game. Adding a piece of custom text to serve as your voice's name is a little finicky as it requires adding an entry to the gui.stringtable file. You can find some information on to do this in a few places. Once you have done this open up the .gamedatabundle file you made and replace 465 with the numbers that point to your text entry. Custom Voice Lines.txt
-
You should be familiar with the Modding Basic Concepts tutorial before following this one. In this tutorial, I'm going to show you how to use a BaseProgressionTableAppendGameData object to add a new ability to a class progression table (ClassProgressionTableGameData) in the game. You can also use this object to modify character progression tables (CharacterProgressionTableGameData). BaseProgressionTableAppendGameData is a new game data type that was added in v4.1.0. It simply contains a list of abilities that can be unlocked (along with the requirements needed to unlock them), and a reference to an existing progression table where you want to insert those abilities. Here's an example game data object I created for this tutorial. This object adds the talent Fast Runner as an eligible talent for Priests at Power Level 1. { "GameDataObjects": [ { "$type": "Game.GameData.BaseProgressionTableAppendGameData, Assembly-CSharp", "DebugName": "Priest_FastRunner", "ID": "5ec6e46a-4e3f-4f78-affe-0d7477d3b97f", "Components": [ { "$type": "Game.GameData.BaseProgressionTableAppendComponent, Assembly-CSharp", "BaseTableID": "a52e8b61-9343-4716-8a55-3168be143cc4", "AbilityUnlocks": [ { "Note": "", "Category": "General", "UnlockStyle": "Unlock", "ActivationObject": "Self", "AddAbilityID": "935b1a37-6f38-4ccc-bbc7-296f0f76790f", "RemoveAbilityID": "00000000-0000-0000-0000-000000000000", "Prerequisites": { "MinimumCharacterLevel": 1, "PowerLevelRequirement": { "ClassID": "f7cb46af-a719-41c0-9a53-107eefdbce2b", "MinimumPowerLevel": 1 }, "RequiresAbilityID": "00000000-0000-0000-0000-000000000000", "Conditional": { "Operator": 0, "Components": [] }, "VisibilityConditional": { "Operator": 0, "Components": [] }, "IsMutuallyExclusiveUpgrade": "true" } } ] } ] } ] } This object only has two properties: BaseTableID - the GUID of the existing table to modify. For example, "a52e8b61-9343-4716-8a55-3168be143cc4" represents the PT_Priest table. AbilityUnlocks - a list of UnlockableAbility entries to add to the specified table. You can find detailed information about the various properties of UnlockableAbility by clicking the link. By adding abilities to progression tables this way, you will avoid conflicts with other mods and compatibility problems with updated versions of the game.
-
There's an awful lot of requests for watercolour versions of portraits in the portraits thread, and I figured that it wouldn't hurt to at least throw an alternative to asking other people out there, whether anyone uses it or not. For this process, you need: The GIMP (https://www.gimp.org) I'm using version 2.8.14, so some things might look different, but hopefully not. A non-circular brush for the GIMP. I think the Acrylic 1 brush that I use comes standard, but I could be wrong A little bit of patience and willingness to experiment It'd probably help to have a portrait handy too A canvas background, provided by Obsidian: What you don't need: Any artistic ability whatsoever Even that steady a hand, really For the tutorial, I wanted to use a portrait more similar to actual artwork than the disparate screenshots I used to make my own portraits. After much deliberation, I settled on this piece, Druid in Green, Druid in Blue, by Isriana: (Original: https://isriana.deviantart.com/art/Druid-in-Green-Druid-in-Blue-558904387) We're going to be portrait-ing the druid in blue, in this case. She's obviously a Pale Elf, it works. The first step, obviously, is to open up the image in the GIMP. If you're working with the original (recommended), crop it to a squareish area that contains definitely every part of the image you want to use. I think the best practise here is to zoom in a little bit more for the regular portrait, then out a bit for the watercolours, so the sides of the head are (ideally) not "hanging off" the sides of the watercolour. Secondly, if you need to, now's a good time to crop the image for your main portraits. Remember, the sizes are 210×330 for the _lg one, and 76×96 for the _sm one. ... Now revert to the original image. Create a duplicate layer (it's the image of the stacked photos on the layer dialogue, or right click and select it). This is what I call the "Blur Layer." In short, we need to blur the original picture a bit; watercolours are not super great on fine details, and we can almost see Ms. Druid's pores here. Also, it helps for the next layer we're going to make. So, go to Filters->Blur->Selective Gaussian Blur and set the settings hereabouts. Specifically, you want a Blur Radius relative to the size of the image (something huge and detailed needs a higher blur radius, whereas you can probably drop it to 8 if the image is already portrait-sized). Also, set the Max Delta high, and slowly reduce it bit by bit until the facial details are good and visible. You don't want them to be sharp, but you should be able to make out the character's eyes in good detail. After setting that up, duplicate the Blur layer as before, twice. The top layer we'll call the Edge layer, for reasons that will become obvious. The middle layer we'll call the Watercolour layer, as that's the one that'll be doing all the "work" once we get to it. You can hide the Background layer, if you want to. We're done with it. First we'll work on the Edge layer, since it gives a good foundation for the next step. go to Filters->Edge-Detect->Edge and mess with the settings a bit. On my other pictures, the Robertson projection looked best. Here, I settled on the Laplace projection. In either case, you want the "Amount" to be about 4. The main thing you're looking for is maximum detail along the natural lines of the picture. Once that's done, invert the picture (Colors->Invert) and set the layer blend mode (located near the top of the Layer window) to Multiply. Set the opacity to somewhere around 85%, whatever looks best. Your lines might also look overly... loud. Go to Colors->Hue-Saturation and adjust the Saturation of the Edge layer to ~-40, or whatever looks best. Okay, so what sorcery was that? Well, We used Edge to get nice, sharp lines, but it made the whole picture look like a still from Take On Me, if Take On Me was a psychedelic rock opera. We set the blend mode to Multiply, which multiplies the pixel values of the layer below by the pixel values of the layer you're on to determine what the result looks like. Because we inverted the image first, most of the pixels were just being multiplied by 100%. The ones that were not were the lines. Because the lines tend to come out as highly saturated colours, we reduced that to make them look more grey. So in the end we were multiplying the pixels we want to be the lines by almost-black (or close to 0% across the board), making all their numbers, well, almost-black. Oh, and messing with the opacity of the layer just makes the effect less extreme. It's... a bit of a mess to explain colours in mathematical terms. Hopefully it's still clear. Multiply by almost zero, get almost zero. Next up we're tackling the Watercolours layer. First, invert it like we did the Edge layer (Colors->Invert). Then, set the blend mode to Dodge. Next, set up your brush: Make sure you're on the Paintbrush tool, completely black colour (#000000), set the brush type to something non-circular (Acrylic 01 is the name of mine, and I'm pretty sure it comes standard with the GIMP) and the brush opacity to something very low, like 7%. Make sure the size is something comfortably high; we're going to be stroking it broadly across the picture, so you don't have to be shy here. (my brush size there is 60, but I wound up going with something like 190) Next up, start brushing and watch the magic happen. The colours should slowly begin to emerge as you brush. Essentially what you're doing here is brushing away the watercolours layer, allowing the Blur layer below to shine through. It gives you those nice, pale colours that resemble watercolours in a pattern that looks more or less brushed by hand. This is after a couple brushes. You kind of have to use your best judgment on when to stop, unfortunately. There's no way to automate this. When you're done brushing the Watercolours layer, you should ultimately end up with something that looks simpler and lighter than the original image. Then comes the rather hellish part. You need to cut the character out of the background. I probably should have mentioned that you can do this part at the start, and it often works more easily then. You have to leave in some background around the character to get the Edge filter to pick up the edges of the character properly, so you still have to partially cut them out of the background after, but it's possible to cut it close enough that you don't have to, yet still get the hard edges. Ultimately, it's largely up to the image itself whether it'll work. Anyway, right-click inside of the layer window and select "New from Visible," then hide all the other layers. Make sure the new layer has an alpha channel (right click it and see if "Add Alpha Channel" is greyed out), and if not add one. Switch to the Eraser tool, and decide whether you're going for the soft, round brush (called "2. Hardness 050" in the GIMP) or the same brush you used for the Watercolour layer. The soft brush is good for giving you a more gradual edge, which can look better on the finished product, but the acrylic brush gives a more naturalistic edge. Again, best judgment. Remove everything but the character themselves, and don't worry about the details on the outer edges of the image (remember, we're only using a small subset of the whole thing, in the end). You'll probably have to adjust your brush size (and opacity, perhaps) more than once before you're done. Once you're done, CTRL+C the image and open up your canvas background as a new image. Paste the image on as a new layer (CTRL+V, then right click "Floating Selection (Pasted Layer)" in the layers background and pick "To New Layer"). Mess with it as needed. I don't really know how the actual images will translate into the game (since I'm not in the beta or anything) but I think you want them to basically fill the middle of the image. Here's where the next bit of Best Judgment™ comes into play. Sometimes the image looks fine when you paste it in. You can just call it a day there. In my case here, the lines were a little bit indistinct around the edges, and the colours are a little too bright (in the base image, too, I think) to really work as-is. Here's what I did: Make two copies of the layer. The middle copy is in Normal blend mode, but really low in opacity (like 25%, tops). The top layer is Multiply, because we need the picture to look nice and clear on the darker background. Set the opacity to something high, like 85%. The bottom layer is the foundation, set to Burn at 100% opacity. At this stage, basically anything goes. Mess with adding more layers, experiment with blend modes, hue/saturation, whatever. Once you're happy with it, resize the whole image (Image->Resize or else it just does the one layer) and set it to 90×141 for the _convo image, and then crop and resize to 76×96 for the _si image. Thankfully, you can avoid a lot of fine-tuning just off of how small the final pictures are. ... It's not as good as drawing them by hand, but doing this by hand is not even close to being an option for me, so finding a solution that requires as little of that as possible was a priority. If anything I did (or the reason for doing it) was unclear, please let me know in the topic and I can either answer there or amend the original post. Hopefully this gets more people doing their own watercolour portraits so there's plenty for the game's release on Tuesday!
- 32 replies
-
- 58
-
- Tutorial
- Watercolors
- (and 4 more)
-
This tutorial is mirrored as a Steam guide. This tutorial will walk you through the process of uploading your mods for Pillars of Eternity II: Deadfire to the Steam Workshop. This tutorial doesn't cover the process of actually creating a mod. For tutorials and information on creating mods, check out this tutorial. You must be running the game through Steam in order to upload mods to the Steam Workshop. Uploading a Mod First, you need to indicate that you are developing the mod you want to upload. Create a file called "devmode.json" in the override folder, if it doesn't exist already. Open the file in a text editor and paste the following text into it. { "DevMode": [ ] } Now add the folder names of the mod or mods you're working on to the DevMode list. The names should have quotes around them and be separated by commas. For example, if I was developing the modder-background and penguin-sword mods, my devmode.json would look like this: { "DevMode": [ "modder-background", "penguin-sword" ] } By default, the "thumb.png" file in your mod folder will be used as the thumbnail icon in the Workshop. Optionally, if you create an image called "steam-thumb.jpg" in your mod folder, that image will be used instead. The recommended size for "steam-thumb.jpg" is 512x512. Now launch the game. On the main menu, navigate to the Mod Manager (click Options, then click Mod Manager). Each mod you indicated in DevMode should have a Steam button on its entry. Click the Steam button for the mod you want to upload. Review the text in the message that appears. If you have not accepted the Steam Workshop Terms of Service, follow the link and review and accept the terms. If you agree with all the terms, click "Accept". You'll see a few progress bars. Once the mod is finished uploading, the Steam Workshop page for the newly-created mod will open in your browser. Here, you can write a full description for the mod, upload images, and set up other data. Once you're satisfied with the mod's page, you just need to set it as visible to the public from the Change Visibility dropdown. Your mod is now available for players to download and play with! Updating a Mod If you make changes to your mod after releasing it, you can easily update the Workshop version. After changing the mod, open the Mod Manager and click the Steam button next to your mod again (your mod will still need to be included in devmode.json). This time, you'll be presented with a window where you can briefly describe what you changed. Enter your description, then click Accept. Your update will be uploaded to the workshop and be available to players immediately.
-
Hi there thank very much for any help. I just downloaded the game for first time on iPad and completed the (first?) tutorial quest . Now the tutorial puts me in a party selection screen - the one with faces in circles at the top and the Party Tier Difficulty B message. What do I do now? The tutorial does not tell me and nothing seems to let me progress. I've tried the obvious thing of dragging the lit character faces to the sparkling circles at the bottom but they just bounce back and it doesn't work . Is this a bug? Game seems unplayable unless I get past this tutorial stage. Any tips?
-
Hallo I tried to play the tutorial quest. After defeating the villian with the warrior the game tells me that the villian has escaped and the Location is closed. But there is nothing i can do to go on. I check the YouTube Videos showing that normaly the Location (the farmhouse) Closes automaticaly but not in my case. I hope you can help me. And to your questions: General (For all issues) What device type are you on? Android/iPad, etc. -> Tablet and PC with Bluestacks Emulator What version of the OS are you running? Android 4.4, iOS 9.3, etc. Android 4.4.2 What model is the device? Galaxy Tab 3, iPad Mini 4, etc. -> Samsung Galaxy Notes 10.1 or Windows 10 PC What is your PFID#? (Located in the settings menu) CE203b1b8f00759d Gameplay Is pass & play on? Is permadeath on? no Information Tutorial, Story Mode, or Quest Mode? (If not quest mode, did you recently enter it?) -> Tutorial Characters in Party -> warrior and Bard Location of each character -> at the farmhouse Turn Order -> Scenario & Scenario Difficulty. If on non-normal difficulties, which wildcard powers are in play? What card was encountered when the issue occurred? (Or check, or card just played, etc) Did the issue occur on the first explore or a subsequent explore? If subsequent, what card did you last encounter? What was its resolution? (IE, you just encountered an enchanter and failed the check, and on an additional explore you ran into a blessing of the gods but didn't auto acquire it) Did other characters aid the check? What did they use to aid it? -> no help ... activ character was the warrior Was the encounter a Horde? (Skeleton Horde, Goblin Raid, Zombie Nest, Zombie Horde, Garrison Location Power w/ multiple characters, Henchmen encounter in Black Fang w/ multiple characters) -> Encountered the villian
-
Hello there. I have a YouTube channel on which I upload many different types of gameplay videos. I have begun my Pillars of Eternity series, whereby I will be playing a Dwarven Priest on easy. No footage will be cut out, unless it is extremely boring (e.t.c. loading screens, random things I do). Playlist: https://youtu.be/2_HluexIFg8?list=PLMADF6oHdMjd07Demzh3UANbeLXHdc-yI Chapter 1 - Escaping the Attack: https://www.youtube.com/watch?v=2_HluexIFg8&list=PLMADF6oHdMjd07Demzh3UANbeLXHdc-yI Chapter 2 - Day 1 in Gilded Vale: https://www.youtube.com/watch?v=72GC5dUptdw&list=PLMADF6oHdMjd07Demzh3UANbeLXHdc-yI&index=2 Chapter 3 - Day 2 in Gilded Vale: http://www.youtube.com/watch?v=T907_ZKmme4&index=3&list=PLMADF6oHdMjd07Demzh3UANbeLXHdc-yI Chapter 4 - Temple of Eothas: http://www.youtube.com/watch?v=ZrZiqau1Uhw&index=4&list=PLMADF6oHdMjd07Demzh3UANbeLXHdc-yI Expect more soon, and remember to share if you enjoyed! Feedback highly appreciated, including tips on how to improve, as I am very new to this game (: Thank You!
- 2 replies
-
- 2
-
- walkthrough
- review
- (and 7 more)
-
Hi there! My name is Dainank and I have started publishing several Pillars of Eternity videos! Be sure to check them out and give a thumbs up if you enjoyed them! Playlist: https://www.youtube.com/playlist?list=PLMADF6oHdMjd07Demzh3UANbeLXHdc-yI Video Episode 1: https://www.youtube.com/watch?v=2_HluexIFg8 Thank You!
-
So anyone who has played Temple of Elemental Evil is familiar with those, if you haven't: Starting vignettes were little stories that acted as openers, and there were different ones for the nine DnD alignments (Lawful Good, Chaotic Evil etc.). They served as an introduction to the game and led to your first quests, thereby also giving you some direction without holding your hand. I'd love to see this idea picked up, possibly by P:E. DnD alignments are derpy of course, but a theme for the party that "explains" how it came to be is a nice roleplaying element (and possibly more). Some possible themes: - an unemployed mercenary company - a band of vicious bandits - a flock of humble pilgrims - a group of travelling scholars I know P:E doesn't start out as a party game, but I think a single character works fine as well.
- 20 replies
-
- start
- starting vignettes
-
(and 2 more)
Tagged with:
-
Do you want to play Zelda: Wind Waker that umpteenth time? No? How about Twilight Princess? No? Skyward Sword? ...No? All three of these games, love them or hate them, have pretty much a forced 30+ minute opening segment of cutscenes and nonsense before you finally get your sword. This hurts replayability and it also makes your first experience with the game kind of... "unintense". Ocarina of Time and Majora's Mask either have skippable cutscenes, or you can quickly get your sword and get on with it. You only need 40 rupees to "start the game" for Ocarina of Time and although one might find being deku form annoying for the beginning of MM, you still get to play. That's something. I am utterly tired of "cinematic" games. I don't mind if you guys implement a how-to or a tutorial of some kind, but it should be completely optional. I also think it would greatly benefit the game if you could start it out "en media res". Don't start out PE with some long cutscene - just start the game. Get us into the thick of the story from the start. Don't make us sit through a chore. And don't say, "Well, you can skip it!" I don't want to skip the story. But I also want to play the game. Make the story interactive. If you want to give us exposition as soon as the game starts, have the player discover the exposition. Have them seek it out. Don't make us the passive observer. I'm not making this post under the influence of this video, but it pretty much points out partially what I'm trying to say: http://www.youtube.com/watch?v=8FpigqfcvlM
-
what are your thoughts about an in-game tutorial?
-
Beginnings can be awkward or awesome. We are usually dropped into a minutely developed world, and have no idea what's going on. How to avoid awkward questions? The most beautiful beginnings I know have been from PST and FO3. In PST the method is intricately thought-out amnesia that connects on many levels to the storyline. In FO3 you are literally born into a quarantined mini-world, and later released into the larger environment. Off the bat, I can think of two ways to make things interesting in Project Eternity. Gradual awakening to the world You never saw the world as it truly was. Blurred and unintelligible, many things you saw stayed incomprehensible until a something cures you of... - deaf- and blindness - a curse - ... The interesting part would be the transition. First you are in a kind of special needs situation. Your surroundings don't make much sense, most of what you understand and can say is gibberish. Then your character awakens to the world around you, and together with the player takes it in for the first time. Traumatic separation of body and soul The intro shows blurred recollections of the terrible act of someone ripping your body and soul apart (sufficiently blurry to make your original race a mystery). Your soul gets damaged, yadda, yadda, you get a new body, and the main storyline can include wanting to find out who and what you were before. It would be interesting if there were racial tensions in the game, and you can't be sure what you were before. I've got my own little dream of the main character being able to exist as a disembodied soul. It can not only invade dead creatures and animate the bodies, but dominate living ones's as well. Most of the time it will reside in an avatar it constructed from different materials, one of them being the soul's "characteristic" look indistinguishable from one of the sentient races. I tried to post a blueprint of this "transient" race on page 7 of the merged "races of the world" thread, but it got buried... So, what's your take?