Skip to content

mmmdule/RetroFPS-LevelEditor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RetroFPS-LevelEditor

Level Editor desktop app for my RetroFPS game.

The app allows map creation with many customization options. Configure each level's layout, textures, enemy and pickup placement and much more with great ease.

Created using C# and .NET 7.

Features

  • Graphical grid display of map layouts
  • Simple and accessible user interface
  • Parameter customization (health, patrol range, damage...) for every object on the map
  • Map grouping into Level Editor Projects.

Playing/Testing level pack

To play levels from a project created using the Editor, place the project's .lep file and "/maps/" folder into the game's "PandemoniumFPS_Data > StreamingAssets" directory.

User Manual

The following section will cover creating a new project, opening an existing one and editing levels inside a project.

Creating and opening a project

Creating a project

image

Creating a new project is a two-step process:

  • On the Home window, click the "Create New Project" button in the Getting Started section.
  • Next, enter the project's information. Project Name and Path are the only mandatory fields.

Note: All of the project info (project name, game title, subtitle and author) except the project path can be edited later in the Project View

When a project is created, the app will create a Project Directory in the path the user selected. This directory will contain two items:

  • A .lep (Level Editor Project) file, which contains the project data
  • A /maps/ sub-directory, which will contain .lem (Level Editor Map) files which contain level and story data

Opening an existing project

To open an existing project, click the "Open Project" button in the Getting Started section.
Find the project's .lep file and select it to open the project.

The .lep file you selected must be in the same directory as the /maps/ directory. Otherwise, an error will occur when trying to open a level or story segment.

Any time a project is created or opened it will be added to the top of the "Recent projects" list in the Home window.

Editing Levels and Story

Levels (gameplay segments) and Story Segments are both added to the project's Maps section, and are both considered as Maps.
Story segments are always shown to the player after a level. If you put one on the top of the Maps list, the player will not be able to access it.

image

Adding/Removing a Map

To add a Map, click the green '+' button in the Project View and then add the level's name and type.

To remove a Map, click on a Map and then click the red '-' button.
Deleting a Map deletes the map file, so you should make a backup to prevent data loss.

Maps can be reordered using the arrow buttons next to each map's name.
A map can be move one place up or down, or to the top/bottom of the list.

Editing Levels

To edit a level after adding it, double click on the segment's name in the Map list.
This will open the grid window in which the level's layout and object properties can be customized.

image

When in Draw Mode, to draw on the grid, use the left mouse button. To erase, use the right mouse button.
To edit an object's properties choose Select Mode and click on that object on the grid. When entering a value, press Enter to confirm input.

The bottom toolbar contains brushes (object types) you can use to draw on the map.
Brushes displayed can be changed in the toolbar in View > Brushes.
The following brush types can be chosen:

  • Walls (Regular and Cobweb Walls)
  • Enemies (Imp, TriHorn and PlasmaEater)
  • Map Objects (ExitDoor, Key, DoorGate, EnergyBall, Torch, ArmorBlink, Stone, ArchwaySingle and ArchwaySmall)
  • Pickups (SmallMedkit, ShotgunAmmo, smgAmmo and Bullets)
  • Player

Player

player
Player must be added to be able to start the level in-game.

The player object has multiple parameters that can be edited:

  • Starting Health (Max Health is 100 during a level, but Starting Health can be above 100)
  • Weapon ammo (Ammo for the Revolver, Shotgun and Uzi can each be set)
  • Weapon Possession (Check the boxes for the weapons you want the player to have during a level)

Walls

Wall brush texture can be chosen in the toolbar in Wall Brush.
image

Border wall texture can be chosen in the toolbar in Map Settings > Border Wall Texture

Enemies

imp
Imp

  • Slowest enemy type
  • Fires 1 projectile when attacking

trihorn
TriHorn

  • Faster than Imp
  • Fires 3 smaller projectiles (damage inputed is divided by 3 for each projectile)

plasmaEater
PlasmaEater

  • Same speed as TriHorn
  • Fires 4 smaller projectiles (damage inputed is divided by 4 for each projectile)
  • Gains +60HP when shot with Uzi's plasma ammo (hence the name) and increases slightly in size.

ENEMY PARAMETERS Enemy behaviour and attributes can be modified with the following parameters:

  • Health
  • Projectile Damage
  • Time Between Shots - Pause between enemy attacks in seconds
  • Patrol Range - Radius inside which the enemy will pick next patrol target point randomly
  • Sight Range - Range from which enemy can detect Player if no obstacles are between them (if the player is detected, the enemy will start chasing him)
  • Attack Range - Range from which enemy will attack Player if no obstacles are between them
  • Can Move - Enables/Disables enemy movement

Map Objects

Map Objects are divided into two categories:

  1. Keys and Doors
  2. Decorations and Traps

Use of decorations is encouraged to help the player navigate the map easier.

MapObjects
(items are listed in same order as image)

Keys and Doors

  • ExitDoor - ends the level (place above player on map so player enters from underneath on the grid)
  • Key - unlocks DoorGate so player can progress (only one key per level)
  • DoorGate - blocks part of map away (only one key per level)

Decorations and Traps

  • EnergyBall - small brick surrounded by energy balls that do 8HP damage upon contact
  • Torch - light source
  • ArmorBlink - possesed piece of armor, blinks at you if you stare long enough
  • Stone - spawns one of the pebble sprites (randomly chosen)
  • ArchwaySingle - column with arch on top
  • ArchwaySmall - smaller column with arch on top

Pickups

Pickups restore the players heatlh and ammo. The value of each individual pickup can be edited.

Pickups
(items are listed in same order as image)
There are 4 types:

  • Health
  • Shotgun Shells
  • Plasma Ammo (for the Uzi)
  • Bullets (for the Revlover)

Editing Story Segments

To edit a story segment after adding it, double click on the segment's name in the Map list.

Keyboard shortcuts

  • Ctrl + S - Save (in Grid and Story Editor mode)

  • Ctrl + W - Close (in Grid and Story Editor mode)

  • D - Draw Mode (in Grid Mode)

  • S - Select Mode (in Grid Mode)

  • MouseWheel Up/Down - Scroll Up/Down (in Grid Mode)

  • Shift + MouseWheel Up/Down - Scroll Left/Right (in Grid Mode)

  • Ctrl + MouseWheel Up/Down - Zoom In/Out (in Grid Mode)

  • MouseWheel Click - Toggles Mouse Movement scrolling (in Grid Mode)

About

Level Editor Project for my Retro FPS Game

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages