Skip to content
David Roberts edited this page May 5, 2024 · 43 revisions

This wiki provides documentation for the latest, in-development version of Frogatto. (For the old 1.3 release which is currently floating around the net, rewind this wiki repo to 2012 using Git.) If you are looking for the latest stable release, Discord, and news, please visit http://www.frogatto.com/. Enjoy the game!

SEARCH ALL DOCUMENTATION

For Players

  • Game Controls — You can access the in-game editor at any time by pressing ctrl-e. See more controls in the page.
  • General FAQ — General questions and known issues of interest to players.

For Developers

Frogatto is built on an engine called Anura, which provides its own markup language, FSON, its own logic language, FFL, and comes with its own graphical level-editor. It even comes with a lightweight, built-in code editor (accessible from inside the level editor).

For Translators

If you'd like to help get the game into your language, swing by the #translations channel on our Discord and get in touch! See the translating Frogatto wiki page here for the technical details of how we do it. We appreciate any help we can get! ♥

Getting a Dev Build

The easiest way to get a dev build is to follow this tutorial; you'll get a copy of the engine which auto-updates itself.

If you're actually interested in modifying the engine, or know your way around the commandline, you might care to try compiling, yourself. We have compilation tutorials for Windows, Mac, iOS, and Android. We also have pre-built binaries for most platforms.

Overview

The FFL Programming Language

Anura has its own pure-functional programming language called the Frogatto Formula Language, or simply, FFL. This is a list of the core engine concepts/features.

  • A Gentle Introduction to FFL — a straightforward overview of both FFL, and how to wire together a simple test game in Anura
  • FFL-FAQ — Frequently Asked Questions
  • Operators — Addition, Subtraction, boolean logic, etc
  • Conditionals — if/else, switch, and other control-flow statements
  • Variables — a quick writeup on how to store data
  • Data Types — how variables, containers, and functions are expressed
Advanced FFL Topics
  • FFL Classes — Lightweight data structures which combine data and related functions
  • List Comprehensions — A shortcut for taking a list of items, filtering it down to a subset of them, and running some code on each item.
  • Caching Expressions — How to optimize repeated, expensive evaluations of the same expressions.

Engine Reference

FFL API Reference

FFL provides a number of built-in variables and properties you can read and modify to alter the game state; it also provides 'events' which are triggers you can use to run your game code in response to things happening in the game's physics/etc engine, whether it's merely running code every frame, triggering something when an object is first added, etc.

When writing code in FFL, you have access to a wide library of engine-supplied functions. This lists what's available, and in what contexts:

Anura Data Formats
Core Engine Concepts
Miscellaneous Engine Reference

A collection of various documents describing data formats and so on for different parts of the engine.


Scratchpad

A bunch of random articles about various various engine features or whatnot that need to be cleaned up and organized into readable, useful documents. Stuff that's not ready for primetime.

Legacy

Stuff we should probably remove - I'm collecting it here to have a once-over before we delete the pages in question. These refer to engine features which have been either heavily deprecated, or completely removed, in the latest version of Anura. Don't use any of the features referenced here, for obvious reasons.

  • GUI FML — How to make and edit the heads-up display, such as the coin and health counters.
  • Widgets
Clone this wiki locally