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
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
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
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
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
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
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
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
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: 2131
Joined: Sun Jan 06, 2013 01:22
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.
"Help! I searched for a mod but I couldn't find it!"
http://krock-works.16mb.com/MTstuff/modSearch.php
 

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: 1092
Joined: Fri Apr 19, 2013 16:19

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
Member
 
Posts: 3598
Joined: Thu Oct 03, 2013 07:48
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.
Newest Win32 builds - Find a mod - All my mods
ALL YOUR DONATION ARE BELONG TO PARAMAT (Please support him and Minetest)
New DuckDuckGo !bang: !mtmod <keyword here>
 

User avatar
rubenwardy
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
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
Member
 
Posts: 2141
Joined: Thu Oct 18, 2012 05:00
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 | BTC: 1DFZAa5VtNG7Levux4oP6BuUzr1e83pJK2
 

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 22:40

No. And I won't.
 

User avatar
Evergreen
Member
 
Posts: 2131
Joined: Sun Jan 06, 2013 01:22
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.
"Help! I searched for a mod but I couldn't find it!"
http://krock-works.16mb.com/MTstuff/modSearch.php
 

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

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
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
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

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

by Zatherz » Sun Sep 28, 2014 16:31

I intended them to be pastel-like.
 

User avatar
rubenwardy
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

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

by rubenwardy » Sun Sep 28, 2014 16:54

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 » 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
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

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

by rubenwardy » Sun Sep 28, 2014 17:48

Thats better. I like that one.
 

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 » Tue Sep 30, 2014 11:33

Update #1 on the upcoming Minetest IDE.

Changes:
[*] Remove update thread
[*] Running on single thread again (see above)

Notes:
[*] Update thread was removed because it was useless, QFileSystemWatcher already runs in background.
[*] I will now post regular updates in the form of this post to give you the information about the development of the upcoming version of MIDE.
 

User avatar
aldobr
Member
 
Posts: 316
Joined: Sun Nov 25, 2012 05:46

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

by aldobr » Tue Sep 30, 2014 15:55

Since you are planning to rewrite the project, have you considered Lazarus ?

It can compille (true binary) the exact same code (write once, compile everywhere) for linux, windows, mac, amiga, gameboy advanced, netware, AVR, OS/2 etc. With some changes to the code it can compile for JVM and Android. Its a kind of Delphi on steroids.
 

User avatar
rubenwardy
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

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

by rubenwardy » Tue Sep 30, 2014 17:33

Pascal is a horrible language.
 

twoelk
Member
 
Posts: 1092
Joined: Fri Apr 19, 2013 16:19

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

by twoelk » Tue Sep 30, 2014 18:45

rubenwardy wrote:Pascal is a horrible language.

:-(
Pascal was my first "interface" to doing something "usefull" on a computer.
Together with a friend wrote a Ladybug/Pacman clone
writeln writeln writeln
learned a lot
was playable but never really worked though
never touched Pascal again
might still have the code on some meters of needle printed endless paper somewhere
 

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 » Tue Sep 30, 2014 20:37

aldobr wrote:Since you are planning to rewrite the project, have you considered Lazarus ?

It can compille (true binary) the exact same code (write once, compile everywhere) for linux, windows, mac, amiga, gameboy advanced, netware, AVR, OS/2 etc. With some changes to the code it can compile for JVM and Android. Its a kind of Delphi on steroids.



Oh God... the memories...
Pascal was my first actual text programming language. Before that I wrote Batch scripts (used Windows at the time). I started learning Pascal after searching for easy programming languages. The ONLY reason I started learning a programming language was to...
Implement proper Batch text coloring!
If Batch would not suck so much with the fact that you could not color specific text, I don't think I'd program today. I learned little from an old online tutorial and already tried to make a program that could print colored text. Guess how it accepted the input?
From a text file!
I didn't even know about such things as commandline parameters. I had a simple text file with a color code in every line and when the program was executed you could print colored text in Batch. I was about 7/8 years old back then. Those memories, ahh... searching for things in the internet, implementing hacky ways just to print colored text in Batch text games. Never really did anything in Pascal again, as some time later I had my shock when I found out Java is not a magic platform that every computer needs just because but it's a programming language and I was also playing with Scratch. Pascal brings me only good memories, but if I had to write anything in it again, I'd rather make applications for iOS. How excited I was when my program worked. I kept telling about how it works to my mom, knowing she would not understand anyways. It was my first actual program, first computer creation. I now know how a small thing can completely change your life. How could I know when I was 7 years old that my hobby would be programming? That's a little story of my own unrelated to the topic here, which your post made me write. Thanks for making me recall how I started my computer adventure.
 

Next

Return to Minetest-Related

Who is online

Users browsing this forum: No registered users and 5 guests

cron