Page 1 of 2

[Update 3] CloveX - powerfull game editor and engine for LÖVE

Posted: Thu Aug 04, 2016 8:25 pm
by AnRu
Hi
I would like to tell you about starting of the development first full featured Unity-like editor for LÖVE.
I think making some things automatic with visual editors and tools will produce performance and reduce time of development

There are screenshot with what I done yet:

Image

This is the first vision of entity editor, you can drag camera by mouse, toggle and resize grid and toggle ruler coodrinates
There are also two nested images with both coordinates (50;50) but second is nested in first

Main goals (will be updated):
- Project managment
- Entity editor
- Properties inspector
- One-click building
- Entity trees and transformations
- Lighweight Love2d-based Engine and Editor API
- ...

Update 3: Huge engine update

For now we are not working on editor but with engine.
For example, now you don't need to use 'self' in script, all functions are automaticly sandboxes:

Code: Select all

property("rotationAmount", 620) -- per sec

function load()
	transform = entity:getComponent("Transform")
end

function update(dt)
	transform.rotation = transform.rotation + rotationAmount * dt
end
As you can see there are also 'property' function. This is for future editor integration.
Another update is first built-in comonents: Transform, Sprite, Shape.

Update 2: Script sandboxing

CloveX uses component system. Every script (even default like transformation) you can modify
Script reference is very simple:

Code: Select all

-- Globals are listed in inspector's window
someValue1 = 123
someValue2 = "Hey!"

-- Callbascks, that engine runs
function load(self)

end

function update(self, dt)

end
-- ...
This is very basicly script. For now, entites can have multiply different propeties, that defined in '.entity' file
For example, on start entities can have 50 50 position, instead of 0 0 that defined below.
part of 'entity' file (JSON):

Code: Select all

...
"properties": 
[
	{"key": "position", "value": {"x": 50, "y": 50}},
	{"key": "rotation", "value": 90},
	{"key": "scale", "value": {"x": 50, "y": 50}}
]
...
Update: X/Y/X+Y tools for position change

Image

I also thinked about implementing code editor and figured out that is not necessary - 90% of lovers are using another editors for Lua and this is good :)
Because of this i'll implement support for the most usable code editors and also leave place for integrating your own
As a default editor I chose Atom

I need your help to figure what features you prefer to see inside CloveX first
Leave your proposals here or in the Issues section of the repo


Great thanks to developers of Editor Framework for Electron

Leave your opinion about project :)

Repo: Bitbucket

Re: [InDev] CloveX - powerfull game editor/engine for LÖVE

Posted: Fri Aug 05, 2016 3:20 am
by Ulydev
Interesting! I'm looking forward to experimenting with this :awesome:

Re: [InDev] CloveX - powerfull game editor/engine for LÖVE

Posted: Fri Aug 05, 2016 5:40 am
by bobbyjones
I found a small tiny insignificant bug. It's not made in love :'(

Re: [InDev] CloveX - powerfull game editor/engine for LÖVE

Posted: Fri Aug 05, 2016 7:28 am
by AnRu
bobbyjones wrote:I found a small tiny insignificant bug. It's not made in love :'(
Love2d not very suitable to use it for creating editors. editor-framework and electron have some great advantages:
- as a love2d, electron apps can be run on Windows, MacOS and Linux
- implemented package system
- auto-updating from-the-box
- nice UI and future theming
- great docking system with nestin panels

Re: [InDev] CloveX - powerfull game editor/engine for LÖVE

Posted: Fri Aug 05, 2016 3:21 pm
by bobbyjones
love is perfectly suitable for making editors. It is just a bit more work but ultimately it would pay off imo at least.

Re: [InDev] CloveX - powerfull game editor/engine for LÖVE

Posted: Fri Aug 05, 2016 4:09 pm
by AnRu
bobbyjones wrote:love is perfectly suitable for making editors. It is just a bit more work but ultimately it would pay off imo at least.
Using love for editors will reduce speed of development. Too many things must be implemented :)

Re: [Update 1] CloveX - powerfull game editor/engine for LÖVE

Posted: Fri Aug 05, 2016 11:20 pm
by bobbyjones
But things implemented can ultimately be used for other games and projects as libraries.

Re: [Update 1] CloveX - powerfull game editor/engine for LÖVE

Posted: Sat Aug 06, 2016 5:58 am
by AnRu
bobbyjones wrote:But things implemented can ultimately be used for other games and projects as libraries.
Only editor will be done with editor-framework, other things like engine API's of course will be as Love2d lua files :)

Re: [Update 1] CloveX - powerfull game editor/engine for LÖVE

Posted: Sat Aug 06, 2016 8:23 am
by AntonioModer
Good topic.
But when I found out that Editor written in Javascript, then upset.
This is a bad idea make non-native editor.
In the future, hi will be limited (due to the difference of languages, frameworks, ...).
By the way, I also do a native simple game editor (game engine) for my game:
TDVGE.png
TDVGE.png (684.78 KiB) Viewed 16572 times
About GUI.
I found powerful UI library:

Image

Unfinished UI library, can run with or without Love (needs Love 0.9.2 or 0.10.0, or LuaJIT + SDL + SDL_ttf + SDL_image)
https://github.com/airstruck/luigi
(found there: viewtopic.php?f=3&t=2198&p=191892#p191892)

Re: [Update 1] CloveX - powerfull game editor/engine for LÖVE

Posted: Sat Aug 06, 2016 6:45 pm
by ObeyJay
Hey AnRu, your initiative is most welcome.

Löve is a great technology which in my opinion has been painfully lagging behind competing frameworks when it comes to tools for ease/speed of development.

Regarding your choice for Electron, please don't listen to the nay-sayers... of course a Löve based editor would offer powerful and unique features.. but Electron is awesome and in the end it's all about of what you are able to accomplish and I'm sure most people would agree that a well-rounded non-native editor could be more useful than a plethora of half-baked native ones.

So keep on it and prove the skeptics wrong, the ball is on your court ;-)