You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Complete the RadialGM room editor, bringing it to feature parity with LateralGM (our old Java IDE) and Game Maker.
This includes the following features:
Dragging and dropping instances and tiles
Selecting regions of instances and tiles to drag
Visually editing properties of instances, such as scale and rotation
These items can easily be completed within the 175-hour GSoC timetable. Remaining hours, up to the full 350, can be invested in other items below.
Mentors: Josh, Greg Difficulty: Easy Expected size: 175h (can scale to 350h) Skills required: C++ fundamentals, UI Experience Skills preferred: Experience with Qt, experience with custom UI programming
Features to scale to a large project
Custom instance properties
Allow setting arbitrary properties (variables) on instances.
Properties can have various types:
Coordinates (pair of x/y variables)
Regions (two pairs of x/y variables)
Corresponding instance (instance ID variable)
Path (array of coordinate pairs)
Instance and Tile Groups
Allow users to create groups, similar to in tools like InkScape and Microsoft Office. These groups can be manipulated as a unit using click and drag, or double-clicked to be entered.
Instance and Tile Regions
Think of regions as an optimized group.
The EGM spec supports defining regions of evenly-distributed instances, but the room editor simply unpacks these into an ordinary, dissociative collection of instances upon load. Saving reconstructs groups using connected components.
Add support for defining regions of instances in the room editor instead of placing each instance one-by-one.
Currently, all EGM-generated regions are rectangular, but the IDE should be able to define polygonal regions, as well.
Dynamic groups
A cool feature to add to instance or tile groups is placement semantics. That is, allow the room editor to dynamically fill tile groups based on preset patterns and roles of tiles in a tileset. Examples:
Fill a region with a grid of instances (the default behavior for a region).
Fill a region with an isometric grid of instances.
Randomly fill a region with a certain number or density of instances.
Fill a region with a grid of tiles, choosing particular tiles for corners,
edges, slopes, inner corners, and filling.
Allow setting probabilities when multiple options are available for a
given tile.
For randomized regions, the seed should be a parameter so that users can preview what the result will look like and choose a favorite seed.
Dynamic regions should be ungroupable so that the randomized output can be edited manually.
The EGM spec will need to be extended to support storing the dynamic format. The library that generates the filled ares must go in the ENIGMA Shared folder so that both the engine and IDE can use it.
Overworld support
Create a new resource to allow placing rooms inside a larger room, called an overworld. See the Overworld project proposal for more information.
The text was updated successfully, but these errors were encountered:
As a small project
Complete the RadialGM room editor, bringing it to feature parity with LateralGM (our old Java IDE) and Game Maker.
This includes the following features:
These items can easily be completed within the 175-hour GSoC timetable. Remaining hours, up to the full 350, can be invested in other items below.
Mentors: Josh, Greg
Difficulty: Easy
Expected size: 175h (can scale to 350h)
Skills required: C++ fundamentals, UI Experience
Skills preferred: Experience with Qt, experience with custom UI programming
Features to scale to a large project
Custom instance properties
Allow setting arbitrary properties (variables) on instances.
Properties can have various types:
Instance and Tile Groups
Allow users to create groups, similar to in tools like InkScape and Microsoft Office. These groups can be manipulated as a unit using click and drag, or double-clicked to be entered.
Instance and Tile Regions
Think of regions as an optimized group.
The EGM spec supports defining regions of evenly-distributed instances, but the room editor simply unpacks these into an ordinary, dissociative collection of instances upon load. Saving reconstructs groups using connected components.
Add support for defining regions of instances in the room editor instead of placing each instance one-by-one.
Currently, all EGM-generated regions are rectangular, but the IDE should be able to define polygonal regions, as well.
Dynamic groups
A cool feature to add to instance or tile groups is placement semantics. That is, allow the room editor to dynamically fill tile groups based on preset patterns and roles of tiles in a tileset. Examples:
edges, slopes, inner corners, and filling.
given tile.
For randomized regions, the seed should be a parameter so that users can preview what the result will look like and choose a favorite seed.
Dynamic regions should be ungroupable so that the randomized output can be edited manually.
The EGM spec will need to be extended to support storing the dynamic format. The library that generates the filled ares must go in the ENIGMA Shared folder so that both the engine and IDE can use it.
Overworld support
Create a new resource to allow placing rooms inside a larger room, called an overworld. See the Overworld project proposal for more information.
The text was updated successfully, but these errors were encountered: