Coder Social home page Coder Social logo

creation-companion's Introduction

reation Companion

.NET

Download Latest Build

You can download the latest version here. Note that a GitHub account is required to download the artifact.

Contribute

Join the Mutagen Discord and ping me there @Elscrux, so we can talk about the project. A basic project setup with issues is already in place and pull requests are always welcome.

Overview

The goal is to create a modern IDE that replaces the Creation Kit for mod creation in Skyrim modding and potentially other Bethesda games.

The are many tools like xEdit that do a similar job, but nothing goes as far as trying to replace the Creation Kit itself. This is supposed to change with the power of Mutagen. Mutagen is the starting point for the development of the editor which would otherwise be a much larger undertaking.

Why?

While being a great way for the community to create mods, the Creation Kit has a lot of issues. It is slow, prone to crashes, unintuitive in a lot of ways, undocumented, not easily expandable and more.

Vision

Fast

Mutagen already provides a fast library for modifying mods. Together with asyncrous loading in the background, the startup for the tool should be nearly instant.

Familiar

Most early development will copy Creation Kit features and recreate them in a better and faster way with Mutagen. Experienced Creation Kit users should feel familiar and have an easy experience switching over from the Creation Kit.

Documented

The Creation Kit doesn't have any kind of help integrated into the tool which adds to the already big learning curve. Creation Companion is supposed to provide tooltips and helpful hints anywhere possible. Usually sources like Creation Kit Wiki will be used for this documentation.

Intelligent

Creation Companion is supposed to get a lot of quality of life features that assist you in creating mods. That could go in a similar direction as Mutagen Analyzers. The goal is to automatically get feedback on what you do. There should be warnings for potential issues or suggestions for improvements as well as automatic ways to do both with the click of a button.

Workflow

Say you want to create a mod using the Creation Kit and after a while you realize that you need to switch to xEdit in order to make a relevant tweak. This would mean closing the Creation Kit, loading up xEdit make that change and loading up the Creation Kit again. Creation Companion should not only improve on this with fast loading times, but also offer an xEdit-like view to modify a mod. No need to switch the tool at all - everything can be done in one place.

Productivity

Create custom scripts that can be recompiled at runtime to perform actions in batch and other simple tasks to help in a productive workflow without repitition, powered by Mutagen. There are more advanced patching tools and this doesn't intend to recreate them.

Plugins

There should be support for custom 3rd party extensions or integrations that people can install.

creation-companion's People

Contributors

elscrux avatar noggog avatar radj307 avatar

Stargazers

 avatar NiDrZero avatar Micah Andersen avatar The Big Fallout Fan avatar Maarten de Jong avatar  avatar Mark avatar Shawn Lei avatar Christopher Layne avatar  avatar Nico Froehlich avatar Jacob Mills avatar  avatar  avatar

Watchers

 avatar  avatar John Söderberg avatar  avatar

creation-companion's Issues

Book Preview

Show pages to check for any pagebreak issues and formatting.
Could look like markdown editors with write & preview tabs.

Condition Editor

Editing conditions. If possible one editor that supports all games.

Toggle objects options

Enable Parents

Visualize states of an enable marker in the viewport.

  • Detect items that should be added to the enable parent
  • Detect items that are in the wrong state
  • Better and cleaner overview of the scene

This feature would not be enabled from the start, so both states would be shown. Maybe add a setting to always show the enabled state, disabled state or the starting state, depending on what the enabled parent is set.

Load screen art preview

Offset, rotation and scale isn't easy to tweak in the Creation Kit. This can be improved with a preview.

FO4 CK Feature: Pack-Ins

The Fallout 4 Creation Kit has this form type called "Pack-In", which is basically a prefab/collection of placeable objects. They are very useful to level designers, as you can easily create reusable clutter collections, etc that you can use to quickly clutter dungeons, interiors, etc.

Problem is though that these pack-ins obviously can't be stored in the plugin files, because Skyrim doesn't have that form type. So they would have to be stored in some external database and somehow be associated with a specific plugin. I don't know how feasible that would be, but if it can be done it would be an awesome feature.

[Feature] Loading mods

  • Optionally select active mods
  • Load individual plugins
  • Load all masters of individual plugins recursively

Asset Browser

  • Browse assets in directory tree view
  • Moving assets to another directory redirects references in the mod and the assets (texture references in nifs) see

