Insality / defold-eva

Basic Defold module for mobile games
https://insality.github.io/defold-eva/
MIT License
41 stars 1 forks source link
basic defold defold-game-engine defold-library defold-module

GitHub Workflow Status codecov GitHub release (latest by date)

Eva - basic Defold module, designed for mobile games with meta-game. It provides a lot of additional API and systems for easier game development. It contains a lot of different modules, which can be used separately.


DISCLAIMER: Eva is not documented well, some functions can be broken. Eva is in development, so API can be changed in future versions.

It is public in educational purposes, so you can see how I do different things and use it in your own projects. I will be glad if you will use it in your projects, but I can't guarantee that it will work well.


Features

Eva provides the foundation for your game.

Setup

Eva setup and initial configuration is quite massive, please read install instruction here

Evadata format and export

For some modules there are defined specific basic structure.

Proto Eva data description can be found here.

Google document with data example can be found here.

Rules for export can be found here (using sheets-exporter).

Otherwise, all data can be filled manually with designed structure.

Tiled exporter

Eva have defined workflow with Tiled. There is a special module for that:

detiled_logo

What it can do?

Custom modules

Eva allows your to define new modules or rewrite existing one

currently not implemented

Modules

Module Description Status
ads Interstitial and rewarded ads integration
cache Provides any external resources cache
callbacks Wrap callbacks to call it via id. Pass callbacks in messages
camera In-game camera with drag, pinch and zoom
daily Provides game daily bonus system
db Contains all game configs, can verify it via protobuf
debug Provides general debug options for eva systems
device Provides utilitary device functions
errors Provides lua errors handler
events Eva event system
feature Game system management, turn on/off and conditions for any features
festivals Provides single or repeatable festivals system (halloween, weekend, etc)
game Provides utilitary game functions
gdpr Provides GDPR API functions
generator Utilitary generator functons
grid API to work with matrix field
hexgrid API to work with hexagon field
iaps Provides rich API above defold-iap module
input Eva input system in go system
invoices Eva invoices system. Delayed rewards, in-game mail, restricted time reward
isogrid API to work with isometric matrix field
labels Add labels to player for easier clusterization
lang Eva localization module
migrations Provides migrations on player's profile between game versions
offers Provides game offers system
pathfinder Pathfinding on any type of field (grid, isogrid, hexgrid)
promocode Apply tokens and bonuses by promocode. Promocodes can be time restricted
proto Protobuf module, load and provide API to work with
push Notifications module
quests Eva rich quests system
queue Utilitary queue functions to work with sequence stuff
random Utilitary random function
rate "Rate us" in-game logic
rating Rating utilitary functions (elo rating)
render Provides different render effects and other render relative stuff
resources Utilitary bundle resources function
saver Provides API for save/load parts of data
server Provide API to work with server
status Status effects like passive or temporary bonuses
skill Abilities with cast time, stacks and cooldown support
social Provide API to work with social networks (facebook, google play, app center)
sound Eva sound system
storage Simple eva key-value persistent storage
tiled Module to load map from tiled and provide API to it
timers Eva timers/delayed results module
token Eva general token module (any items in game)
trucks Eva trucks system. It is periodic events with timers (foodtrack, traders, etc)
vibrate Android/iOS vibrate module
utils System utilitary functions
wallet Wrap on token module, with player wallet token container
window Eva windows API

Learn Eva

License

MIT License, Insality

Issues and suggestions

If you have any issues, questions or suggestions please create an issue or contact me: insality@gmail.com

❤️ Support project ❤️

Please support me if you like this project! It will help me keep engaged to update Defold libraries and make more useful content!

Github-sponsors Ko-Fi BuyMeACoffee