Skip to content
goosedev72-projects edited this page Aug 20, 2025 · 1 revision

Geometry Flip Level (.gflvl) docs

Overview

Geometry Flip uses .gflvl files to make game levels. Each level file contains obstacles in a simple text format that describes the level layout.

File Structure

Level files are plain text files with the .gflvl extension. Each line represents an object in the level using the format:

<type>,<x>,<y>[,<length_or_height>]

Coordinate System

  • X-axis: Horizontal position (increases to the right)
  • Y-axis: Vertical position (increases upward from the ground)
  • Grid size: Each cell is 8x8 pixels
  • Player start: X=0, Y=0 (bottom of the screen)

Object Types

Basic Obstacles

Type Character Description
Empty 0 No object
Block 1 Solid platform
Spike Up 2 Upward-facing spike
Spike Down 3 Downward-facing spike
Spike Left 4 Left-facing spike
Spike Right 5 Right-facing spike

Special Objects

Type Character Description
Ship Portal 6 Transforms player into ship mode
Cube Portal 7 Transforms player into cube mode
Gravity Up 8 Reverses gravity for ships
Gravity Down 9 Normal gravity for ships

Commands

Block Platform (Horizontal)

b,<x>,<y>,<length>

Creates a horizontal platform of specified length.

  • x: Starting X position
  • y: Y position (height)
  • length: Number of blocks in the platform

Wall (Vertical)

w,<x>,<y>,<height>

Creates a vertical wall of specified height.

  • x: X position
  • y: Starting Y position
  • height: Number of blocks in the wall

Single Objects

<type>,<x>,<y>

Places a single object at the specified position.

  • type: Object type character (0-9)
  • x: X position
  • y: Y position

Examples

Simple Platform

b,5,3,4

Creates a platform at X=5, Y=3 with length of 4 blocks.

Single Spike

2,10,0

Places an upward-facing spike at X=10, Y=0 (ground level).

Level with Multiple Elements

b,0,0,10
2,3,0
6,15,3
7,20,0
  • Platform from X=0 to X=9 at ground level
  • Spike at X=3, Y=0
  • Ship portal at X=15, Y=3
  • Cube portal at X=20, Y=0

Comments

Lines starting with # are treated as comments and ignored:

# This is an internal level comment
b,0,0,5  # Platform at ground level

Best Practices

Level Design Tips

  1. Start Simple: Learn gflvl with basic platforms and spikes
  2. Test Frequently: Playtest your levels during development
  3. Balance Difficulty: Ensure your level is easy, because my game is crap at the moment
  4. Clear Pathways: Flipper has a small screen, make level easy to understand

File Naming

  • Use simple names (for example tutorial.gflvl, hard_challenge.gflvl)
  • Keep names short and without spaces (as I am paranoid)
  • Use only alphanumeric characters and underscores (paranoid 2)

Performance Considerations

  • Maybe, the limit for total objects per level is under 2000, Flipper hasn't that much RAM
  • Avoid excessively long platforms or walls
  • Space objects to allow for proper collision detection

Sample

# Tutorial Level
# Basic platforming with simple obstacles

# Ground platform
b,0,0,20

# First obstacle - single spike
2,5,0

# Second obstacle - spike pair
2,10,0
2,11,0

# Ship portal
6,15,3

# Flying section
2,20,5
2,22,3
2,24,1

# Cube portal
7,28,0

# Final jump
b,32,0,5
2,35,0

Installation

  1. Create .gflvl files using the format described above
  2. Place files in the /ext/apps_data/geometry_flip directory on your device
  3. Launch Geometry Flip and select your level from the menu

Troubleshooting

Common Issues

  • Level not appearing/no levels in path...: Check file extension is .gflvl and the folder is right
  • Objects in wrong positions: Verify coordinate system (X,Y)
  • Collision problems: Ensure objects are properly spaced
  • Performance issues: Reduce number of objects in level

Validation Tips

  • Each line should have 3-4 comma-separated values
  • Object types must be characters 0-9/letters
  • Coordinates should be positive integers
  • Length/height values should be between 1-100

Advanced Features

Complex Platforms

# Multi-level platforms
b,0,0,10
b,5,3,5
b,10,6,5

Obstacle Patterns

# Saw pattern
2,10,0
3,12,3
2,14,0
3,16,3

Portal Sequences

# Ship -> Gravity flip -> Cube sequence
6,5,3
8,10,3
7,15,0

This documentation provides materials needed to begin with custom levels for Geometry Flip. Experiment with different combinations of objects to create something, that is good, unique and challenging on Flipper. You could share levels with pull requests!