Placed Picker

Pick items in the render window and save them in records.

Papyrus Editor

  • Text editor to write papyrus code
  • Adding properties
  • Removing properties
  • Filling properties
  • Auto-filling properties
  • #7

Form Key Picker: Quick create record

Create record of the allowed types.
Show selection between allowed types (use IMajorRecordGetter all class that implement a interface type).

Automatically fill the created record into the Form Key Picker.

Expand Record Picker

  • Add setting for ModKeys to filter
  • Add setting to filter record types manually

Show Package Schedule Usage

Show when a package is being used by npcs in their ai package stack.
Would be super useful to check when a package that multiple npcs use is actually used because other packages might overwrite the time when npcs are using the package.

Package xy
Npc 1: ---------------------------[ 8am ]--------------------------------------------------
Npc 2: -------------------------------------[9 am ]--------------------------------------------------
...

Moving dialogues moves voice files

Moving dialogue to a different branch or moving branches to a different quest or renaming editor ids of quests/dialogue branches/dialogue topic. All of this should move any attached voice files to the new location.

Add `.editorconfig` file

Currently the solution does not have a .editorconfig file in its root directory to override the local IDE's code style preferences.
Without one, it's much harder to preserve code style when using format-on-save tools for instance; I don't want to mess with your style by accident.

Show redundant AI Package

AI packages in a package stack where the package schedule is fully absorbed by a higher priority schedule should be shown.

Version Control

  • Protocol changes done in a session
  • Rolling back changes in active mod
  • Merging mods

Only show extended script in papyrus script list

Extended script is a column in the script list data grid, so something that can be sorted by and so on.

When adding a script to a record, the list of scripts automatically filtered by the types of scripts that can be attached to this type of record.

Auto Save

During a session, the active mod is saved in a custom interval.

Available Settings:

  • Enable/Disable Auto Save
  • Set interval time length
  • (Optional) Limit at x auto saves, delete old ones

EditorID controller

The Creation Kit only allows one record to have a certain editor id, because it uses them as unique identifiers in some cases?
This behavior should be replicated by a controlling entity that fixes duplicate editor ids when records are saved.

Saving mods

The active mod should save all edits made to it in a session. As part of saving, basic cleanup should be done like the removal of ITM (identical to master) records.

Batch options for dialogue responses

In dialogue responses, add an option to configure all selected responses at once.
Include:

  • Reset Hours
  • Random
  • Add Condition
  • ...

Might also be a system that is applied to all record lists

Viewport

Is in development here

  • Loading nifs

  • Level editor

  • Heightmap editor

  • Navmesh editor

  • Decals

  • Multiple cameras in one scene

  • Different Views

    • Normal View
    • Unlit View
    • Light Level View (Gradient from black to yellow/white for light level 0 - 100)
    • Collision View
    • Object View (All objects in different colors each)

NPC Editor

  • Skin option should only show armor addons that are available for the race that is picked for the npc
  • Show packages in Gantt-Chart like view that makes it easy to see what package is going to play when, and easily drag timeframes around (warn for default packages) SchedulesBrainstorming

Bookmark cells

Add a menu where you can bookmark commonly loaded cells, so you can quickly jump between them without having to scroll through hundreds of other cells each time. Would be a very useful feature for level designers.

Example scenario:
I'm working on a dungeon and I'm constantly back and forth between the dungeon cell and warehouse cells. If I could book mark the dungeon cell and the warehouse cells somewhere I could easily find them, it would save me a lot of time.

FO4 CK Feature: Conform to slope by Alt-dragging object

In Fallout 4's Creation Kit, if you hold Alt while dragging an object in the render window, its rotation will automatically conform to whatever surface is beneath it. Very useful when placing objects on uneven ground or on walls, etc.
conformtoslope (6)

Region Editor

The CK's region editor sucks. It's just a blank grid and you have to use external tools to find the coordinates so you can draw the regions. This makes it impossible to draw detailed/accurate regions. It would be great if the region editor actually showed you a map of the worldspace. Could probably use terrain LOD textures, like xEdit's Worldspace Browser script.

Cell Browser

  • Select cells in worldspaces
  • Select cells in interiors
  • Browse references in cell

Browse records

CK Object Window style UI to browse for records.

  • Filter records
  • Filter mod
  • Record Editor can be opened
  • References can be viewed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.