Category Archives: Epic Battle Fantasy 5

Epic Battle Fantasy 5 is half done!

I think EBF5 is probably around half finished now!

Most of the battle system and animations are done. I’ve still got the bosses and summons to program, and a bit of debugging to do there. Equipment, skills, and most items are done.

What’s left is mostly out-of-battle stuff now: Map art, maps, NPCs, dialogue, battle backgrounds, lots of menus, translations, setting up battles and treasures, and all that. And testing and balancing, of course.

I would have liked to be at this point around 2 months ago, but I guess I’m not very far behind considering all of the stuff that’s slowed me down. I’ve been at it for 14 months, and I’d like to get it done in 24. We’ll see how that goes.

Over 100 foes programmed!

I’ve programmed over 100 foes now, but I’ve left the bosses and big enemies for last, so the pace is slowing down a bit now. Here’s some fun stuff I’ve done recently:

Monoliths now start using some new attacks if you block their nuclear strategy (either with syphon or with resistant armor).  Only on hard or epic mode though, I don’t want to torture normal players.

The new man-eating plant enemies are pretty fun, because they’ve got an interesting combination of elements. The lava plant can use fire and water attacks, and the seaweed plant uses water and electric!

EBF5: Foe AI

Hey guys, I’m programming the foes and I’m working on some interesting behaviour for some of them. I don’t want them to be smart, just a bit smarter than in previous games, so that more strategies can be opened up. Here’s some behaviours I’ve got so far:

• Smarter-looking foes can target players who are weak against a given element. For example, Frost Wraiths won’t bother using ice magic on players who are resistant to it, which means leaving one player unprotected is very dangerous against them.

• Beast-type foes can be aggroed and will attack whoever hit them last. Normally this wouldn’t be a huge problem, unless you use an attack that hits all enemies and has them all angry at one player.

• Similar to the above, some boss helper foes could target whoever is dealing damage to the boss.

• Sniper-type foes (like Laser Turrets!)  will try to finish off any player that’s at low health, but otherwise act normally.

Most foes will still be pretty dumb, you’ll just have to be careful with your strategy against some groups. And I’ll make sure enemy behaviour is pointed out in the dialogue and bestiary info, so it doesn’t completely catch you off-guard either.

Pink Crosses!

Found out today that using the red cross in video games violates the Geneva Convention and that they’re going after some devs who do.  So I updated my red crosses to pink crosses!

This is such a ridiculous story though. The law is beyond common-sense crosses

EBF5: Equipment Code

Hey guys, I’m entering all of the equipment data, so I thought I’d share a bit of the process. Here’s a list of all of Natalie’s weapons; as you can see it’s over 600 lines of code!


Let’s open one of those equipment sections up, here’s one of Lance’s guns. It’s quite verbose but I think it’s reasonably readable this way. Inputting all of this data is exhausting.

I think I’m coming up with more interesting effects for equips now, and even if they’re not balanced, they will hopefully be fun to try out just for the different effects. Also I’m back to the EBF3 style of upgrades: you don’t know what specials equipment will have until you upgrade it, so it’s a secret again!

The equipment that’s returning from previous games isn’t being changed much stat-wise, but many of them will have slightly different specials this time.


Mid-Project Crisis

Update: I think I’ve found a solution to my problem. With the help of HTMLLoader and LocalConnection, I can get Flashplayer running inside AIR, and I can get the best of both.

Hey guys, with Epic Battle Fantasy 4 being in a Humble Bundle and having a lot of new eyes on it, I once again had the horrifying realization that I’m still making games in Flash. I thought a bit about this when I started working on Epic Battle Fantasy 5 a year ago, but pushed those thoughts to the side and decided to wait and see how things might develop. Well, things haven’t gotten much better.

Here’s the problem: Adobe suck. 

