Skip to content

astrochili/awesome-defold

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 

Repository files navigation

awesome

Awesome Defold

License: CC0-1.0

A curated list of awesome Defold extensions, tools and resources. An alternative to the Defold Asset Portal.

Contribution

  • ✍️ If you find an outdated or non-working asset, wrong category or description, or you want to add something useful to the list - feel free to create an issue or a pull request.

  • 🔤 Community-created content is sorted in ascending order, but core items are manually sorted.

  • 💬 Discuss on the forum.

Legend

🌙 — Lua modules that are engine-independent but useful for game development.

Contents

Links

Website

  • Defold — Official website.

Social

Community

  • Forum — Official forum.
  • Discord — Official community.
  • Telegram — Unofficial community (Russian-speaking).

Open Source

  • Defold — Game engine and editor.
  • Extender — Build server that builds native extensions.
  • Documentaton — Markdown source files and assets for Defold documentation.
  • Asset Portal — The asset definitions for the Asset Portal page.
  • Games Showcase — The game definitions for the Showcase page.
  • Build Size — Graph showing the Defold engine and editor sizes for all supported platforms.
  • Logo Assets — Defold logos to use on splash screens or other kinds of promotions.

Resources

Official

  • API Reference — Fully auto-generated API documentation.
  • Examples - A lot of code samples with interactive examples.
  • Manual - A friendly manual leading the newcomer into the world of Defold.
  • Tutorials - The perfect place to start the first practice.

Coding Style

  • lua-users — Lua style guide based on the Lua manuals.
  • LuaRocks — Coding conventions used in the LuaRocks project.
  • Olivine Labs — Olivine Labs Lua style guide.

Lua

  • Learn Lua in 15 Minutes — A quick start to understand the Lua language.
  • Lua 5.1 Reference Manual — The reference manual is the official definition of the Lua language.
  • Lua Missions — Learn the Lua language, syntax, structure, and some common functions and libraries, through failing tests.
  • lua-users Wiki — A large community-maintained collection of Lua information and resources.
  • Programming in Lua — A detailed and authoritative introduction to all aspects of Lua programming.

Articles

Videos

Tools

Code Editor

Annotations

Visual Studio Code

  • Defold Buddy — Autocomplete, hot reload, building from Defold, manifest generator and other features.
  • Defold Build Tools — Build, run and package Defold projects.
  • Defold Extension Pack — A pack of useful extensions for Defold.
  • Defold Kit — Tweakable setup that adds autocomplete and allows to launch, debug with breakpoints, bundle and deploy a game on a connected device.

Zed

  • Defold + Zed — A collection of ideas on how to adapt the Zed editor for Defold.

Programming Language

  • Compat-5.3 — Providing Lua 5.3 style API.
  • DefoldSharp — Transpiler from C# to Lua.
  • hxDefold — Haxe support library for the Defold.
  • Lua Preprocessor — Small and simple Lua preprocessor for Defold.
  • SpiralKit — Low level framework to develop on C++.
  • ts-defold — TypeScript toolkit for development games with Defold.

Libraries

Ads

AI

Analytics

Animation

  • Bezier Animation Library — An animation library that allows you to send graphics objects on a bezier curve path.
  • Ease — Easing functions module.
  • Easier — Interactive example of using inbuilt easing functions.
  • Hypes Trails — Easy to use and customizable trail effect.
  • Panthera — Animation runtime and editor made with Defold for Defold.
  • Rive — Rive animations runtime.
  • Spine — Spine animations runtime.
  • Tilemap Animator — Provides runtime tile animations.
  • Timeline — Easy way to make animation play in sequence.
  • Tweener — Timer based Defold tween library.
  • 🌙 flux — A fast, lightweight tweening library.
  • 🌙 tween — A small library to perform tweening.

Architecture

  • Event — A cross-context Defold event system.
  • Pigeon — Pigeon allows easily and safely manage posting messages.
  • Stately — A simple finite state machine.
  • Vita — A generic energy / life system.
  • whefQuest — A little helper library to create quests.
  • XP — A generic leveling up system.
  • 🌙 beholder — A simple event observer.
  • 🌙 Classic — A tiny class module.
  • 🌙 lovetoys — A full-featured ESC framework.
  • 🌙 Lua Finite State Machine — A finite state machine.
  • 🌙 middleclass — A simple OOP library.
  • 🌙 stateful — Stateful classes.
  • 🌙 tiny-ecs — A simple and flexible ESC library.

