Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

GridlessDB

Create databases for games. Without spreadsheets. · By radmatt

Issues and feature suggestions

A topic by TurboHz created Feb 11, 2022 Views: 338 Replies: 3
Viewing posts 1 to 4
(9 edits)

Hi, I’ve recently started using the addon (with Godot export), and I noticed some things that might be improved.

I’m using Godot 3.x latest

ISSUES

The exported resources (.tres) seem to have an incorrect load_steps.

Example (corrected by Godot to be load_steps=3):

[gd_resource type="Resource" load_steps=2 format=2]

[ext_resource path="res://gridlessDB_data/spifu_state/classes/Roaming.gd" type="Script" id=1]
[ext_resource path="res://gridlessDB_data/constants/objects/Normal.tres" type="Resource" id=2]

[resource]
script = ExtResource( 1 )
animation = "jump"
speed = ExtResource( 2 )
disturbable = 1
incapacitated = 0
lurking = 1

IMPROVEMENTS

No deal breakers, but will be things neater, will make feel nicer:

  1. Allow to export without “class_name”

    It’s very inconvenient to have the class name space “polluted” unnecessarily (since Godot has no namespaces).

    I use this very often, for type safety (and autocomplete) without registering a class:

    const Weapon = preload("res://gridlessDB_data/weapons/classes/Weapon.gd")
    
  2. Allow adding comments/description to fields schema

    Sometimes you need an explanation in addition to a descriptive name (could have a “i” info icon or something to display the comments as a tooltip)

  3. VCS friendly database format

    As it is, with binary format, its very difficult to have different people to work on the same database. With a text format, we could merge changes. It could be a setting for the DB, or perhaps just allow export/import from/to json or other format (though less convenient). I realize that image fields would cause issues (perhaps they could be serialized to some text format, if they are actually in the data).

(1 edit)

Hijacking my own thread, I noticed this issue:

Entries in the same DB, with the same NAME, but different CATEGORY, overwrite each other.

This is definitely a bug, because different categories (probably) have some different fields.

Found another issue:

Arrays of Resources are exported as:

export (Array, Resource) var attack =["preload("res://gridlessDB_data/constants/objects/Player.tres")"]

Notice the quoted preload

(5 edits)

Found yet another bug:

When exporting to Godot, I had to change the export path, because it’s different in the different machines we use.

The export will report success even when the path does not exists, and no files are generated.

Furthermore, if you update the export path without restarting, the export will work (as expected?), but will write absolute paths in the Resource files, not relatives.

Restarting will fix the issue, and Resources will be exported properly, with relative paths.