[Devlog] Mystery Babylon

I like them too, tbh. Our high framerate ones are less detailed due to the # of frames. Going down to like 5-6 would let us have way more detail.

Stopping in to let everyone know Iā€™m working on a website this week.

It will probably only take up until Wednesday/Thursday. Compared to my usual web work, game sites are a breeze. Going to add creating high quality sites for game developers to my freelance side gigs.

Itā€™s in early stage after starting yesterday, feel free to check in and see progress. Every change gets push live, so itā€™ll be updating like every other hour until completion.

I might write devlogs there and cross post here, but Iā€™ve got to start making wise marketing moves right now.

Itā€™s a good time, because so much art is in progress. Thereā€™s going to be a ton to show in the coming weeks, best to prepare my platforms to effectively showcase it.


Pixel battlers will be in the demo. Iā€™m pretty confident I can pull off 10 frame versions of what I showed above.

This was a test 10-frame anim, thatā€™s still being polished and reworked:

Tilesets and custom backgrounds are incoming. Plus, I have our first mounted unit being made as well. Could still use another artist for 4-directional map sprites, but overall, pretty good.

1 Like

Alright, mini-update.

Site is finished, Iā€™m back to focusing on the game.

Working on a lady mage: Zenovia.

Setting up her 3D animations:


lol got some music in the last one o,o

Probably going to put a grimoire in her hands.

This one will be a bit of a challenge, since the damage will be coming from magic projectiles this time around. Might be done by Sunday. No sprite for her yet, Iā€™ll probably use a Suikoden sprite in the meantime.

Speaking of sprites, I mentioned I commissioned a mounted sprite. Well, this is how his reference video looks:

Which also probably how his battler 3D version will look. Itā€™s probably going to reaaaally suck programming it, since itā€™s two sets of animations for the horse and the riderā€¦ I might be able to cheat and just leave the horse in idle mode as the rider attacksā€¦ Jesus, I canā€™t wait to get 2D battle sprites.

Speaking of 2D battle sprites, the one from above is finito:

10 frames is solid. Should finish up this characterā€™s animation set soon, then move onto the knights. Then, onto Zenovia and our mounted units.

My budget is fucked atm, but I should be getting another pixel artist on battle sprites soon.

Thatā€™s about it, be back this weekend, possibly later.

1 Like

Testing the non-pixelized mode. Iā€™ll show more footage, lmk which you prefer.

Thoughā€¦ if you like it too much, modding will get harder using 3D models.

pixeled for reference:

Which is more important?

Peek at magic units, still polishing animation and FX here.

I have to implement animations for double attack as wellā€¦

Probably be back in a few days with a more polished version. Still messing with unfiltered 3D mode.

EDIT:

Double attacks are done! More polish coming soon. Iā€™ll probably get FX right and then work on an archer unit and an axe warrior unit.

Then move on to Turns/Phases and AI.

Hoping to make a ton of gameplay related progress, while art assets are being made.

2 Likes

Mini Update #2:

Probably havenā€™t shared this yet, but thereā€™s a day/night cycle in our game.

Thereā€™s an example with accelerated values of day/night.

I struck the motherlode in terms of both 3D models and map sprites, recently. I was playing Exit Fate, an old RPG Maker VX game and noticed they used custom Suikoden based sprites. They are really freaking awesome. So is the game, tbh.

Iā€™ve reached out to the developer via email for permission to use his sprites as placeholder/ as a base to edit. If Iā€™m granted permission, Iā€™d have all the map sprites I need for a super fleshed out demo. The game is freeware and uses ripped Suikoden tiles (expertly), so Iā€™m hoping itā€™ll be fine! The characters themselves are customized enough for Konami not to be able to sue, though.

Really excited about that. Iā€™ve also reached out to them about a possible collaboration; Exit Fate is really excellent. Would love to work with that person who made it.

Anyway, I hope I at least get the greenlight to use the sprites.

In other news:

Iteration 1 of our ā€œFort Outdoorā€ battle background. Itā€™s nice, but it needs some edits! Should be done soon.

5 Likes

MOUNTED UNITS CAME AND IM STOKED

walkkn idlekn

That is all.

Once I get this tileset, itā€™s over!!!

The battle 3D model in all its derp.

Gotta get gameplay completed asap :ā€™)

4 Likes

Alright, getting to business this week.

I am taking a break from unit creation to finally do Turns & Phases + Enemy AI. Turns and Phases should be done today and the rest of the week focused on AI.

As you can see in the video, I have the UI pretty much finished. I also implemented the rewind feature to undo a move. And, you can no longer move >1 time per turn. The sprite gets semi-greyed out to try to display thisā€¦

I was wondering if I wanted to add a circle under units to better show if a Unit has taken action that turn or not.

My plan is to finish those off and start doing weekly alpha builds until Kickstarter (which will be the first beta).

Donā€™t expect hours of gameplay or anything, youā€™ll simply be able to get a feel for what we have so far and playtest our weekly progress. Especially, if youā€™re tired of seeing this tiny section of our huge map lol.

Iā€™ll be setting it up so you must follow on Twitter or join our Discord server to get a download link. :slight_smile: Gotta market somehow, I have like 4 twitter followers lmao.

Anyway, look forward to that! I havenā€™t released a build or even tried to build to Windows yet, so there may be some unexpected hurdles. But, I imagine we should have our first alpha build available by Sunday, the latest.

Oh yeah, small art update:

The new battle background and custom platforms are nearly done. The castle perspective on the last one was a bit off, so this is the lineart for the new one. Should make into the first alpha.

1 Like

Update on Turns & Phases and AI.

Getting pretty close to normal gameplay. Some lingering bugs, though. Like how Zenovia sorta teleported in the second turn.

1 Like

Well, did my first build yesterday. Had to debug the hell out of it, but I have my first working build. ā€œWorkingā€, meaning it matches what I have in Unity.

Anyway, still refining AI and killing bugs.

I did come across the absolute gem today: https://aamatniekss.itch.io/pixelart-portrait-maker

Which will provide some decent portraits to use in the interim.

Example:

https://imgur.com/a/aMfLET7 - Zenoviaā€™s portraits

canā€™t animate a talking version for her until I get lipstick on her open mouth version.

Ah, more great news! I got permission from the developer of Exit Fate to use their character sprites! That will definitely expedite my process.

Iā€™ll probably have edits done to most of them.

Credits to SCF Works who made Exit Fate: https://imgur.com/a/wnWQcGh

itā€™ll do for now. Will wire these up more in-depth when I finish combat and move onto my dialogue system. Polishing up gameplay, may have time to add another unit or two.

2 Likes

The rain effect looks dope. Best of luck with your project!

1 Like

Thanks!

One of the artists Iā€™m working with has given me some tips on art direction and UI. Made some changes thereā€¦

Good News: I got a new background

FortOutdoorBattleBack

Bad News: Itā€™s the wrong resolution. 480x270ā€¦ really itā€™s my fault for not giving the right resolution.

So I am stuck with our currently shitty background. Not really that itā€™s bad, but itā€™s 320x208 and not 420x270ā€¦ to scale pixel art work anything but x2 is to kill itā€™s quality.

On the bright side, my recent build is bug free. Adding some more details before a Sunday share of the first public alpha.

1 Like

Fuck it!

I need playtesters anyway. Hereā€™s a build without any social media necessary

https://drive.google.com/file/d/1uizs549T_zLqlqEZsBW1xPmu-F0TMEZK/view?usp=sharing

Pro Tip: Do not die. I havenā€™t programmed player death yet. The death animation will play and you will lay there lamenting your weakness. Until you close the game.

Still releasing a more complete version on Sunday. The Castle is locked til then. Iā€™ll have some basic dialogue, and showcase map exploration outside of combat.

I am experimenting with battle perspectives. Lmk if you have any notes.

Uhh oh right, I havenā€™t added information about controls yet.

Z is the action button. X is the back button. On the inventory menu, press Space to see weapon stats.

Thatā€™s about it. Hoping to add that info into a starting screen on the game by Sunday.

Iā€™d appreciate if you tried your best to break it. Find any bugs, post them here so I can made Sundayā€™s build better.

Ofc this is Windows only. If you have a different OS, tell me. I could use testers on other OSā€™s.

Disregard how OP Zenovia is. She is also squishy. Steel Broadsword is also OP. But idc about stat balance at this stage, just that it doesnā€™t up and explode when you play .

Known bug: if you try to move the cursor to a place locked by the map (ie the castle) it will stop the camera but not the cursor. Fixing that.

3 Likes

Sounds good, but unfortunately my computer is broken

1 Like

No sweat, test it when you can. Getting some playtest data elsewhere as well.

You can always wait til Sunday as well.

1 Like


(as usual, go fullscreen to see the effect in action)

Adding new units. Killed all the bugs, so adding some new gameplay. The build is updated.

I might just deploy when I feel like it VS a certain timetable.

Iā€™m actually really digging this new perspective. Iā€™ll probably use it for cutscenes instead of tradition pixel portraits.

weā€™ll see.

1 Like

Adding portraits for everyone.

That generator is awesome. I am going to have commissions done to draw shoulder & half body portraits for every unit.

Also commissioning some edits for that templar solider above:

From Exit Fate. Dude is a templar, Iā€™m hoping we can perform some edits to add armor, recolor the face to match portrait and add armor plates to match the model costume.

model:

his hair is dark brown in-game though.

portrait (one of them):

Another upcoming lady archer:

sprite edit in progress:

Model:

Portrait (one of them):

The sprite edit is going well already. Her portrait will need edits, mainly her hair.

Hoping to get these done soon, need to find an artist whoā€™s style can match this. I have a few leads, though.

Of course, some portraits will have to be fully custom, yet somehow match this style. Say, for the NPC knights, for instance.

Art and new units aside, Iā€™m working on dialogue and non-combat exploration as well. There will be some post-combat gameplay pretty soon by next week, possibly sooner.


Narrative Relevant Part

Iā€™m throwing around ideas about a map before this one after I add the 5 player units (guess Iā€™m adding one more? not sure who yet).

Scenario: they ride in on a carriage like itā€™s Skyrim but as paid passengers. He lets them off and they approach the road to the fort. Knights hold them up, dialogue ensues, and then we have our first tutorial-ish map.

You kill the 5 knights and take their armor since stealth fails and make it past the gatekeeper, into the fort interior. Then, probably they try to act natural inside the castle until the guy is like

ā€œOi, thatā€™s Frankā€™s armor! Iā€™d recognize those dents any where! I jusā€™ gave em fresh ones in our sparring match! Dis guy ainā€™t Frank!ā€

Something like that (or maybe exactly that, because itā€™s hilarious lol). Indoor combat time.


I have to finish the dialogue system, add all 5 units, have a carriage sprite/tile and NPC medieval taxi guy sprite done.

I have commissioned the tiles to be made but these things take time. Hopefully, I can start on the fort interior soon. It will probably look alot like the interior level I shared before, but with more rooms.

Mounted units wonā€™t show up until later, Iā€™m afraid. Iā€™ll probably program them in after all that, though.


Question: Where do we all currently stand on 2D battle sprites vs the 3D pixelated models? Ideally, I would rather you answer after you play a build and see the 3D models.

  • I like the 2D battle sprites
  • I prefer the 3D battle models
  • It doesnā€™t matter to me

0 voters

Tidying up. New start screen, version 1. probably wonā€™t deploy a new build until I add all 5 units, complete dialogue, get those sprites done, etc.

This week and likely beyond, I am working on a pretty ambitious AI system.

Since thereā€™s developers making similar games following along, Iā€™ll go in detail.

Our current AI is very simple and in itā€™s infancy. It simply checks if any enemy units are within range and attacks the weakest one/the one that stands to lose the most damage.

Which is nice, for a starting point. But, Iā€™m envisioning a few different elements of AI behavior (whether itā€™s enemy, allied or neutral).

Iā€™m going to do a deep dive in the endgame for AI.


Utility AI

This is the talk that inspired my current approach. I was planning to use Behavior Trees, until I found this. For those who do not want to watch the talk; in a nutshell is a system that allows AI to decide what to do in a more human manner. It weighs the importance of each potential action and chooses the one thatā€™s most important at the time.

The logarithmic math behind constructing curves was intimidating, though. If you watch the talk, youā€™ll see what I mean. I was thinking: ā€œIf only I could visually setup these curves, so I donā€™t have to do mathā€¦ā€

