Editor TextFields, and Frustrations

Hey folks! After yesterday's work getting familiar with the flixel-ui and firetongue libraries, it was finally time to start trying them out.

I started by adding a name, description, target interaction point, and checkbox field to each interaction edit UI. Adding the fields wasn't too hard, once I figured out some text formatting stuff. And I was even able to add localized strings for English/German (well, fake German) using firetongue. And for good measure, I even chose a public domain font that supports lots of language glyphs. (Hello Latin, Greek, and Cyrillic!)

AND, flixel-ui even allows me to expose all this to modders, in case they want to change UI, localized translations, or even use their own ttf fonts. Pretty cool!

Now the bad news. Multi-line text inputs seem to be borked, at least in the build I'm using. They seem to display on one line only, and the caret (cursor) won't leave that line. Worse, editing breaks down once the cursor is positioned beyond the displayed text. Basically, this makes text editing impossible for anything except short phrases.

That's a bummer. And as a "Hail Mary," I decided to see if I could bypass Flixel's UI to use the standard TextField provided in OpenFL. It worked, sort of, but had its own set of problems.

So I had a bit of a crisis of faith. (In fact, this'll be my second one, but the first I've mentioned.) Maybe Flixel just isn't ready for prime time yet. Which is a shame. I really want it to be.

I think if I were happy with limited UI stuff, this may not be a problem. Flixel can do quite a bit of standard "game-y" stuff. But for more advanced things like this, I seem to keep hitting walls. My head can only smash so many before I get sore :)

So I decided to put Flixel aside for a little bit, and fire up Unity. I've never used it, so I'm going in blind. I already have a slight bias against it because it's a closed-source system. Having used a closed-source platform before (Flash), and having had the rug pulled out from under me with no recourse (Adobe abandoning Linux, and later, Flash itself), I'm loathe to put my future in another company's hands.

Plus, I'm already familiar with the OpenFL/HaxeFlixel tools and workflow. I can make stuff happen quickly and easily, when the libraries are working.

On the other hand, I need the libraries to be working. I need to be able to move forward with a feature without waiting for someone to fix code. I'd like to be able to use breakpoints in my code without relying on Flash targets. All of these things seem far enough into the future for FLixel that I seriously considered Unity today.

This, of course, all depends on whether Unity is as stable, feature-complete, and easy to use as folks say. And the only way to figure that out is to try it. Fortunately, they have a free personal edition for folks to test, so I fired that up, and I'm going to see how their 2D roguelike tutorial feels.

It may end up having it's own issues. I'm already running into situations where the editor does something unintuitive that restores something I've deleted, or deletes something I've created. And the UI gives me flashbacks to Torque3D. Not a good start. But in most cases, it "just works," and there are enough folks out there plugging away at it that help isn't ever far.

Who knows? Maybe it'll work out. I'll have to pay an arm and a leg to upgrade to Pro, but if it lets me focus more on making games than working-around/fixing the tools to make games, I'll pay the price.

More to come on that. For now, though, I need a beer. Have a good weekend, all!


DodoCommando's picture

For unity, some of the 'missing changes' are usually because the game is running: any changes made in game time are reverted when you stop the game.

dcfedor's picture

That was exactly it, in fact. A few iterations later, I started to realize what was happening when things I thought I had changed were reverting when switching to and from preview mode.

Still wrapping my head around the "Unity way" of doing things :)

Dan Fedor - Founder, Blue Bottle Games