1. Nowhere Prophet
  2. News

Nowhere Prophet News

Day 3: Starting on AI improvements

Alright, let's start with the most important note: There's an updated build in the PREVIEW branch on Steam. It features some minor bugfixes and improvements to the AI.

If you want to give that a try simply right click on the game in your library, select properties, then Betas and then use the dropdown to select the Preview beta.

Here's how this looks:



With that out of the way, let's talk a little bit about today and this preview build...

How the enemies think

The AI in Nowhere Prophet works by simulating all manner of moves from its current point of view and then picking the best one (MCTS for the more technically inclined among you).

This has a few ramifications:

Since this takes time and each player in Nowhere Prophet has a lot of moves (move unit to tile a, b, c..., attack with unit to target a, b c... play card on target a, b, c... you get the drift) this means that I can't simulate all the moves but need to do some clever prioritization to determine which move has potential, before simulating a fixed number. Theoretically, if I players were willing to wait a few minutes for each of the AI's moves, then it could always play near optimally, but there's a compromise to be made between the depth of the simulation and the wait time.

Also the AI needs some way to evaluate the game's current state after each move to understand if its actions made the situation better or worse.

AI Brain Scan

Both these things can be terribly opaque so I spent a lot of time today making the AI's thoughts and state evaluation more transparent. I need to understand what's happening to judge where it's going wrong and how to improve things.

Here's a look at some of that debug information:


And just by doing that I found a little bug in the decision system. What was happening was when the AI was looking for possible moves, the game state was changed by mistake!

When checking for all possible moves with cards it inadvertently put a reference to all the enemy's leader cards in its convoy hand. So for the first move in a simulated chain of moves, it had the right amount of cards. For the second move, the convoy hand was suddenly 7 because the 3 cards from the leader card were added to the convoy hand. Then 10, 13 etc. etc.

This lead to the value of the game state improving continuously (more cards = better game state), which meant the AI evaluated a branch of actions a lot higher than it should have. Even useless actions produced value, simply by virtue of being a step in the chain of actions, they created cards out of thin air.

This bug snuck in 6 weeks ago when I optimized the AI to run faster so I could run more iterations in the simulation. Unfortunately I made it faster, but also dumber.

But that one's now fixed in the PREVIEW build. Let me know if you can feel the change. I believe that the AI should be doing less "obviously stupid blunders" now. This may make the game a bit harder too so let me know how that feels as well!

Here's the changelog:

Originally posted by changelog
Changelog

Balancing

• Unconquered Ascetic: Lost Shielded keyword
• Scion Bloodhand deck adjusted: Fewer charge followers in early maps
• Reduced rest at initial crash site to 3 uses (was 5)
• Finally added rest options to the Crypt Gate (3 uses). You can now take a breather before diving in.

Interface

• Improved visual quality of intro logos

Bugfixes

• AI evaluation bug fixed: Later moves in a sequence had inflated scores, making even bad moves look useful
• Soothing Shadows no longer triggers on moved obstacles or constructs
• Defy Death is depleted on trigger, not on turn start
• Hedgehog Drone is depleted on trigger, not on turn start
• Battery mutator no longer has second player start with 10 Energy
• Wounded followers on the enemy side now start with 1 damage
• Rest button no longer vanishes on 4K displays



But that's not all. Beyond that I'm planning to make some more tweaks to the AI, specifically when it comes to pre-selecting and prioritizing AI moves since that allows me to get the best out of the simulation iterations I have available in the time given. But this is something for tomorrow and later in the week.

Best,
Martin

Day 2: Boss Balancing

Alrighty! Day 2 is over and I spent some time collecting your feedback, both the aggregated data from the online form and from the various other places. Thanks again everyone who joined in!

Here's an overview over the results on the bosses:



Now I've used that to take a closer look at the boss effects and decks and spent some time today filing off the rough edges. You'll hopefully find that the difficulty of the bosses will be a lot more even but please let me know if anything still stands out. This is a first pass and it would be incredibly lucky if I hit all the issues with that one.

Also note that for expediency this version is being released pretty untested. Nothing should break (in fact things should run more smoothly) but should is a dangerous word. So if you find anything out of the ordinary, please let me know ASAP so I can fix it - or roll back, if need be.

That said, here's the changelog excerpt for the boss balancing changes in v1.00.005:

Changelog


• Reduced strength of passive enemy effects:
... • Leper Tormented: Now only provides +1/+0 (was +1/+1)
... • King lizard: Now only triggers once each turn
... • Raj Guard Gloryseeker: Now only triggers once each turn
... • Union Bulwark: Now only provides 3 armor per kill (was 4)
• Limited or reduced number of effect triggers:
... • King Lizard
... • Ruster Lifter
... • Feral Javelin
... • Leper Tormented
... • Raj Guard Gloryseeker
... • Union Bulwark
• Reduced deck synergy (on lower levels and difficulties):
... • King Lizard (fewer poison units)
... • Shiram Torchbearer (fewer direct leader damage cards)
... • Ruster Lifter (fewer regen units and self damage cards)
... • Feral Javelin (fewer poison units)
... • Leper Tormented (fewer regen units)
... • Raj Guard Gloryseeker (fewer strong fury units)
... • Union Bulwark (fewer Armor synergy cards)
• Ruster Lifter fight guaranteed to be 5 rows wide, gives you more room to build up for a strong alpha strike

A fun side-effect of the "once each turn" change to the Gloryseeker and the King Lizard is that it not only makes things easier (hopefully not too much), it suddenly makes these into effects you can play around. Which one of your units is expendable and attacks the lizard first? Which one of the enemy units is least powerful if he gets it back to his hand and gets killed first?

