Hedgewars Theme Editor 3

8 replies [Last post]
KoBeWi
KoBeWi's picture
User offline. Last seen 8 hours 20 min ago. Offline
Joined: 2010-12-25
Posts: 508

Hi, I'm KoBeWi and my hobby is creating theme editors for Hedgewars. This is the third one (4th if counting great refactoring in HWTE2) and 99.9% sure it will be the final one.

Why did this happen? I created previous editor to be more usable than the first one. It was packed with a load of features that really made it powerful. However, it had one big problem. It was written in Java. I chose Java, because I knew Java and it's cross-platform. But well, I hate Java XD Programming the editor was terrible, refactoring was terrible and maintenance would be terrible too probably. It was there, it worked, but luckily I didn't need to make any changes in the past year or so.

Then I discovered Godot. Ever since I started programming, Ruby have always been my favorite language ever <3. My first theme editor was written in Ruby. But while it is the best language ever <3, it has a flaw of having poor support for cross-platform and actually running in general anywhere outside your computer. Godot doesn't have this flaw + it's really friendly and has a rare trait of being not hated by me. I've been using it almost exclusively for making games for the last year (yes, I'm making games and I was doing it in Ruby before), then I did the LUA translation tool for Hedgewars. And since Godot proved itself even in GUI application, I decided I'd give it a try in making yet another theme editor. (maybe YATE should be the actual name? XD)

Anyways, after this long and useless introduction, here's a list of very important changes brought by this new editor:
-it will work natively on any platform, no need to install anything
-it's made with open-source in mind, with the MIT masterrace license
-supports Gettext for translation (Wuzzy right now)
-I'm going to edit the GUI theme to look like Hedgewars frontend

It also has a music player for testing music (something that was really hard to do in Java) and possibly will include a theme preview, which will generate test map to see the theme without running game (I might play with implementing some simple engine stuff, like hedgehogs walking and shooting, just for fun).

I'm not doing a rushed release now. Rather, it's a no-release (XD), because the editor isn't even finished. I just got it to usable state, enough to load theme and save it without breaking, but you can't edit anything yet and many features are unimplemented.

Here you can find a repo with code, where you can follow my progress: https://github.com/KoBeWi/Hedgewars-Theme-Editor-3

