Page 1 of 2

Minetest IDE - Develop mods and games in an efficient way

PostPosted: Thu Sep 25, 2014 15:36
by Zatherz

THIS TOPIC IS OUTDATED
THE APPLICATION IS BEING REWRITTEN FROM SCRATCH TO EASE ADDING OF FEATURES
PLEASE READ ZATHERZ'S ANNOUNCEMENTS IN POSTS BELOW


Minetest IDE is, as the name says, an Integrated Development Environment for Minetest. It will allow you to develop mods, games using a Lua text editor with syntax highlighting, featuring bundled Minetest version for testing and Node Box Editor for modeling nodes (if rubenwardy agrees ;)). It's written in Qt, thus runs on every major platform - Linux, OS X and Windows (and probably more).

It's currently under heavy development. Minetest IDE is licensed under the GNU GPLv3 license and the spaghetti-like unfinished code can be browsed or cloned here.

Currently implemented features are:
[*] Project Explorer
[*] Creating mods
[*] Text editor with Lua syntax highlighting
[*] Opening and saving files

Currently missing features:
[*] Bundled Minetest and NBE
[*] Creating new files inside the editor
[*] Creating games
[*] Maybe more

Screenshots:
Project explorer:
Image

New project dialog:
Image

Project added to list:
Image

Editor:
Image

