Project - earok/scorpion-editor-demos GitHub Wiki
The Project is the container of all graphics, audio and logic for a single game.
We're going to describe the layout of the project tab.
Column 1 - Project Actions
Top Section
- Scale: Slider bar to change the scale of the Scorpion Editor user interface to better fit your resolution.
- Compile project: Compiling creates a copy of your project ready for distribution.
- Open Folder: Simply open the folder with your project files.
- Close Project: Close your project so you can open a different one.
- Open Build Log: The build log contains a lot of useful data about the most recently compiled version of your project, including estimated file sizes and memory consumption.
- Edit Properties: Properties file contains special project data such as project name, copyright information, WHDLoad settings and some special advanced settings like Atlas Compression for Amiga.
- Scorpion Engine Wiki: Link to here
Emulation Settings (Amiga)
Allows you to set the model of Amiga to emulate, as well as the Fast RAM and whether the game is aimed at NTSC.
Note that on other systems, some of these settings are implied, for example on Mega Drive games will typically be emulated in NTSC unless Europe is specified as the target country.
Export Options
- Recompile game: Turning this off will run the previous version of the game in an emulator rather than compile a new one. Turning this off can be used to save time when testing.
- Level: During development you can save a lot of time compiling by only including a single level that you wish to test. Note that this can cause problems if your code expects all of the levels to be present.
All other options are for either running a game on a specific emulator, debugging a game in a specific emulator, or exporting to run from a specific device or in a different format.
Column 2 - Project Palette
This is a visual representation of the colors that your project uses by default (unless overriden by colors loaded through code, levels or panels). Colors are listed as 24 bit hex and can be edited directly in the editor. They are stored in a PNG file so you can edit the palette with most image editors.
- Crunch Palette: Reduce the number of colors. Can be useful for porting arcade games with many colors down to Amiga or Mega Drive restrictions. Note that dedicated graphics tools like XNView will typically do a better job here.
- Import: Import some of the colors from another indexed PNG to the project palette.
- Edit: Edit the palette in an external image editor.
- EHB Fix (Amiga): Copy all colors from 0-31 to 32-63 and darken to match how they look in extra half brite.
Column 3 - Commands
Commands are used to trigger special codeblock actions during gameplay (not during fullscreen panels), such as pausing gameplay or activating inventory items.
On Amiga only, keyboard events can be configured. It's strongly recommended to use commands to handle keyboard events as using RawKey during codeblocks is unreliable.
On all platforms, events can be set to be triggered by controller movements or buttons. In some cases you may prefer to handle this in codeblocks logic rather than in commands.
Column 4 - Project Configuration
Top Section
- Splash Screen: Depending on your Scorpion licence level, you have some options for splash screens here. On the Scorpion Ultimate version, you can replace your splash screen with any other fullscreen panel.
- Platform: Set which variant of Amiga/Mega Drive/NeoGeo you're currently targetting.
- Logical FPS: For games that you want to release at multiple frame rates, logical FPS sets the speed the logic runs at. For example, if you have logical FPS set at 50, then "wait 50" will always mean one second regardless of what your target FPS is set to.
- Target FPS: The currently intended target framerate for your game. Most actor movement configurations and some codeblock commands are scaled by the ratio of Logical to Target FPS in order to keep the actual gameplay speed consistent between platforms.
- Max Active Actors: How much memory is reserved for the "active" actors (the actors that are currently moving on screen).
- Max Dormant Actors: How much memory is reserved for actors that haven't been spawned yet, or have been "recycled" so they're currently dormant.
- Max Controllers: The maximum number of controllers (players). Note that you'll want this to be at least 2 if you want Mouse support on Amiga.
- Graphics Mode: The number of colors/palettes your project supports.
- Width: The X resolution of your game.
- Extra Bugs: Turning on extra bugs allows for more fine grained control of your project, at the risk of additional causes of graphical glitches. Even for experts, I typically recommend that this is left turned off.
Amiga Settings
- Crunch Mode: Which crunch format is used (none, imploder or ZX0/Salvator). ZX0 is the slowest to compile but is recommended for squeezing into 880kb Amiga disks.
- Fetch Mode: The AGA fetch mode, higher modes improve performance a the cost of screen restrictions. Note that this option is available on OCS targets but will only make a difference to performance on AGA machines.
- 24 Bit AGA Color: Colors target 24 bit on AGA machines. On OCS machines, these are downmixed to 12 bit.
- 2X Copper: A second copper list is defined in order to reduce glitches when loading or unloading top or bottom panels. This can turned off when extra bugs is on.
- Smooth Scrolling: At the slight cost of extra DMA overhead, smooth scrolling horizontally can be enabled. Not needed on games that do not scroll or only scroll vertically.
- Read CD32 buttons: Use a little more performance to read the state of buttons on a CD32 pad. Recommended to be turned off unless your game specifically can read them.
Mega Drive Settings
- Region: Which region your game is targetted at (Universal, Any NTSC, Japan, Europe, Americas). This will affect whether PAL or NTSC is automatically set in most emulators.
- Sound Driver: Which of the supported sound drivers to use for your game.
- Planes: What is the width/height of your scrolling plane. Larger sizes consume more VDP memory which in turn reduces the memory available for displaying sprites.
- Start Palette Line: Which is the first palette line your game uses. Typically you want to leave this at 0.
- Read Six Buttons: Support for the buttons that are only on six button pads.
- VDP Color: Automatically adjust the palette at compile time to more closely match the VDP ramp. Note that few emulators support VDP ramp (BlastEm for example), but ticking this hopefully will allow your palette on real hardware to match your selection of colors.
NeoGeo Settings
- Start Palette Line: Which is the first palette line your game uses. Typically you want to leave this at 0.
Bottom Section
- Buffer Size: How large the scroll buffer is. Smaller settings are faster and use less memory, but at a certain point you'll start to see scrolling glitches on the bottom and right. The optimal setting is one more than the setting where you see those glitches.
- Startup codeblock: Which codeblock is run at the start of the game.