Then, I remembered the Day & Night Lighting system had a similar curve editor within Unity. Itā€™s based on AnimationCurve. Typically used in Animation, but easily could be used as a curve to return the value of a number (which is essentially what it does in Animation as well).

Then, I found DecisionFlex which gives you a Utility AI framework to use, along with AnimationCurve based editors. Jackpot!

So, now Iā€™m currently learning to use DecisionFlex and will either keep using it or end up customizing it for my purposes down the road.


Why does that matter here?

Now, thatā€™s the technical part of the picture. Why does it matter for this game, though?

This is how I envision it applying to combat AI.

So far, Iā€™ve defined three model numbers that are important in decision making (currently trying to keep them within a scale of 0-1):

  1. Need To Heal

    1 - Unit.CurrentHealth / Unit.MaxHealth

This is a decimal (or a float, fi you program).

  1. Am I Armed?

Basically, for each weapon in my inventory, do I have a wieldable weapon that is not broken? If Iā€™m a Swordsman with 6 bows in my inventory, I am basically unarmed.

For this one, I donā€™t think itā€™s necessary to use a decimal: simply 0 if am unarmed and 1 if I am armed. Essentially, true or false.

  1. Immediate Threat

This is one is complex, and yet very important. Iā€™ll share the formula and an example:

Our threat formula: (Accuracy * (1 - (CurrentHealth - PotentialDamage) / CurrentHealth)

Example:

So say I am an AI and I have 25/30 health. 2 units are in my attack/vision range. Unit #1 can deal me 5 damage with a chance of landing that is 85%. Unit #2 can deal me 19 damage with a landing chance of 27%.

Odds are, Iā€™m only going to take the 5 damage at 85%, right? So the threat level isnā€™t that high

So the 5 dmg, 85% chance = .85(1-(25-5)/25 = 0.17

And your 19 at 27% = .27(1-(25-19)/25 = .189

Take that for each unit within range that can attack you and add it up, with a maximum of 1 and minimum of 0.

In this case, the threat score is 0.359.

Threat Scores Get Tricky

Another scenario:

I am an AI unit standing out in the open, no cover or allies around me. There are 8 enemy units within my movement/vision range. Letā€™s say that of those 8 units, only 1 is able to attack me from long range (2 squares away).

So in reality, my worst case scenario is taking 5 attacks, not 9.

Which means, I have to check each enemyā€™s potential attack points. The logic for this already exists in the system. We can use these attack points to TRY to forecast which units will attack me and from where.

I say ā€œtryā€, because thereā€™s zero ways for an Ai to predict with certainty what the player will choose to do. Now, if itā€™s 5 Player controller Units and 3 AI Ally units, we can predict the attack order of the Ally units. For Player Units, instead we will sort them based on who stands to deal the AI the most damage.

Another thing that must be considered is the order of the phases: Who is going to attack me soonest?

The order of the phases goes like this:

  1. Player
  2. Enemy
  3. Other Enemy
  4. Ally
  5. Neutral

So if Iā€™m an Enemy (Phase #2), my first priority is to detect attacks from:

Other Enemy --> Ally --> Neutral --> Player

In that order.

So, to accurately forecast Immediate Threat, weā€™ll start with potential attackers of those groups first.

Though, this may not really end up being so necessary. We might be ok with simply sorting by which potential attackers stand to hurt the AI the most, regardless of which team itā€™s on.

Iā€™ll experiment with that.

Phew. So thatā€™s Immediate Threat, itā€™s a really important metric to track on a Unit by Unit basis.


Decisions For AI To Make

The AI will have to accurately decide when to:

Attack

Example:

Current Health: 15/20
Weapon Durability: 1 Steel Sword ā€“ 30/35 uses left
Enemies Within Vision: 4

NeedToHeal: .25
ThreatLevel: .63
AmIArmed: true

The ThreatLevel is higher than my NeedToHeal, plus Iā€™m armed. Iā€™m attacking.

Defend

Say, I am a pretty high defense unit. Thereā€™s a squishy healer in my movement range whoā€™s ThreatLevel is 0.95, dudeā€™s probably about to die.

My own ThreatLevel if I move to that position is about 0.56 and having blocked on of his potential attack points, his ThreatLevel falls to about 0.72.

I would do it, because my risk of death is less than his. The scores for this gets higher for defense of Leadership units who provide Morale boosts (Iā€™ll talk about Morale later, because this is already too much).

Another big factor of defense depends on clear conditions. Say, a clear condition is for you to seize a castle or base camp. The closer your proximity and potential move range to that destination, the higher the score foe defending and cutting off your advance will be.

Iā€™ll also have to figure out getting higher defense melee units to take the frontline and get ranged archers/mages to take the rear.

Retreat

Current Health: 3/20
Weapon Durability: 1 Steel Sword ā€“ 30/35 uses left
Enemies Within Vision: 2

NeedToHeal: .85
ThreatLevel: .9
AmIArmed: true

I really need to Heal, but first, I should retreat outside of enemy range to use my Heal Item. Or retreat to the position of the nearest healer.

Another scenario is if AmIArmed is false.

I am retreating, no matter what the Threat Level or Need To Heal is. I will seek an item shop or go trade with a friendly unit that has a wieldable weapon.

Heal

Current Health: 3/20
Weapon Durability: 1 Steel Sword ā€“ 30/35 uses left
Enemies Within Vision: 2

NeedToHeal: .85
ThreatLevel: .1
AmIArmed: true

The threat level has decreased and I still need to heal. I can now find the nearest healer or use a healing item.

This means something different for Staff Wielders. If their own NeedToHeal is low, but they are within move/staff range of a Unit whoā€™s NeedToHeal is rather high, then they will decide to Heal the unit witht he high NeedToHeal.

Since the capability of attack is rather low for healers, I plan to always have them prioritize healing over attack.


That about wraps it upā€¦

When doing a system like this itā€™s best go piece by piece, which what I plan to do. There is the issue of having units be TOO smart, which would kill to ā€œfunā€ factor.

Personally, I feel like making a dumb AI is easier than a smart one. I can always start with dominating intelligence, then set Intelligence Levels for AI. Which can vary on a Unit-to-Unit basis or based on the difficulty level you play on.

Thatā€™s all for me. Wish me luck, Iā€™ll need itā€¦

6 Likes

Mini update:

The above AI approach is working out very well so far. Our current AI is ported to using DecisionFlex, and itā€™s already making smart decisions based on Threat Level, NeedToHeal, and NeedToRetreat. The code is way cleaner and easier to read and work with in this system.

All thatā€™s left is programming the many behaviors for each. Iā€™m currently working on Retreat and Heal Behavior. Then, Iā€™m move onto Defense Behavior, which is likely the most complex one.

Defending vulnerable units, defending leadership units, and closing pathways towards Clear goals.

Even after thatā€™s done, Iā€™ll need to write even more AI Behavior for group movement.

Iā€™ll probably be on AI duty well into mid-April, fine-tuning and implementing these behaviors. Itā€™s less intimidating than I expected, but Iā€™m going for a really solid AI foundation.


While I will be doing AI, Iā€™m happy to announce the addition of about three new programmers on the team! Development on the dialogue system and non-combat exploration has begun.

The likelihood of a really strong demo for a June/July Kickstarter just shot up. Excited about that, maybe Iā€™ll get them to post here too.

We also got a university trained Narrative Designer on board, which is awesome. Weā€™ll be using articy: draft 3 to develop our narrative elements like dialogue, weapon descriptions, branching choices, etc.

So, no more amateur hour dialogue or short stories lol.


In the art department, things are still moving. The first batch of tiles for Fort Interior should be incoming next week.

penelope_shoulder

(I love that she has that Mikasa scarf :heart_eyes:)

Weā€™re working on those portraits, customizing them. However, the artist doing this will be pivoting to battle sprites after completing this one.

Iā€™m having a tough time finding pixel artists willing to revshare until Kickstarter on our map sprites or portraits. I mean, no one at the professional level is ever eager about ā€œfreeā€ or ā€œpotential profitā€, especially when it comes to art, so itā€™s understandable. But, maybe my luck will change soon. The more technical progress we make, the higher the chance an artist will see the vision and drink the kool-aid.

Thatā€™s about it, we should be seeing great progress soon.

2 Likes