Minetest IDE - Develop mods and games in an efficient way

Zatherz
Member
Posts: 32
Joined: Mon Sep 22, 2014 23:29
GitHub: Zatherz
IRC: zatherz
In-game: Zatherz

Minetest IDE - Develop mods and games in an efficient way

by Zatherz » Post


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
Last edited by Zatherz on Sun Sep 28, 2014 17:49, edited 2 times in total.

User avatar
rubenwardy
Moderator
Posts: 6289
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: United Kingdom
Contact:

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

by rubenwardy » Post

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)

Zatherz
Member
Posts: 32
Joined: Mon Sep 22, 2014 23:29
GitHub: Zatherz
IRC: zatherz
In-game: Zatherz

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

by Zatherz » Post

@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.

User avatar
rubenwardy
Moderator
Posts: 6289
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: United Kingdom
Contact:

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

by rubenwardy » Post

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.

Zatherz
Member
Posts: 32
Joined: Mon Sep 22, 2014 23:29
GitHub: Zatherz
IRC: zatherz
In-game: Zatherz

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

by Zatherz » Post

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?

User avatar
rubenwardy
Moderator
Posts: 6289
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: United Kingdom
Contact:

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

by rubenwardy » Post

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.

Zatherz
Member
Posts: 32
Joined: Mon Sep 22, 2014 23:29
GitHub: Zatherz
IRC: zatherz
In-game: Zatherz

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

by Zatherz » Post

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

User avatar
rubenwardy
Moderator
Posts: 6289
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: United Kingdom
Contact:

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

by rubenwardy » Post

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)

User avatar
Evergreen
Member
Posts: 2135
Joined: Sun Jan 06, 2013 01:22
GitHub: 4Evergreen4
IRC: EvergreenTree
In-game: Evergreen
Location: A forest in the midwest
Contact:

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

by Evergreen » Post

This looks great! I will certainly be watching this project.
Back from the dead!

Zatherz
Member
Posts: 32
Joined: Mon Sep 22, 2014 23:29
GitHub: Zatherz
IRC: zatherz
In-game: Zatherz

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

by Zatherz » Post

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!

User avatar
twoelk
Member
Posts: 1398
Joined: Fri Apr 19, 2013 16:19
GitHub: twoelk
IRC: twoelk
In-game: twoelk
Location: northern Germany

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

by twoelk » Post

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.

User avatar
Krock
Developer
Posts: 4571
Joined: Thu Oct 03, 2013 07:48
GitHub: SmallJoker
Location: Switzerland
Contact:

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

by Krock » Post

CMakeLists.txt please. You'll get a huge cookie from me afterwards.

EDIT: Ehm. Seems like cmake is not enough for this project.
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>

User avatar
rubenwardy
Moderator
Posts: 6289
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: United Kingdom
Contact:

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

by rubenwardy » Post

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.

Zatherz
Member
Posts: 32
Joined: Mon Sep 22, 2014 23:29
GitHub: Zatherz
IRC: zatherz
In-game: Zatherz

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

by Zatherz » Post

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.

User avatar
kaeza
Moderator
Posts: 2162
Joined: Thu Oct 18, 2012 05:00
GitHub: kaeza
IRC: kaeza diemartin blaaaaargh
In-game: kaeza
Location: Montevideo, Uruguay
Contact:

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

by kaeza » Post

Since you're planning on rewriting the project, have you considered using Python + PyQt?
Your signature is not the place for a blog post. Please keep it as concise as possible. Thank you!

Check out my stuff! | Donations greatly appreciated! PayPal

Zatherz
Member
Posts: 32
Joined: Mon Sep 22, 2014 23:29
GitHub: Zatherz
IRC: zatherz
In-game: Zatherz

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

by Zatherz » Post

No. And I won't.

User avatar
Evergreen
Member
Posts: 2135
Joined: Sun Jan 06, 2013 01:22
GitHub: 4Evergreen4
IRC: EvergreenTree
In-game: Evergreen
Location: A forest in the midwest
Contact:

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

by Evergreen » Post

kaeza wrote:Since you're planning on rewriting the project, have you considered using Python + PyQt?
/s/PyQt/PySide
PyQt is evil.
Back from the dead!

User avatar
jojoa1997
Member
Posts: 2890
Joined: Thu Dec 13, 2012 05:11
Location: Earth

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

by jojoa1997 » Post

Can someone make a windows build. I cannot install qt-project but I want to try this.
Coding;
1X coding
3X debugging
12X tweaking to be just right

Zatherz
Member
Posts: 32
Joined: Mon Sep 22, 2014 23:29
GitHub: Zatherz
IRC: zatherz
In-game: Zatherz

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

by Zatherz » Post

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.

User avatar
rubenwardy
Moderator
Posts: 6289
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: United Kingdom
Contact:

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

by rubenwardy » Post

The colors are a bit off, to my eye. The green is too bogey and the brown is too red :P

Zatherz
Member
Posts: 32
Joined: Mon Sep 22, 2014 23:29
GitHub: Zatherz
IRC: zatherz
In-game: Zatherz

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

by Zatherz » Post

I intended them to be pastel-like.

User avatar
rubenwardy
Moderator
Posts: 6289
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: United Kingdom
Contact:

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

by rubenwardy » Post

These are pastel colors:
Image

Zatherz
Member
Posts: 32
Joined: Mon Sep 22, 2014 23:29
GitHub: Zatherz
IRC: zatherz
In-game: Zatherz

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

by Zatherz » Post

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

Zatherz
Member
Posts: 32
Joined: Mon Sep 22, 2014 23:29
GitHub: Zatherz
IRC: zatherz
In-game: Zatherz

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

by Zatherz » Post

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)

User avatar
rubenwardy
Moderator
Posts: 6289
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: United Kingdom
Contact:

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

by rubenwardy » Post

Thats better. I like that one.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest