Difference between revisions of "WorldForge"

From Stormhalter
Line 90: Line 90:
# Place the component on the tile by either: Left-click to replace an existing component or holding shift + left-click to append the component.
# Place the component on the tile by either: Left-click to replace an existing component or holding shift + left-click to append the component.


[[File:worldforge_components_panel.png|300px|thumb|center]]
[[File:worldforge_components_panel.png|500px|thumb|center]]


</div>
</div>
Line 115: Line 115:
Allows OnSpawn and OnDeath scripts. Script editor has autocomplete functionality to make things easier.
Allows OnSpawn and OnDeath scripts. Script editor has autocomplete functionality to make things easier.


[[File:worldforge_entities_autocomplete.png|300px|thumb|center]]
[[File:worldforge_entities_autocomplete.png|500px|thumb|center]]


(TODO: Where are these classes (WoodenStaff, Wight, etc) defined? Is there a reference list/document?)
(TODO: Where are these classes (WoodenStaff, Wight, etc) defined? Is there a reference list/document?)
Line 132: Line 132:
|}
|}


[[File:worldforge_locations_tab_overview.png|500px|center]]
[[File:worldforge_locations_tab_overview.png|700px|center]]


===Adding a location===
===Adding a location===
Line 141: Line 141:
# Set the Region ID, X, and Y values.
# Set the Region ID, X, and Y values.


The location in the map will update as values are set. A list of region IDs can be found under (Segment) tab > Regions sub-tab.
The location in the map will update as values are set. A list of region IDs can be found under '''(Segment) tab > Regions sub-tab'''.


</div>
</div>

Revision as of 19:03, 27 June 2021

TODO: Wiki-fy this document: WorldForge Quickstart


Legends of Kesmai is survived by re-creation projects, such as Lands of Kesmai and Stormhalter. While the former has implemented the original-game segments (Axe Glacier, Kesmai, Leng, Oakvael, Praetoseba, Underkingdom) and advanced-game segments (Annwn, Shukumei, Rift Glacier, Torii), it has not introduced any unexplored segments. Stormhalter was created with the goal to adventure beyond just the known lands; for that reason, the project team developed WorldForge for players to create new segments.

Kesmai.WorldForge.exe is located in the same directory as the game client, Kesmai.Client.exe. All segments are managed through a project file with the extension "mapproj." This file format in in XML and is human-readable to better understand changes made by multiple users. All segments currently open-sourced are available on Github. These segments may change from open-source to closed-source to prevent new content from spoiling. No point to an adventure if you know the challenges ahead.

WorldForge allows for the editing of map terrain, interesting locations, subregions, creature spawns, and randomized treasures. We'll go over each aspect below along with the UI elements.


Main UI overview

Overview of main UI.
Arrow Select tiles within a region tab.
Draw (Pencil) Place a component.
Erase Delete a component.
Draw (Brush) Only on walls, place a component.
Indestructible Set a component (TODO: Or wall only?) as indestructible.

From the main menu at the top of the window, select "File" > "Create Segment" or "Open Segment." After the segment has been created, or loaded, you'll see many document tabs open. Those beginning with a "(" and closing with ")" are declarative editors for locations, subregions, spawns, and treasures. Other tabs may be terrain editors for a region.

Creating and Loading Segments

From the main menu at the top of the window, select "File" > "Create Segment" or "Open Segment." After the segment has been created, or loaded, you'll see many document tabs open. Those beginning with a "(" and closing with ")" are declarative editors for locations, subregions, spawns, and treasures. Other tabs may be terrain editors for a region.

Worldforge creating and loading segments.png

About Tabs

There are two types of tabs differentiated by parenthesis:

  • Region tabs. Not in parenthesis.
  • Utility tabs (TODO: this is a bad name. Fix). Enclosed in parenthesis.
Worldforge tabs.png


Region Tabs

Creation

Segments for Stormhalter are not on a single plane, unlike the original game. Rather, they are comprised of multiple maps to isolate areas between different zones and/or elevations. We'll refer to the isolated areas as "Regions." To create a new region, select from the main menu "Segment" > "Create Region." This will add a new tab to your documents. But, this is just a generically named region, you want to make it "The Zone of Death", right?

Using the arrow tool, double click any black portion of the region, and you'll access a property window. A few things to note:

  • Regions may have similar names, they need not be unique.
  • Regions must have a unique id.
  • Elevation applies to the whole region.
Worldforge region properties.png

Controls

The terrain editor controls are intended to be similar to an image editor.

Select / modify tile Left click.
Edit region properties Double left click an empty tile.
Pan The W S A D keys, or right-click drag your mouse.
Delete tile Left-click and "delete" key.
Append components to an existing tile Hold shift and left-click.
Tile properties and components Double left click.

Each region tile is comprised of "components" that handle a functionality of that tile. For example, a floor component may deal with all things related to pathing and movement. All components have adjustable properties that can be accessed by double-clicking that tile.

Worldforge tile properties.png

To place a component:

  1. Select the "Draw" tool from the toolbar below the main menu, it is designated by a pencil icon.
  2. Select the component you wish to draw from the components panel on the right-side of the UI. Components are organized by their functionality, be sure to utilize the drop down menu at the top.
  3. Place the component on the tile by either: Left-click to replace an existing component or holding shift + left-click to append the component.
Worldforge components panel.png


Segment Tab

Internal sub-tab

  • Static content usable across all tabs.

Regions sub-tab

  • Contains overview of regions and allows changing of region-wide properties.


Entities Tab

Contains definitions and templates of NPCs and crits to be used in WorldForge.

Allows OnSpawn and OnDeath scripts. Script editor has autocomplete functionality to make things easier.

Worldforge entities autocomplete.png

(TODO: Where are these classes (WoodenStaff, Wight, etc) defined? Is there a reference list/document?)


Locations Tab

Contains definitions of locations to be used in WorldForge.

Note: There is not yet a vertical scroll for the list. Increase your window size if needed.
Worldforge locations tab overview.png

Adding a location

To add a new location:

  1. Click the Add button in the locations list.
  2. At the bottom of the list, select the new location.
  3. Name the location.
  4. Set the Region ID, X, and Y values.

The location in the map will update as values are set. A list of region IDs can be found under (Segment) tab > Regions sub-tab.