Difference between revisions of "Art Specification Document"

From Open Surge Engine Wiki
Jump to: navigation, search
m (Overview)
m (Introduction)
(19 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
|transparent_color=#ff00ff
 
|transparent_color=#ff00ff
 
|image_format=PNG
 
|image_format=PNG
}}  
+
}}
 +
=Introduction=
 +
Open Surge is a retro game, meaning: low-res pixel art.
  
==Introduction==
+
Desired style: a Saturn-esque mixture of Sonic Mania and Knuckles Chaotix, with shading. Currently, Surge is flat. We want him to have lighting and more detail, as in the picture below (same for Neon and Charge).
Open Surge is a retro game. This means: low-res graphics.
+
  
[[File:Surge_playing.gif]]
+
[[File:Surge-improved-sprite.png|512px|thumb|left|Credits: TopHatter]]<br clear="all">
  
Why low-res? Please read our [[Game Design Document#Philosophy|philosophy]]. In a nutshell: really wide portability.
+
NOTE: adjust the lighting direction/sun to the top-left corner of the screen, as is the case for the levels.
  
== Specifications ==
+
= Specifications =
=== Overview ===
+
== Overview ==
 
The general idea is to create the look of a "cartoon-ish" retro game, including vibrant, saturated tones and an emphasis on pixel art. Keep the following in mind:
 
The general idea is to create the look of a "cartoon-ish" retro game, including vibrant, saturated tones and an emphasis on pixel art. Keep the following in mind:
* The engine supports portable network graphics (PNG) format.  Think 2D pixel art; the PNG format handles that job well.
+
* The screen resolution is 426x240 pixels (16:9)
* The color mode is 24 bits per pixel
+
* The standard magenta (rgb <span style="color:rgb(255,0,255);">'''255,0,255'''</span>) is used for transparent pixels.
* The screen resolution, 320x240 pixels
+
* The engine supports the portable network graphics (PNG) format. Think 2D pixel art; the PNG format handles that job well.
* The standard magenta (rgb <span style="color:rgb(255,0,255);">'''255,0,255'''</span>) is used for the transparent color.
+
** A PNG image ''should not'' exceed 2048x2048 pixels and ''must not'' exceed 4096x4096 pixels
 +
[[File:Lighting_Boom.png|426px|thumb|left|Gameplay picture]]<br clear="all">
 +
[[File:Screenshot3.png|426px|thumb|left|Gameplay picture]]<br clear="all">
  
=== GUI ===
+
== User Interface (UI) ==
 
* Acessibility is everything
 
* Acessibility is everything
 
* Minimalism ("less is more")
 
* Minimalism ("less is more")
 +
[[File:Options1.png|426px|thumb|left|Simple, obvious UI]]<br clear="all">
  
[[File:Minimal_screenshot.png]]
+
== Level graphics ==
 +
=== Scenery ===
 +
Open Surge is brick-based. Unlike tiles that are fixed in size, bricks are blocks of variable size that are placed freely on the scene (examples: platforms, ramps, trees, plants).  Bricks can be animated or static. They may or may not affect collisions (e.g., decorative scenery vs floor and walls). Furthermore, bricks can be passable in front of the players or behind them (decorative bricks).
  
=== Level graphics ===
+
Your designs can combine a rough layout of large pillars and platforms with the detail of small rocks and bushes. We can even create classic circular loops by combining a few bricks.
Open Surge is NOT tile-based. It is brick-based.  Bricks are blocks that are placed freely on the scene (examples: platforms, ramps, trees, plants). Some bricks can be animated, while others are obstacles (floor/walls).  Furthermore, bricks can be passable in front of the players or behind them (decorative bricks).
+
  
Bricks can be of multiple sizes, even in the same level. Your designs can combine a rough layout of large pillars and platforms with the detail of small rocks and bushes. We can even create classic circular loops by combining a few bricks.
+
* '''Official bricksets must be grid-compatible'''. That is, the width and the height of every brick must be a multiple of 16. Examples: bricks of 16x16, 32x16 or 16x32 are okay, but a brick of 17x23 is not. There are detailed guidelines at the [[Bricksets]] page.
 
+
* '''Official bricksets must be grid-compatible'''. That is, the width and the height of every brick must be multiple of 8 (e.g., a brick of 16x16, 32x16 or 16x32 is okay, but one of 17x23 is not). Please read: [[Bricksets]]
+
 
* The game supports Parallax Scrolling. Backgrounds are usually large in width (about 500~1000 pixels wide) and have diverse heights. We attach the backgrounds to different layers (having different speeds) in order to create the parallax effect. Please read: [[Backgrounds]]
 
* The game supports Parallax Scrolling. Backgrounds are usually large in width (about 500~1000 pixels wide) and have diverse heights. We attach the backgrounds to different layers (having different speeds) in order to create the parallax effect. Please read: [[Backgrounds]]
 
[[File:Loops.png]]
 
  
 
=== Items ===
 
=== Items ===
 
* The items are diverse in terms of animation and size. Examples:
 
* The items are diverse in terms of animation and size. Examples:
[[File:Checkpoint_orb.png]]
 
 
[[File:Spring_pads.png]]
 
[[File:Spring_pads.png]]
 
[[File:Item_boxes.png]]
 
[[File:Item_boxes.png]]
Line 51: Line 51:
 
[[File:Moska.png]]
 
[[File:Moska.png]]
  
=== Characters ===
+
== Characters ==
 
+
[[File:Surge2020.png|256px|thumb|right|Surge spritesheet (v0.5.1)]]
* Characters have many animations and many frames. Each animation frame must fit ''roughly'' in 50x50 pixels.
+
* Characters have many animations and many frames. Each animation frame must fit a 64x64 box. Inside that box, graphical boundaries should fit ''roughly'' 50x50 pixels (whenever possible). For more information, please read [[Characters]]
* Available animations:
+
* Minimum set of animations:
 
** stopped
 
** stopped
 
** walking
 
** walking
 
** running
 
** running
** jumping/charging/rolling
+
** jumping
 
** ducking
 
** ducking
 
** looking up
 
** looking up
Line 69: Line 69:
 
** hold the ceiling
 
** hold the ceiling
 
** ledge
 
** ledge
** flying (only for [["Neon" the Squirrel]])
 
** climbing (only for [["Charge" the Badger]])
 
 
** waiting
 
** waiting
** winning
+
** winning (level cleared)
* Examples:
+
** charging
[[File:Surge.png||thumb|left|"Surge" the Rabbit]]
+
** rolling
 
+
 
<br clear="all">
 
<br clear="all">
  
== Testing your art on the game ==
+
= Testing your art =
Please read: [[Sprites]]
+
Testing your art on the game is a matter of modifying a few text files. It's simple to do, and you don't need any programming. Read more at: [[Sprites]]
  
 
[[Category:Development]]
 
[[Category:Development]]

Revision as of 13:06, 27 March 2021

Art Specs

At a Glance

When creating new brick sprites for Open Surge, please use the following export settings:

Bits-per-pixel 24
Transparency None
Transparent color #ff00ff    
Output format PNG

Introduction

Open Surge is a retro game, meaning: low-res pixel art.

Desired style: a Saturn-esque mixture of Sonic Mania and Knuckles Chaotix, with shading. Currently, Surge is flat. We want him to have lighting and more detail, as in the picture below (same for Neon and Charge).

Credits: TopHatter

NOTE: adjust the lighting direction/sun to the top-left corner of the screen, as is the case for the levels.

Specifications

Overview

The general idea is to create the look of a "cartoon-ish" retro game, including vibrant, saturated tones and an emphasis on pixel art. Keep the following in mind:

  • The screen resolution is 426x240 pixels (16:9)
  • The standard magenta (rgb 255,0,255) is used for transparent pixels.
  • The engine supports the portable network graphics (PNG) format. Think 2D pixel art; the PNG format handles that job well.
    • A PNG image should not exceed 2048x2048 pixels and must not exceed 4096x4096 pixels
Gameplay picture

Gameplay picture

User Interface (UI)

  • Acessibility is everything
  • Minimalism ("less is more")
Simple, obvious UI

Level graphics

Scenery

Open Surge is brick-based. Unlike tiles that are fixed in size, bricks are blocks of variable size that are placed freely on the scene (examples: platforms, ramps, trees, plants). Bricks can be animated or static. They may or may not affect collisions (e.g., decorative scenery vs floor and walls). Furthermore, bricks can be passable in front of the players or behind them (decorative bricks).

Your designs can combine a rough layout of large pillars and platforms with the detail of small rocks and bushes. We can even create classic circular loops by combining a few bricks.

  • Official bricksets must be grid-compatible. That is, the width and the height of every brick must be a multiple of 16. Examples: bricks of 16x16, 32x16 or 16x32 are okay, but a brick of 17x23 is not. There are detailed guidelines at the Bricksets page.
  • The game supports Parallax Scrolling. Backgrounds are usually large in width (about 500~1000 pixels wide) and have diverse heights. We attach the backgrounds to different layers (having different speeds) in order to create the parallax effect. Please read: Backgrounds

Items

  • The items are diverse in terms of animation and size. Examples:

Spring pads.png Item boxes.png

Enemies

  • The enemies are also diverse, but they tend to be "small" in size and have few animation frames. Example:

Springfling.png Moska.png

Characters

Surge spritesheet (v0.5.1)
  • Characters have many animations and many frames. Each animation frame must fit a 64x64 box. Inside that box, graphical boundaries should fit roughly 50x50 pixels (whenever possible). For more information, please read Characters
  • Minimum set of animations:
    • stopped
    • walking
    • running
    • jumping
    • ducking
    • looking up
    • pushing a wall
    • death
    • getting hit
    • spring pad jump
    • breathing underwater (air bubble)
    • braking
    • hold the ceiling
    • ledge
    • waiting
    • winning (level cleared)
    • charging
    • rolling


Testing your art

Testing your art on the game is a matter of modifying a few text files. It's simple to do, and you don't need any programming. Read more at: Sprites