Backend

Camera

  • Operator — A tweakable camera controller for 3D games.
  • Orbit-Camera — A simple orbit camera example.
  • Orthographic — Orthographic camera API.
  • Perspective Parallax — An example of perspective parallax effect.
  • Rendercam — A universal render script and camera package.
  • Rendy — A versatile camera suite and render pipeline.

Debug

  • Commander — A debug console and command system inside your game.
  • Crashtool — Shows information from a Defold crash file.
  • Debug Draw — A simple wrapper to draw debug shapes.
  • DefCon — Developer console to interact with a game through a browser.
  • DefPro — Library to interact with Defold profiler.
  • DefTest — Unit testing with Telescope.
  • lmprof — Lua memory profiler for Defold based on lmprof.
  • Log by Insality — Context logger with performance metrics.
  • Log by subsoap — General purpose logging.
  • Lua51 — Replaces LuaJIT with Lua 5.1 on desktop platforms to see the actual performance on HTML5.
  • Metrics — Calculates and displays performance metrics.
  • Poco — Test automation from a computer to a test device using the Poco APO.
  • Profile Counters — Provides the profile counters in release mode via a Lua interface.
  • Share Log — Writes all output to the console and makes it possible save or send somewhere.
  • signpost — Helps to mark points of interest in Xcode Instruments.
  • WebGL Memory — Tracker for GPU and CPU memory usage on HTML5.
  • 🌙 Busted — Lua unit testing.
  • 🌙 inspect — Human-readable table representation.
  • 🌙 PegDebug — Trace debugger for LPeg rules and captures.

Deployment

Editor

  • Align — Editor script for aligning gui nodes.
  • Atlas — Editor script to add images to an atlas as well as create a new one
  • Components — Editor script for creating components from resources.
  • Distribute — Editor script for distributing nodes evenly.
  • Lua Code Formatter — Editor script that reformats your Lua source code.
  • Simle Data Component — Example how to bring custom data to a game object.
  • Sound Editor Scripts — A set of Editor scripts for the sound component.
  • Z-Order Editor Script — Helper for ordering objects along Z-axis in the collection.

Files

  • Defold-LFS — Library with a set of functions related to file systems.
  • Directories — Provides paths to various system directories.
  • Project Directory — Provides the project directory when the game is running from the Editor.
  • Zip — Extracts a zip archive.

Formats, Import, Export

  • CJSON — Native JSON encoder and decoder.
  • Collection Parser — Defold files format encoder and decoder.
  • Crypt — Various hash and encode/decode algorithms.
  • CSV Loader — Can load and parse CSV files.
  • dae2collision — Converts DAE meshes to Defold collision objects.
  • DDF — A library for parsing Defold Data Format files.
  • Defender — Blender import and export system with syncing.
  • Defold Parser — A node.js module to encode and decode Defold files.
  • Defold Protobuf — Protobuf format encoder and decoder.
  • Desert — Lua table (de)serialiser for the Defold.
  • Mesh Binary — Binary export from Blender to Defold.
  • Pack — Compress, decompress, and obfuscate table data.
  • PPReader — Parser of Unity PlayerPrefs files into Lua tables.
  • Proto — Generates Lua bindings to encode and decode a predefined set of protobuf messages.
  • Sheets Exporter — Processing and exporting data from Google Sheets to Lua.
  • Texture Packer Atlas — Native extensions that adds support for the TexturePacker atlas format.
  • TexturePacker Exporter — Exports from TexturePacker to a native atlas for Defold.
  • TrenchFold — Configuration files and scripts for designing levels in TrenchBroom.

Generation

  • biosim4 — Port of biologial evolution simulator.
  • Cellular Automata — Example of cellular automata and procedural generation.
  • Diamond Square – Example of the diamond square algorithm and procedural generation.
  • Fractal Noise — Example of fractal noise and procedural generation.
  • Lazy Flood Fill – Example of the lazy flood fill algorithm and procedural generation.
  • Perlin Terrain — Perlin noise terrain generation.
  • Wave Function Collapse — Image generation with Wave Function Collapse algorithm.
  • 🌙 Astray — Maze, room and dungeon generation library.