Next steps, after this are: More boss balancing based on your feedback and taking a closer look at the AI. So that it no longer shoots its own obstacles or pulls units that are already in the front column. However if the AI starts playing better this will also raise the difficulty again, so it probably will be a bit of a back and forth between the two. But's that's a topic for another day.

Anyway, that's it for today. Keep playing and keep sending me that feedback!

And most importantly:

Stay hydrated,
- Martin

Day 1: Bugfixes and Boss musings

After the madness of the launch weekend it's time for me to get back into a proper rhythm. And to that end I've scoured my emails, the forums and Discord today looking for bug reports. Many thanks to everyone that reported something with special mentions to anyone who provided screenshots or log files. This is the best way to help me quickly find, reproduce and fix a problem.



Patching the bugs

That said, there's already a patch in the works: Version 1.00.004 will address a number of issues I've seen crop up. Here's the changelog:

CHANGELOG
  • Game fails a bit more gracefully when a save game was corrupted: Now tries to load the backup save if it can.
  • Stunned followers directly destroyed (cull the strong, neural shiv etc.) no longer trigger an error when trying to un-stun them
  • Double clicking the "end combat" button in the combat results no longer causes a crash
  • Pressing ESC while while in the "show battlefield" mode during Mulligan Phase no longer locks you out
  • Putting units down quickly while a unit is auto-spawned could make one of the units vanish.
  • "Stubborn" no longer triggers twice on units that are both damaged AND exhausted.
  • "Bodhisattva" no longer shuffles enemy units into the deck but returns them to the hand, as expected, as well.
  • "Dynamo" no longer triggers on Convoy cards as well
  • "Quick Charge" status effect now triggers properly
  • "Hard Impact" now properly uses Attack 6+ as condition (used to use Cost 6+ by mistake)
  • Blackout properly resets CanAttack/CanMove states. Followers can attack and move. Obstacles and Constructs can not.
  • "Stop Levelling" achievement now unlocks properly: Was erroneously limited to the Banshee class
  • "Fatality" achivement now unlocks properly: Incidentally overkill damage is now also properly displayed on the enemy leader.
  • Speaker's Circle Hope option now is properly accessible if you have enough hope
  • Steam Leaderboards now displayed even if you have not submitted a score that day
  • Steam Leaderboard also displays more scores at once now (top 100 if no score submitted, +/- 50 around your position if score submitted)
  • Event: Convoy Thief, showing mercy no longer kills the follower
  • Discord link from the "About the Game" popup works again
  • Action Log text alignment fixed (vertically centered)
  • Various typos and text issues addressed (for example the double colon in the boss hint on the map decision screen)


This is a pretty good list for a day, if you ask me. However this version is not yet available because I want it to see some testing before I put it live for everyone. Just to be sure it breaks nothing else. If you want to give it a spin though, you can right click on the game in your library and select the PREVIEW branch to get access. There's no password or anything so go right ahead.

In fact this branch will come handy for the next steps:

Next Steps: Boss Balancing

So, I've mentioned yesterday that I will take a closer look at the bosses. I will start doing so right away tomorrow (unless something strange catches fire).

My current plans are to make sure all the bosses are on a more event footing. A few of them are clear peaks in the difficulty curve, especially at the beginning of the game when you don't yet have a well-tuned deck. To that end I plan to restrict the status effects a bit and also reduce the synergy in the enemy decks, especially on the lower levels.

My plan (as said, if nothing suddenly explodes) is to do the first draft of changes tomorrow and then also make those available into the above-mentioned PREVIEW branch so you folks can give them a spin right away.

Also, if you haven't already, please fill out the online form! It will help me better gauge the difficutly of the bosses and my potential solutions!

Thank you and next steps (Bugs, Bosses AI)

Wow! What a weekend!

We launched Nowhere Prophet just over 48 hours ago, the game I've been working on for over 5 years! I'm thrilled and excited to see so many of you play and enjoy the game. And I'm deeply thankful for the wave of feedback from every one of you!

I've been reading the forums, comments and scanning the discord to figure out what works for you and what doesn't.



And what I'm hearing from many of you is that the difficulty, especially the AI behavior and the bosses don't feel quite right.

This is clearly the most pressing concern for me and you can expect an update to the game with improvements soon. I may have to do some bugfixes first (anything that prevents people from playing has top priority), but once that is out of the way, balancing the difficulty better will be the first thing on the docket. The Bosses should feel challenging and not unfair and the AI should feel like a worthy foe and not make stupid mistakes.

I'm sorry that some of you had their experience with the game soured by that. I'll do my best to correct this as quickly as possible.

In the meantime I'd love to get more of your feedback on the difficulty, bosses and the AI. I've set up an online form to collect your thoughts and feedback in one place. This will help me better understand what causes problems and will make it easier - and quicker - for me to improve things.

If you have some time, please head over here an let me know what you think:

Boss/AI Feedback Form

Thank you again for your time, for your feedback and please keep it coming!

- Martin

No More Robots Publisher Weekend Sale is live!



Hey everyone,

🍰🍰🍰
No More Robots is 2 years old, so we're celebrating by putting all of our games on sale!
🍰🍰🍰

You can now pick up all the following games for cheap:

https://store.steampowered.com/app/681280/Descenders/
https://store.steampowered.com/app/733790/Not_Tonight/
https://store.steampowered.com/app/844590/Hypnospace_Outlaw/
https://store.steampowered.com/app/681730/Nowhere_Prophet/

We hope you've enjoyed our games, and we can't wait to bring even more big titles to Steam in the future!

Mike, Pip, Dan and Arwyn
xxx