All Projects → DragoniteSpam → DDDEditorGMS2

DragoniteSpam / DDDEditorGMS2

Licence: MIT license
General purpose game editor made in Game Maker Studio 2. The basis for a lot of the tools I make.

Programming Languages

Yacc
648 projects
GLSL
2045 projects

Projects that are alternatives of or similar to DDDEditorGMS2

BBMOD
Advanced 3D in GameMaker
Stars: ✭ 31 (+40.91%)
Mutual labels:  gamemaker, gamemaker-language, gamemaker-studio-2
gms2-destructible-terrain
⛰️ Collidable, destructible terrain in GameMaker Studio 2
Stars: ✭ 24 (+9.09%)
Mutual labels:  gamemaker, gamemaker-studio-2
dotobj
.obj/.mtl loader, written in native GML, for GameMaker Studio 2.3
Stars: ✭ 27 (+22.73%)
Mutual labels:  gamemaker, gamemaker-studio-2
SNAP
Easy data format saving and loading for GameMaker Studio 2.3.2
Stars: ✭ 49 (+122.73%)
Mutual labels:  gamemaker, gamemaker-studio-2
Sublime-GameMaker-Studio-Language-Bundle
A sublime bundle for GameMaker Language (GML)
Stars: ✭ 32 (+45.45%)
Mutual labels:  gamemaker, gamemaker-language
iota
Miniature delta time and time dilation library for GameMaker Studio 2.3.2
Stars: ✭ 19 (-13.64%)
Mutual labels:  gamemaker, gamemaker-studio-2
sonic-gms2
A GameMaker Studio 2 template project used for constructing games based on the Sonic the Hedgehog series.
Stars: ✭ 18 (-18.18%)
Mutual labels:  gamemaker, gamemaker-studio-2
stitch
A Gamemaker Studio 2 Pipeline Development Kit. A CLI and Node.JS API for creating GMS2 pipelines. Includes cross-project imports, batch-creating/updating sprites and sounds, texture page management, and more.
Stars: ✭ 54 (+145.45%)
Mutual labels:  gamemaker, gamemaker-studio-2
Kawase
Kawase dual filter blur for GameMaker Studio 2
Stars: ✭ 23 (+4.55%)
Mutual labels:  gamemaker, gamemaker-studio-2
Gdevelop
🎮 GDevelop is an open-source, cross-platform game engine designed to be used by everyone.
Stars: ✭ 3,221 (+14540.91%)
Mutual labels:  gamemaker
GMTest
GameMaker Testing Automation Suite
Stars: ✭ 14 (-36.36%)
Mutual labels:  gamemaker
ultimatearena
A Hunger Games-like simulator game in which you throw people into an arena and watch them battle!
Stars: ✭ 45 (+104.55%)
Mutual labels:  gamemaker
handytools
A series of libraries to extend GameMaker 2022 LTS
Stars: ✭ 45 (+104.55%)
Mutual labels:  gamemaker
gm extensions
📖 GameMaker Library Extensions
Stars: ✭ 14 (-36.36%)
Mutual labels:  gamemaker
gamemaker-godot-dictionary
A dictionary for people moving from GM:S to Godot
Stars: ✭ 172 (+681.82%)
Mutual labels:  gamemaker
sk
💀 GameMaker skeleton animation
Stars: ✭ 19 (-13.64%)
Mutual labels:  gamemaker
OverEngine
Tiny little game engine
Stars: ✭ 175 (+695.45%)
Mutual labels:  game-editor
Rubber
Javascript GMS2 commandline compilation
Stars: ✭ 27 (+22.73%)
Mutual labels:  gamemaker
textboxy
Simple textboxes for Game Maker Studio 2
Stars: ✭ 58 (+163.64%)
Mutual labels:  gamemaker
event-horizon
Custom global event firing/subscribing in GameMaker: Studio 2
Stars: ✭ 16 (-27.27%)
Mutual labels:  gamemaker

DDDEditorGMS2

Made with GameMaker Studio 2

I have it in my head that making a general-purpose game editor will save me time in the long run, as opposed to falling into the trap of this, which it almost certainly already has. But on the other hand, I've had fun working on this, so maybe that's okay.

(With that said, it's bee nice having this base of code to use as a starting point to spin other tools off of.)

The design of this editor borrows a lot from RPG Maker, although there are a number of places where it obviously deviates - all events are functionally Common Events - and some stuff that's totally new, such as 3D meshes.

By the way I'm chronically behind on updating this readme, I hope you understand.

Media

The main game editor: you can slap down entities of different types (characters, tiles, models, some other things). You can modify their properties, give them behaviors and some other things. (Click to expand the images.)

There's also a 2D mode if you're into that kind of thing, although the underling code is almost exactly the same.

Game data types can be created. Some generic stuff like "sound effects and music" is built-in, but anything that's specific to your particular game has to be defined first.

Once the custom data types are defined, you can assign values to them.

And then there's the event editor. It's essentially just a nodal version of the RPG Maker event editor. It took a lot of work to make but it works pretty well, and I'm happy with how it came out.

There are some miscellaneous property editor form UI things.

A long time ago I made a 3D terrain editor for Game Maker. Several of them, in fact. It's not directly related to the rest of DDD but it uses a lot of the same code, the renderer, etc so when someone asked me to re-make it recently I decided to include it.

Upcoming stuff

  • Overhauling the save structure, giving more control over how (and what) gets saved and enabling data files to be swapped around more easily
  • Autotiles (for both 2D tiles and 3D meshes)
  • More map stuff, especially verticality
  • Certain data structures inside the editor are garbage so i'm going to spend a bit of time refactoring
  • Off-grid map editing (both in 2D and in 3D) - although the main grid-based functionality will obviously take priority

Stuff I'm considering adding

Obviously I want to fully implement and / or expand a lot of the things that are already included, but there are also a few completely new things that I want to get to eventually that aren't part of the program yet.

  • UI blueprints: they won't be fully scriptable or anything, but they should make laying out menus and whatnot in-game easier than they otherwise would be
  • Proper documentation (beyond the tooltips)

How development for this works

For the time being, I'm compiling updates once a week or so, or perhaps more often if I find a bug that breaks things entirely. If I don't have much to add at the end of a given week I might skip one, or if I finish off something major I might release it as soon as it's done. The versioning system I'll be using goes year.quarter.release.build, so 2019.4.3.22 would be the third release in the fourth quarter of 2019, and the twenty-second time overall I created an executable.

Unless something seriously bad happens and I'm not able to make the Yoyo Compiler work, there will be two versions: one with the regular Game Maker interpreter ("default"), and one made from the Yoyo Compiler ("YYC"). The interpreted version will be somewhat slower but should be more stable, and the YYC version will be faster but potentially buggier.

I've learned the hard way that having large amounts of bad code inevitably makes it really hard to develop a project, which means I refactor things fairly frequently. As a result, things that used to work break from time to time. If you're using this, that means you want to save your work and make backups frequently, and as a general rule verison control is never a bad thing.

In addition, the data format evolves over time. For the most part the editor is backwards compatible and will be quite happy to read old version of the data files, but to fend off the aforementioned code rot I kill off old versions periodically (now that I'm publishing releases, I'll probably be doing that once a quarter or so). I'll say when I put out an update that kills compatibility, and if you try to load an old data file the editor will tell you and ask you to save it through a more recent version that it will accept.

Usage

The game I'm making in tandem with this editor (and using this editor) is currently in a private repository so you can't look at that to see how you use the data files, although the serialize_load_* scripts should give you a good idea of how the data's stored. Except for game maps and a few places where a number of related bools are smashed together into an int32 it's mostly just a bunch of data types stored in sequence.

Contributors

Original project

The original GMS1 repository can be found here, but I won't be updating it in the future because GMS2 is really good and I don't plan on going back.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].