Hardware

  • Battery — Battery status on Android.
  • ButtPlug — Support for buttplug.io open-source standards.
  • Camera — Access to the camera on macOS, iOS and Android.
  • DefMidi — Interaction with MIDI devices.
  • Gyro — Gyroscope monitoring on iOS and Android.
  • SafeArea — Safe area handling on iOS and Android.
  • TapticEngine — Taptic Engine on iOS.
  • Vibrate — Alternative vibrate extension primarially for Android.

HTML5

  • AdBlock Detector — Detect if a browser is using Adblock.
  • DomainLock — Secure your HTML5 Defold games so they can't (easily) be stolen by other sites
  • HTML Loader — HTML loader example with a progress indicator.
  • JsToDef — Send messages from JavaScript to Defold.
  • Playable Ads — Gulp tasks to bundle the Defold game into a single HTML file.
  • WebP Slash Screen — Using Webp for splash image.

Image, Color

  • Colors — Customizable palettes and color utility features.
  • ColorsLib — Hex colors library and aonverter.
  • defold-png — An extension to load and save PNG images.
  • Draw Pixels — Drawing pixels and simple geometry into a texture buffer.
  • ImageLoader — An extension to load JPG, PNG and other images efficiently.
  • ImageTransparencyCalculator — Tracks whether a transparent area is clicked or not.
  • Imp — Image processing and filters on an image buffer.
  • QRCode – A small extension to encode and decode QR codes.
  • Runtime Atlas — Runtime atlas creator.
  • Screenshot — An extension for taking screenshots.
  • Sharp Sprite — An implementation of Rotated Grid Super-Sampling.
  • World Map — A worldmap tool that loads in SHP files and displays them.
  • 🌙 vivid — Color manipulation library.

Input

Math

  • DefMath — A module with a set of math functions.
  • Fast Stream — Helps to quickly push vector3 and vector4 into the buffer stream.
  • libdq — A library for dual quaternions.
  • Poly2tri — Fast and stable triangulation of convex or concave polygons.
  • SmoothDump — A native extension with smooth dump functions.
  • Voronoi — A small extension for Defold to add 2D voronoi functionality.
  • xMath — A re-imagining of vmath functions that avoid allocations.

Navigation

  • A-Star — A path finder and a-star solver.
  • DefArmy — A module to create groups of game objects, organize them and manage moving saving the pattern.
  • DefGraph — A module to create a graph map and move inside of it.
  • Grid Engine — Grid-based movement, interactions and utility features.
  • NavGO — A-star path finding for game objects.
  • OpenSteer — Group management in large scale with traffic control and behavior.
  • 🌙 Jumper — A pathfinding library designed for grid-based games.

Network

  • DefBit — Event, synchronization, RPC network library for multiplayer games.
  • DefNet — Networking modules and examples.
  • LuaSocket — Extended LuaSocket with the mime.core part.
  • Tiny Http — A simple HTTP server and client.
  • WebRTC — A quick and easy C++ library that adds support for WebRTC.
  • WebSocket — WebSocket connections.

Particle System

Perfomence

Physics

  • Box2D — An alternative to the inbuilt Box2D wrapper with a full range of features.
  • BulletFold — A simple and lightweight bullets handler.
  • Chipmunk 2D — Chipmunk 2D physics engine wrapper.
  • DAABBCC — A dynamic AABB tree collisions resolver.
  • Defluid — 2D fluid simulations based on metaballs.
  • Kinematic Walker — A tweakable kinematic character controller suitable for 3D games.
  • Polygon Editor — 2D collision shape editor.
  • ReactPhysics3D — ReactPhysics3D wrapper.
  • Simple FPS — A walkable room example with baked lightmaps.
  • 🌙 bump — AABB collision-detection library for axis-aligned rectangles.

Platforms

Random

  • dicebag — Probability functions designed specifically for games.
  • PCG Random (Lerg) — PCG family of random number generators with many algorithms.
  • PCG Random (selimanac) — Random numbers generator with using minimal C implementation of PCG.
  • RNG — Multi-algorithm random number generator using instances.
  • SFMT Random — SIMD-oriented Fast Mersenne Twister random number generator.
  • SplitMix64 PRNG — SplitMix64 random generator.
  • UUID4 — UUID v4 generator.

