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 » Thu Sep 25, 2014 15:36


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: 6021
Joined: Tue Jun 12, 2012 18:11
Location: United Kingdom
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

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

by rubenwardy » Thu Sep 25, 2014 16:08

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 » Thu Sep 25, 2014 16:29

@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: 6021
Joined: Tue Jun 12, 2012 18:11
Location: United Kingdom
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

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

by rubenwardy » Thu Sep 25, 2014 16:34

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 » Thu Sep 25, 2014 17:02

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: 6021
Joined: Tue Jun 12, 2012 18:11
Location: United Kingdom
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

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

by rubenwardy » Thu Sep 25, 2014 17:06

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 » Thu Sep 25, 2014 17:12

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: 6021
Joined: Tue Jun 12, 2012 18:11
Location: United Kingdom
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

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

by rubenwardy » Thu Sep 25, 2014 18:35

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
Location: A forest in the midwest
GitHub: 4Evergreen4
IRC: EvergreenTree
In-game: Evergreen

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

by Evergreen » Thu Sep 25, 2014 20:27

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 » Fri Sep 26, 2014 05:06

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!
 

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

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

by twoelk » Fri Sep 26, 2014 18:35

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: 4481
Joined: Thu Oct 03, 2013 07:48
Location: Switzerland
GitHub: SmallJoker

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

by Krock » Fri Sep 26, 2014 18:45

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: 6021
Joined: Tue Jun 12, 2012 18:11
Location: United Kingdom
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

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

by rubenwardy » Fri Sep 26, 2014 19:22

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 » Fri Sep 26, 2014 19:49

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
Location: Montevideo, Uruguay
GitHub: kaeza
IRC: kaeza diemartin blaaaaargh
In-game: kaeza

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

by kaeza » Fri Sep 26, 2014 22:13

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
 

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

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

by Evergreen » Sat Sep 27, 2014 12:41

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 » Sat Sep 27, 2014 23:49

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 » Sun Sep 28, 2014 01:26

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: 6021
Joined: Tue Jun 12, 2012 18:11
Location: United Kingdom
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

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

by rubenwardy » Sun Sep 28, 2014 09:44

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
 

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

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 » Sun Sep 28, 2014 17:16

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 » Sun Sep 28, 2014 17:47

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: 6021
Joined: Tue Jun 12, 2012 18:11
Location: United Kingdom
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
 

Next

Return to Minetest-related projects



Who is online

Users browsing this forum: No registered users and 1 guest