Adobe AIR is their cross-platform solution for running Flash apps on Desktop, iOS and Android – and it would be perfect for my needs EXCEPT that the Desktop version doesn’t have the same performance optimizations that the mobile versions have. It doesn’t have the Stage Quality setting that Flashplayer has – this let’s you change the anti-aliasing of vector graphics and is a huge factor on performance. HUGE. My games always have this set to MEDIUM by default, with lots of users setting it to LOW. But in AIR, it’s permanently set to HIGH, making my games run 50 to 100% slower in AIR compared to the web Flashplayer! What the hell!

Another missing feature is GPU rendering for bitmaps. If I convert all of my vector graphics to bitmaps, they’ll run quite well on a phone! Not on my desktop computer though! Madness!

Word from Adobe is that they’ll consider features that are often requested, like these. But after waiting for a year (and hearing how other developers waited much longer than that), I think it’s time to assume it’s not a priority for Adobe at all.

I used Adobe AIR for my release of Epic Battle Fantasy 3 on Steam. And everything works very nicely, except that the performance is terrible! Many users pointed out that it ran noticeably worse than the web version, and that’s because it does.

My shooter game Bullet Heaven 2 worked well in AIR, but it didn’t use vector graphics very much, so this wasn’t an issue. It was made with Starling and Stage3D, which performs very well, but makes animation much harder than it is in regular Flash games, and there’s no way I could make an EBF game like that. There’s just too much complicated animation involved.

For Epic Battle Fantasy 4, which came out on Steam almost 3 years ago now, I used a Flash wrapper called MDM Zinc, which is similar to AIR but uses the standard Flashplayer, and therefore runs my games better. This worked well, but it had serious compatibility issues with a few users, and the company that made it is gone now, so I can’t use it anymore anyway. There’s a DRM-free build of it left over, but as far as I can tell there’s no way of getting rid of the “trial version” splash screen now.

Publishing on Steam using a simple Flashplayer Projector is an option too. The performance would be better, but I’d be restricted by not having common application features like being able to create save files wherever I wish, or controlling the size of the application window. Adding Steam features like cloud saving and achievements would require inconvenient work-arounds.

So what other options does that leave me with?

I could convert my animations to Unity files using something like GAF or UniSwf, and port all of my code over to Unity too. That could lead to great performance, and Unity is super popular and well supported now, unlike Flash. Downside is I’d have to learn Unity very well, port tons of work over, and overall I’d probably have a much slower workflow than I do in Flash. EBF5 was meant to be a 2-year project, if I switch to Unity I could easily see that being 3 years or more, with tons of unforeseen problems thanks to my lack of any experience with Unity. Not a risk I’d like to take with my biggest project ever.

Also the chances of releasing a web version of the game would go down drastically if it’s not made in Flash. Steam’s my main market now, but I still have tons of fans there who would lynch me if I didn’t release a web version. Sticking to Flash also makes any future mobile ports easy – Adobe AIR does work fine on mobile after all, it’s just the Desktop version that’s causing me grief.

Apparently Scaleform is a cool technology for running Flash content fast – it’s used for GUIs in AAA titles and also some mobile games. But it doesn’t look like they’re interested in the Desktop indie market, and I couldn’t even get permission to try it out.

OpenFl is another framework I considered, as its workflow is supposed to be similar to Flash. But it still feels like it’s in its infancy, not being fully implemented or documented yet, and would still require a lot of porting pains, much like a move to Unity would.

None of this really threatens EBF5′s development. I just think it’s likely that I’m going to have to make some compromises when it comes to Steam features or performance. Maybe I’ll make 2 launchers on Steam, Flashplayer and AIR, and users can decide which one works better for them.

Oh well.

Thanks, Adobe.
For not developing Desktop AIR, and for leading me on.

EBF5: Fancy Textboxes

Undertale has inspired me to give monsters more personality, and I figured the easiest way of doing that was through text effects! Expect a bit of dialogue from some foes. I already did this with the final bosses, but I’ll expand it to all bosses and maybe some common enemies too.

text1 text2