Render, Shaders

  • 3D in GUI — Shows how to display 3d in GUI via render target.
  • Blur Shader — Blur shader example.
  • Box2D Lighting — 2D lighting using Box2D raycasting.
  • Curved World — Demo of a curved world effect similar to that in Animal Crossing.
  • DefBlend — Blend solid colors with your sprites using various blending modes.
  • DefFX — A collection of useful shader effects.
  • DefMaterial — A library of materials and textures for 2d and 3d objects.
  • defold-3d-samples — Simple projects showing various 3D concepts, including a sky shader.
  • Defragments — Simple examples with fragment programs from Shadertoy.
  • DeLAB Scene — A ready setup testing ground for rendering / materials / shaders & post-effects.
  • DeLab-2D Dissolve — 2D dissolve effect shader sample project.
  • Dezer — Render target with low resolution output (downsampling).
  • Dissolve FX — An example of implementing the dissolve effect for sprites.
  • Easer — Render script content switcher at run-time.
  • Glimmer Shader — A glimmering / highlighting shader for 2D sprites.
  • GLInfo — Getting some OpenGL params.
  • Horri-Fold — A Lo-Fi Horror shader.
  • Illumination — A ready-to-use forward shading lighting for 3D games.
  • Jhonnyh Public Examples — A set of examples with rendering, shadow mapping and etc.
  • Light and Shadows — Pack of shaders to make light and shadows in Defold.
  • Light Probes — An attempt to implement irradiance probes for global illumination.
  • Lights and Shadows — An example of how to achieve pixel perfect shadows in a 2D view.
  • Lumiere — A collection of post processing effects.
  • New Illumination — An example of mixing Illumination and Light and Shadows with clustered forward shading.
  • Normal Map Lighting 2D — Normal map example render pipeline for 2D sprites.
  • PBR Core — Set of scripts, shaders and materials for PBR rendering.
  • PCSS — Deferred shading and shadow map filter experiments: pcf, poisson, pcss.
  • Pixel Planets — Port of Pixel Planets shaders.
  • Point Light — Omnidirectional shadow map implementation.
  • Projections — A sample project showing the different render script projections.
  • Scene3D — A collection of assets and useful functions for 3D games.
  • Shader Examples — A collection of shader examples by subsoap.
  • Skyquad — Skyquad implementation.
  • Software Renderer — A software renderer implementation.
  • Sprite texture repeat shader — Texture repeat (tiling) shader.
  • SptirePallete – Example project to show a possibility of changing palette using a palette texture.
  • SSAO — A simple screen space ambient occlusion implementation.
  • SSLR — A screen space local reflections implementation.
  • Treasure 3D — Showcase of rendering features for a 3D scene.
  • Vertex Color Sample — Using vertex colors from glTF file example.
  • VSM — A variance shadow map implementation.
  • Water reflection effect — A project showcases a 2d reflective water effect.

Services

  • DiscordRich — Rich Presence on Discord.
  • Facebook — Facebook SDK for iOS, Android and HTML5.
  • GameKit — Apple Game Center integration.
  • GPGS — Google Play Game Services integration.
  • Sign In with Apple — Native signing-in with Apple ID.
  • Zendesk — Provides access to Zendesk SDK functionality on iOS and Android.

Sound

  • Blip — A procedural generator of 8-bit sound effects.
  • DeBeat — A sound mixer.
  • DecodeOgg — Decoding ogg files to wav.
  • FMOD — FMOD sound effects engine integration.
  • MOD Player — Chiptune player for .xm and .mod files.
  • OpenAL — Provides 3D audio, pitch control and other stuff.
  • OSC — An Open Sound Control protocol library.
  • SoundBank — Sounds and music playlists system.
  • ZzFX — Zuper Zmall Zound Zynth.