There's one test translation included, but it doesn't even contain all strings. I just made it to see how Gettext will work and well, Godot supports it natively (actually it's used for official engine translation).

To run the source, you'll need Godot 3.1, which you can get from the official site: https://godotengine.org/download

Also, a screenshot:

mikade
mikade's picture
User offline. Last seen 12 weeks 12 hours ago. Offline
Joined: 2010-10-22
Posts: 354

Keep up the good work, KoBeWi. Smile
Looking forward to seeing further developments.

Out of interest, what kind of games are you working on? Do you have any screenies available?

mikade
Hedgewars Developer

KoBeWi
KoBeWi's picture
User offline. Last seen 8 hours 20 min ago. Offline
Joined: 2010-12-25
Posts: 508

mikade allegedly wrote:
Keep up the good work, KoBeWi.
Looking forward to seeing further developments.
Thanks :3

mikade allegedly wrote:
Out of interest, what kind of games are you working on? Do you have any screenies available?
I recently made a topic about my old projects: https://www.hedgewars.org/node/6963

As for new games, they are in early stage and no screenshots are available. But one of them is "remake" of Mariovania mentioned in above topic.

EDIT:
Back to HWTE3, seems like Godot doesn't support extracting translateable strings from project (or at least no one I asked was able to tell me how to achieve that), so I created a Ruby (<3) script, which generates .pot files and seems like it's working. So any potential translators will be able to easily translate the editor once it's finished.

UltiMaxKom
UltiMaxKom's picture
User offline. Last seen 1 year 6 weeks ago. Offline
Joined: 2016-06-26
Posts: 363

@KoBeWi
Me, before: Yay! New HWTE3 :OOOOOOOO SUPA-AWESOME! HWTE3 IS LOVE, KOBEWI IS LIFE! *All CAP mode*
Me, after: Damn, I've just read all the text in the OP, then found out that it's not released yet xD *killed by Ligma*
Also me: Let's reply to KoBeWi about this so he can finish the editor faster, in non-rush-style! *Kawaii, anime-style chuckle*
Me in C-137 dimension: How about PM? Email spam? Or multi-post so he can boost the thing? *evil laugh*
Everyone but me: stfu and just wait for it! Can't you have some patience?! *dank face activated*
Other KoBeWi in the parallel universe: Already finished HTWE3... *insert Lenny Face here*

Me, now: *watching PewDiePie killing memes, while laughing autistically*



Anyway, good luck KoBeWi!
I hope you can finish it perfectly! Like you always do ^^

( 'ಠ_ಠ)▄︻̷̿┻̿═━一 ̿̿ ̿̿ ̿̿ ̿'̿'\̵͇̿̿\з= ( ▀ ͜͞ʖ▀) =ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿̿ ̿̿ ᕙ(⇀‸↼‶ )ᕗ

KoBeWi
KoBeWi's picture
User offline. Last seen 8 hours 20 min ago. Offline
Joined: 2010-12-25
Posts: 508

So this just happened:

KoBeWi
KoBeWi's picture
User offline. Last seen 8 hours 20 min ago. Offline
Joined: 2010-12-25
Posts: 508

Release time, I guess.

The editor is usable. I mean, you can already change everything, it loads correctly, saves correctly, so you can make themes already. You can grab the binaries here: https://github.com/KoBeWi/Hedgewars-Theme-Editor-3/releases/tag/v0.7beta
(I can add a Mac binary if requested)

List of new stuff compared to previous editor:
-.po translation support. You can use .rb script from repo to generate .pot file (I'll hand out one here on "string freeze")
-theme version support (automatically reads and appends theme versions, see above image)
-auto-save now fires on value change instead of periodically
-music player (for previewing theme music, but also for listening music while making themes)
-indicator if theme has unsaved changes (* in window's title), in case you disable auto-save
-controls for theme variables get disabled when variable is disabled
-more tooltips
-setting for maximizing window on start
-other things I forgot

List of still missing things, most of which are planned for 1.0 or later:
-packing themes into hwp (right now it only creates folders)
-packing custom music with theme
-file watchers to refresh files (images etc.) on change
-warnings if some theme file/setting would cause a crash (would be cool if crashing the game was impossible actually...)
-old theme format support (it won't happen, but you can import old themes into the old editor)
-recreating Hedgewars frontend theme for the editor
-other things I marked as TODO in the code

List of implemented Hedgewars features, not counting ones from previous editor:
-"hidden" flag for themes
-Snow.png
-fallback music

List of yet unimplemented features:
-anchors
-overlays
-rq stuff (is it even needed?)
-sound customization

So that's it and probably even more. I might take another break from development now and in the meantime wait for unevitable bug reports. Since the project is on GitHub, if you have an account, I'd prefer if you filled an issue there. PRs are also welcome probably. You will need Godot 3.1 if you want to help.

Have fun with the editor or something >_>

Wuzzy
Wuzzy's picture
User offline. Last seen 9 hours 44 min ago. Offline
Joined: 2012-06-20
Posts: 1113

If only I knew how to build this!

Hi, I am a Hedgewars developer. Smile I accept personal donations in bitcoin. Heart 17fsUywHxeMHKG41UFfu34F1rAxZcrVoqH

KoBeWi
KoBeWi's picture
User offline. Last seen 8 hours 20 min ago. Offline
Joined: 2010-12-25
Posts: 508

I probably forgot to include a README.

Anyways, you don't need to build anything. Just download the source and run Godot inside the directory (with -e flag if you want to edit). Or just use the binary if you simply want to use the editor.

KoBeWi
KoBeWi's picture
User offline. Last seen 8 hours 20 min ago. Offline
Joined: 2010-12-25
Posts: 508


(obviously unfinished)

Copyright © 2004-2017 Hedgewars Project. All rights reserved. [ contact ]