Editor with another file open:
Image

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Thu Sep 25, 2014 16:08
by rubenwardy
Hot user interface. Wish NBE had a nice a interface as this :(

I recommend that you move all the source code files to src/ or source/ It is cleaner. (IMO)

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Thu Sep 25, 2014 16:29
by Zatherz
@up Thanks. I have moved all the source code to src now.
About NBE, can I embed it in MIDE? I know I can legally do it, but I don't want to be a douchebag ;) And about UI in NBE, there's a way to embed Irrlicht in Qt, so you could make the interface in Qt and the display panels in Irrlicht: click here. The topic is not relevant, only the source code is.

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Thu Sep 25, 2014 16:34
by rubenwardy
What is MIDE? Web searching reveals nothings :(

The Qt SDK is massive to download, so when you reach a stable version you should produce builds for Windows and Linux. And others.

Unfortunatety it would be a real pain to rewrite NBE into Qt. It might happen one day.

When moving to src/ I prefer to put qmake files in root, so they can do cd minetestide then qmake. But it is your choice.

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Thu Sep 25, 2014 17:02
by Zatherz
rubenwardy wrote:What is MIDE? Web searching reveals nothings :(

MIDE = Minetest IDE

rubenwardy wrote:The Qt SDK is massive to download, so when you reach a stable version you should produce builds for Windows and Linux. And others.

You mean precompiled binaries statically linked with Qt libs or just precompiled binaries?

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Thu Sep 25, 2014 17:06
by rubenwardy
I don't know. Just someway to reduce the load of downloading massive amounts of Qt stuff.

You may embed NBE in this project. Not sure how you would. That's your problem.

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Thu Sep 25, 2014 17:12
by Zatherz
By "embedding" I mean bundling NBE with this project and adding "Nodebox" to file types when pressing "New". When the user would open the file, it would recognize it as an NBE project and it would open in it NBE.

Edit: Changed description of how I'd like to "embed" it

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Thu Sep 25, 2014 18:35
by rubenwardy
Ah, I see.

I have some more recommendations.
The executable should end up in bin/ (it is the standard for Linux building).
Lower case executable filenames are better, as people are too lazy to type upper case names.
build the .o files into makefiles/ and .gitignore them (if not already)

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Thu Sep 25, 2014 20:27
by Evergreen
This looks great! I will certainly be watching this project.

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Fri Sep 26, 2014 05:06
by Zatherz
I've now made the git repository even cleaner. QMake generates files in specific directories: moc, obj and bin. Unfortunately it seems it's not possible to change where ui_*.h files are generated so I additionally created two scripts to clean the directories (moc, obj, Makefile and ui_*.h + bin if passed option "-b") - one for Unices (shell script) and the other for Windows (batchscript). Executable name is now lowercase too. Thanks for the suggestions rubenwardy!

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Fri Sep 26, 2014 18:35
by twoelk
looks promissing.

I like the term "project explorer" ;-)
I do hope it becomes more than just a file manager. Features I could imagine for a "explorer" could be displaying some statistic information about a loaded mod.
Such as a list of described nodes, a list of nodes mentioned in recipes and comparism of recipes. If it is a multifile mod maybe a list of which function, node or recipe is in which file. Some error checking might also be usefull, such as a list of all external nodes referenced within the mod, checking wether all nodes have recipes (need not be an errror), are all referenced images present as files and are there any orphaned images not mentioned in the mod.

The IDE could also aid in the construction of formspecs or any other displayed message. Maybe a tool that displays tables in a spreadsheet form might be of use as it might be easier to edit data rendered that way than in long one line lists.

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Fri Sep 26, 2014 18:45
by Krock
CMakeLists.txt please. You'll get a huge cookie from me afterwards.

EDIT: Ehm. Seems like cmake is not enough for this project.

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Fri Sep 26, 2014 19:22
by rubenwardy
Krock wrote:CMakeLists.txt please. You'll get a huge cookie from me afterwards.

EDIT: Ehm. Seems like cmake is not enough for this project.


He is using qmake at the moment.

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Fri Sep 26, 2014 19:49
by Zatherz
I am happy to anounce that I will soon rewrite the project (also in Qt of course). That's because I started this project with no Qt knowledge and the code grew into a so big spaghetti that I have problems fixing trivial bugs. Stay tuned.

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Fri Sep 26, 2014 22:13
by kaeza
Since you're planning on rewriting the project, have you considered using Python + PyQt?

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Fri Sep 26, 2014 22:40
by Zatherz
No. And I won't.

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Sat Sep 27, 2014 12:41
by Evergreen
kaeza wrote:Since you're planning on rewriting the project, have you considered using Python + PyQt?

/s/PyQt/PySide
PyQt is evil.

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Sat Sep 27, 2014 23:49
by jojoa1997
Can someone make a windows build. I cannot install qt-project but I want to try this.

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Sun Sep 28, 2014 01:26
by Zatherz
The new version will contain much artwork - button icons, logo, window icon etc.
After many time of messing around in Inkscape I finally made a logo that appeals to me:
Image

Every image is SVG, made by me and licensed under CC-BY-SA. Stay tuned for more input.

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Sun Sep 28, 2014 09:44
by rubenwardy
The colors are a bit off, to my eye. The green is too bogey and the brown is too red :P

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Sun Sep 28, 2014 16:31
by Zatherz
I intended them to be pastel-like.

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Sun Sep 28, 2014 16:54
by rubenwardy
These are pastel colors:
Image

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Sun Sep 28, 2014 17:16
by Zatherz
Oh... wow. Thanks. Time to recolor the logo then.
Edit: Well, not. Those colors do not fit with the logo, anyways I will change the colors to some other.
Edit 2: How about this?
Image
Edit 3: Old logo for comparison:
Image

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Sun Sep 28, 2014 17:47
by Zatherz
I am happy to anounce another upcoming feature of Minetest IDE.
MIDE will now run on two threads. The first will be the main (GUI) thread and the second will automatically update the Project list and any other file list, which means that no "Reload" buttons will be needed anymore and any change to the Projects directory (or other if required) outside of the application (which was handled before by the "Reload" button) and inside (which was handled by doing the same thing the "Reload" button did, except automatically) will be automatically updated. The process works by creating a MIDEUpdater class and a new QThread, pushing MIDEUpdater to the QThread, connecting signals with slots and starting the process. This is a basic feature that the first version of MIDE lacked because of my very limited knowledge.

List of currently upcoming features:
[*] Rewrite from scratch
[*] Removed Project Explorer
[*] All-in-one GUI (project viewer, file viewer, editor) (see above)
[*] Project (and file) lists are now handled manually using a TreeWidget (to allow easy refreshing, file categories etc.)
[*] Doublethreading: GUI and project list updater
[*] Automatic project list updating (see above)
[*] Artwork (button icons, logo)

Re: Minetest IDE - Develop mods and games in an efficient wa

PostPosted: Sun Sep 28, 2014 17:48
by rubenwardy
Thats better. I like that one.