System

  • AdInfo — Provides access to advertising information and status on iOS and Android.
  • Clipboard — Access the system clipboard.
  • Def-Diags — Open and save dialogs for Desktop.
  • Def-Mnu — Native context and app menu library for macOS and Windows.
  • DefOS — Extra native OS functions on macOS, Windows, Linux and HTML5.
  • Defpfd — Portable File Dialogs.
  • DefProcess — Check if a Windows process is running.
  • FileDrop — Drag and drop files handling on macOS and HTML5.
  • Inter-App Communication — Inter-app communication on iOS and Android.
  • OpenCL — OpenCL for parallel and massive computations.
  • Permissions — Query and request application permissions on Android.
  • Push Notifications — Push notifications on iOS and Android.
  • Review — Native iOS and Android ratings and reviews window.
  • Sharing — Native sharing screen on macOS, iOS, Android and HTML5.
  • StrictMode — Gives a possibility to use StrictMode on Android.
  • UpTime — Allows receiving a system uptime.
  • VideoPlayer Native — A fullscreen native video player on iOS and Android.
  • Vulkan — Vulkan graphics adapter.
  • WebView — Loads and displays web pages.

Templates, Engines

  • Boom — A game framework built on top of Defold inspired by Kaboom.
  • Crit Boilerplate — Critique Gaming's starter project with many features out-of-box.
  • Emthree — Match three game engine.
  • Fuior Example — Ready-to-use starter project based on Crit, Monarch and DefOS.
  • Insality Template — Insality's new project template.
  • LowRes — A template project for lowres and pixel-art games.
  • MatchaNovel — A visual novel framework library.
  • Platformer — A template project for a platformer game.
  • Platypus — Platformer game engine.
  • Text Adventure — Text adventure template with Ink.
  • Visual Novel — Visual novel template with DefSceneManager and Ink.

Text

  • ChatBot — Chatbot using the approach similar to PullString.
  • DefArc — Arcweave runtime to easily create branching, interactive narratives in your games.
  • DefGlot — Localization module.
  • defold-ink — Ink language runtime for compiled JS files.
  • Defork — A parser for JSON files exported from Twine.
  • DefString — A module with a set of extra string functions.
  • Fuiur — A domain-specific language for narrative design.
  • LPeg — A pattern-matching library.
  • Narrator — Ink language runtime that works with Ink files.
  • Polyglot —A simple Polyglot to Defold tool for game localizations.
  • UTF8 — Adds UTF-8 support to Lua.
  • WrapText — Filtering East Asian Language text to properly wrap it.
  • 🌙 i18n — A very complete localisation i18n.

Tiles, Grids

  • 3D Tilemap — Converting 2D tilemap to 3D mesh.
  • Autotiling — Adds autotiling to Defold tilemaps.
  • Detiled — A set of tools to make work with Defold and Tiled easier.
  • Hexagonal Grid — Hexagonal grid implementation with a three-axis coordinate system.
  • Moku — Map utility and auto-tiling module.
  • RPG Map Sample — An example of creating very large RPG maps.
  • Tile Raycast — Ray casting in tiled worlds using DDA algorithm.
  • Tiled Example — Example of using Tiled as level editor for game.

Time

  • Chrono — Reliable time from Google's NTP servers.
  • Chronos — High resolution monotonic timer with nanoseconds.
  • DefQuest — Setup, track, and check real world time countdowns based on OS or server time.
  • DefUniCo — A coroutine library.
  • Human Time — Library to get a "human time".
  • Timer – Provides a visual timer widget.
  • 🌙 cron — Time-related functions inspired on javascript.
  • 🌙 tick — A small module that simplifies the calling of functions at a set interval or after a delay.

UI

  • Dear ImGUI — ImGUI wrapper for creating a debug interface or in-game tools.
  • DeFine — A UI/UX library providing fundamental components.
  • Dirty Larry — A quick and dirty GUI library.
  • Druid Assets — A marketplace with custom styles and components for Druid.
  • Druid — A framework of wide range user interface components.
  • DSFonts — A set of shaders and materials for the distance field font.
  • efSceneManager — Scene manager suitable for visual novels and adventure games.
  • FontScale — Returns the preferred font scaling factor on the device.
  • Gooey — A lightweight GUI system inspired by Dirty Larry.
  • ImNodes — Example of how to create node/flow fraphs with Dear ImGUI.
  • Monarch — Screens and navigation manager.
  • NativeText — Renders native text into an image resource.
  • NetImGUI — Remotely displaying and controlling Dear ImGUI content.
  • Printer — A symbol-by-symbol text writer.
  • RichText — Text styling based on an HTML inspired markup language.
  • Typewriter — Styled text output with typing animation.
  • whDefRouter — A screen management solution.
  • Yoga — An embeddable and performant flexbox layout engine.

Utilities

  • AHash — A simple module for automatic hash reusing.
  • AURL — Automatic URL reusing.
  • Crit — Battle-tested collection of modules for game development.
  • DefKit — Component based scripts for Defold inspired by the Game Maker engine.
  • Defold Persist — A simple interface for saving and loading data.
  • Defold Wrap — A tiny library to help you change the way you code on Defold.
  • DefRS — A collection of general resources to speed up workflows for new projects.
  • DefSave — A module to save and load settings or user data.
  • Eva — Basic toolkit designed for mobile games with meta-game.
  • Hashed — A small utility library to automatically use hashed strings.
  • Ludobits — A set of useful utilities and wrappers.
  • m — A module for creating hot-reloadable modules.
  • MD5 — Native MD5 generator from string.
  • 🌙 betteries — Reusable dependencies for games made with Lua.
  • 🌙 Knife — A collection of useful micro-modules for Lua.
  • 🌙 lua-algorithms — General algorithms and data structures.
  • 🌙 LuaFun — A high-performance functional programming library.
  • 🌙 lume — A collection of functions, geared towards game development.
  • 🌙 md5 — MD5 sum in pure Lua.
  • 🌙 memorize — A pure-Lua memoization functions.
  • 🌙 Microlight — A little library of useful Lua functions.
  • 🌙 Moses — A Lua utility-belt library for functional programming.
  • 🌙 Penlight — Provides the batteries that Lua doesn't.
  • 🌙 RxLua — Reactive power of Observables.
  • 🌙 sandbox — A Lua sandbox for executing non-trusted code.
  • 🌙 Serpent — Lua serializer and pretty printer.
  • 🌙 syncX — An implementation of a CRDT synchronization algorithm.

Examples

Apps

  • Autonews — A simple auto news grabber and organizer.
  • Cold Path Map Editor — Map Editor for the Cold Path game.
  • Color Picker — A pretty basic HSV and RGB color picker.
  • MultiViewer — A very basic multi-image viewer intended for displaying art references.

Games

  • 2.5D Shooter — Prototype of 2.5D shooter like Wolfenstein.
  • Ben James 171 — A countless list of examples of mini-games by Ben James.
  • Breakout — A barebones Breakout clone.
  • britzl Examples — A collection of several small examples.
  • Climberz — An infinite climber with Web Monetization support.
  • Driller — 3D first-person shooter for Ludum Dare 48.
  • Flappy Bird — Flappy Bird clone implementation.
  • Holdem Solitaire — A solitaire puzzle game based on poker rules.
  • Horror 3D — Horror 3D game inspired by Slender.
  • Infinite Runner — Infinite runner sample project.
  • JizSaw — Jizsaw puzzle game example.
  • Ladybug Ball — A simple yet challenging puzzle platformer with a ball and full physics.
  • Linker and Switch — A simple Linker and Switcher game.
  • Love Balls — A linker game with using ECS.
  • Lowrez Inviders — A simple Space Invaders clone with a 64x64 pixel resolution.
  • Merge Getaway — 3D cars merger for Ludum Dare 50.
  • Mine Runner 3D — A 3D endless runner game using ECS.
  • Mini Mega Party — Multiplayer one-button mini games inspired by the Wario Ware series.
  • Numberz — Defold version of the zNumbers game.
  • Pixel Line Platformer — A sample project for a platformer game.
  • Pokedex5E — An open-source Pokemon database game.
  • Pong — An implementation of the classic game Pong.
  • Secret Moon Station — A short platformer game with Web Monetization.
  • Slasher Prototype — A game prototype with 2.5D perspective view, levels loader, the hero controller, monsters and basic AI logic.
  • Tetris — A tetris game clone.
  • Throw a Cow — An implementation of the popular game Angry Birds.
  • Towerz — Defold version of Tipsy Towers.
  • TweetFighter — A game of decision making with tweets.
  • Warbattles RTS — A RTS sample project.
  • XOXO — Tic Tac Toe game for reuse when testing different server implementations and backend services.

Showcase

Desktop

Mobile

Web

About

Alternative Awesome Defold

Topics

Resources

License

Stars

Watchers

Forks