There Will Be Ink cover
There Will Be Ink screenshot
Genre: Shooter, Simulator, Indie

There Will Be Ink

Beta 9.0.3

Hey there! Here is a small update containing mostly fixes and a couple small changes. Have a good weekend!

Changes



  • Engineers now put out fires
  • Pressing "Select" (gamepad) or Alt (kbm) when in grabby mode will select the nearest available unit, regardless of distance

Fixes



  • Fixed hero-related crash bug in tutorial 3
  • Fixed grabby hand being able to go outside the bounds of the battlefield
  • Fixed units sometimes facing the wrong way/going upside down when being controlled with gamepad
  • Fixed "Dishonourable Mention" badge not working (and fixed Dr. Death badge, for Base & Alt Medics at least)

Beta 9.0.2 - Crash Fix

Heyo! Apologies to anyone who's been experiencing crash issues. I've updated the game to run in 64-bit to address the issue. So far things seem good to go, but please let me know if not. Thank you kindly.

Beta 9.0.1 - Hero Hotfix!

Beta 9.0.1 Hotfix



  • Fixed crash bug related to new hero generation
  • Fixed missing hero last names
  • Disabled heroes in tutorial missions
  • Added a few more names
  • Heroes now start below buildings and a little further away (ie out of air raid zone)

Beta 9 - Heroes, Mountain Biome, Night Missions

Hello there! There Will Be Ink, Beta 9, is live now on Steam and itch. There are some neat new features this time around, which I cover in a little more detail below. Check out the full change list at the end of the post for some smaller additions, changes, and fixes. TWBI is also on sale right now until March 7th as part of Steam's Remote Play Together Sale. Check it out! I'll likely be doing a coop stream at some point right on the Steam store page. Keep an eye on the Steam page or Twitter account for further details about that.

Heroes


At the end of a campaign battle, there is a chance that each surviving unit will be promoted to a "Hero". That chance is increased by the unit's rank/xp, and there can be a maximum of ten living heroes at any one time. Heroes are given names and persist between battles within a given campaign. When selecting a mission, active heroes can be deployed from the top of the mission select page:

By default, active heroes at the end of a battle will be automatically deployed on the next battle if you continue directly to the next mission. This can be disabled in Gameplay Options. Heroes can die just like any other unit (though, instead of instant death, their health is reduced by 90% if hit by lighting), but they can be ranked beyond the "one star general" rank up to a four star rank. Ranking up grants bonuses to such things as accuracy, speed, stamina, ammo capacity, and evasion. Heroes don't replace any existing units in a given mission, so they can be very helpful additions during some of the more difficult battles. For balance reasons I've disabled them on a couple campaign missions. I have some ideas for ways to expand the Heroes mechanic, but for now I want to get a feel for this basic implementation. If you'd like to add your own names to the pool of possible hero names, just add one name per line to "HeroNamesFirst.txt" and "HeroNamesLast.txt", located at "%localappdata%\ThereWillBeInk\Units\". (To overwrite the existing pool, add hNamesLast.txt and hNamesFirst.txt)


Mountains


The new mountain biome, for lack of a better word, includes a couple of unique features: First, it is often snowing in these levels, and snowy weather now reduces movement speed by 25%. Second, there is a new, impassible mountain terrain type. The terrain features look like little mountain peaks, and units cannot walk over them or shoot through them (unless they have a jetpack!). Before this new terrain type, there wasn't really any unit pathfinding, for the most part, so it took some time to sort that out and to get the AI to behave properly around mountains. Mountains are present in the new campaign missions as well as in the Campaign Generator and Quick Battle setup as a terrain type. There are likely still some kinks to smooth out with mountains, which I'll keep an eye out for.


Night Missions


In addition to one of the new campaign missions, Campaign Generator and Quick Battle missions now have a slight chance of being night missions. During those battles, the level will be mostly dark except around friendly buildings and in the direction that friendly units are facing. Units will be in full stealth until seen by a nearby enemy or if they fire their weapon. After becoming exposed, a unit can run and hide and recover their stealthy state.


Up Next


You may notice that the version number is now up to 0.9. You would be correct to assume that version 1.0 is not too far away! There are a couple campaign mission-specific mechanics I'd still like to implement, but otherwise my focus will be on finishing the campaign, improving and expanding existing systems, adding missing art and sounds, and just a lot of general tuning and polishing. I have a lot of ideas beyond that, but I'd first like to see There Will Be Ink in finished, 1.0 form before letting the scope creep any further. Stop by the Discord if you have any feedback or questions, and for more details on the update, check out the full change list below!

Changelog


New Features & Content

  • Heroes - At the end of each battle, there is a chance for a "Hero" to emerge. Heroes persist across battles (but can die like any other unit), have names, and continue to rank up
  • Mountains - Includes impassable mountain terrain (new art, pathfinding, AI) - added as new CamGen and Quick Battle biome plus new missions and new terrain group in Map Editor
  • Night Missions - Can only see what friendly units can see; firing weapon blows cover for a period - rare chance for CamGen/QB missions to be night missions
  • Three new mountain campaign missions: "Becraggled", "The Darkness, The Blackness", "The Pass"
  • Added volume sliders for effect and music volume
  • Added new menu music


Changes & Enhancements

  • Changed "Surrender" to "Retreat" - units flee towards the edge of the map
  • Still counts unit progress/xp and also allows for Heroes to emerge
  • Speed bonus granted per rank reduced from 15% to 8%
  • Snow missions now reduce movement by 25%
  • All bullets now cast shadows and follow height mechanics when shooting at or from a height
  • Desert missions now reduce stamina regen by 50%
  • Increased max missions for CamGen from 30 to 36
  • Reduced base life of StickMan boss by 500 (~17%)
  • Recoil no longer changes aim direction for gamepad controls
  • HMG has less recoil/aim error but uses new "aim lag" mechanic, so it's more accurate but slower/harder to aim
  • Units who kill a Hero unit display "H" above vengeance icon; killing those units grants an instant promotion (if below rank 4)
  • Added colour-coding for "Official" (green) and "Legacy" (olive) campaigns during campaign selection
  • As with mouse aiming, gamepad aiming now displays faint cursor for intended aim and dark cursor for actual aim
  • Added stat to track buildings destroyed
  • End-of-battle notifications now have a backing, use a more readable font, and take longer to fade away
  • Made slider button slightly opaque
  • Optimized code related to detecting hostile projectiles and avoiding friendly fire
  • Optimized calculation of target distance in many cases
  • CamGen: Made beach defense missions (hopefully) less difficult
  • Units will no longer try to access ammo crates that are not yet onscreen (ie parachuting)
  • Default menu option when starting a new game is now "Campaign"


Bug Fixes

  • Fixed reload speeds all being the same (and too quick in most cases)
  • Fixed sandbag and mine detector not properly working
  • Fixed missing tanks in "C'est L'A(r)mour" and "All in a Line"
  • Fixed shotgun and pistol possibly not working
  • Fixed sights resetting when swapping weapons
  • Fixed rare crash bug related to flanking
  • Fixed issue where things like paratroopers and landing ships would continue to spawn when game is paused
  • Fixed issue where units sometimes wouldn't stay still when raising flags
  • Units should no longer go offscreen when finding a clear shot or flanking
  • Fixed issue where tanks and creatures (ie worms) were causing map loading issues
  • Fixed unit speed between player- and AI-controlled units being inconsistent
  • Fixed jetpack walk/fly speeds being inconsistent
  • Removed debug text from StickMan boss (oops!)
  • Fixed jetpack unit heads & legs separating during takeoff & landing
  • Fixed rare hang bug related to crates dropping near players at the edge of the map
  • Fixed rank icon alignment issue

Beta 8.1.1 - Fixes

This build contains several fixes since Beta 8.1. There are a couple rare crash fixes (seemingly related to recent changes to GMS; I developed a way for the game to auto-play in order to track them down!), and the T-Rex was mostly unusable since the mod update. Sorry about that! See below for a full list.

Against my better judgement to "just finish the damn game", I've got a new feature I'm working on and pretty excited about. More info to come!

Bug Fixes

  • Fixed (probably?) rare crash relating to squad formation
  • Fixed possible rare crash with T-Rex
  • Fixed laser dust not including colour blend
  • Fixed bug where Engineers could no longer carry crates
  • Fixed bug where Map Generator was sometimes running into errors when generating trees on Forest maps
  • Fixed bug where T-Rex could get suppressed and wrong sprite was loaded
  • Fixed bug where T-Rex Uzi would not fire
  • Fixed bug where regular jetpack was drawn on T-Rex

Beta 8.1.0 - Mod Support!

Happy Holidays, Billies!

The main focus of this update is mod support. In order to add this, I had to reengineer a pretty big chunk of the game. I'm not sure why I thought it would take any less time than it did, but, as these things go, of course it did not! I've hopefully eradicated most of the remaining bugs, but I'm sure there are still some strays. I'll be keeping an eye out of those.

So how does modding work? Well, now most of the attributes for units, weapons, buildings, and factions can be edited in plain text. If you want to edit any of those for the core game, jump to the game's install folder (eg C:\Program Files (x86)\Steam\steamapps\common\There Will Be Ink) and then into the appropriately named folders. To avoid changes being overwritten, copy any files you want to change over to the folders of the same name in your local app data folder (%localappdata%\ThereWillBeInk\). There will also be a _template.* file in each of those to explain what all the fields mean, so you can get adding your own Units/Weapons/etc. Art(.png) and sound(.ogg) assets go in the "Assets" subfolder at those locations, and samples can be found in the game's install folder.

What is handy about this system is that anything dropped into those folders will be automatically plugged into the Map Editor, Quick Battle, and Campaign Generator. It is probably possible to break the game in a few ways by modding, so please let me know (on Discord, email, telegram, etc) if you run into any issues or see any bugs. I'll be keeping an eye out as well. There are plans to improve and expand the modding system over time, but there you have it to start.

Outside of that there have been some other smaller changes and several fixes. Check out the change log below for more info.

Also, Jolly Edition is live right now until the end of the month. Cheerio!



New Features & Content

  • Mod support!
  • All of the game's units, weapons, buildings, and factions are now loaded from text
  • User-created assets can be added using text files, images, and sounds
  • New, modular system is plugged into main game, Map Editor, Quick Battle, and Campaign Generator

Changes & Enhancements

  • Mission tags now properly display icons for units for both sides, and only those units in the mission
  • Slightly reduced aim error of Assault rifle
  • Reduced Assault rifle stamina cost per shot
  • Various other tweaks to units and weapons
  • CamGen: Top tier units appear slightly sooner in campaign
  • Weapons can be set to spawn units on firing (Modding only)
  • Paratroopers now default to lowest tier unit of a faction (eg Alt drops Alt Rifle as paratroopers)
  • Reduced Engineer spawn time
  • Jolly Edition (JE): Adjusted snowballs to be more visible on new-style snow levels
  • JE: Sunny & Cloudy weather now have snow on ground but no snow falling
  • JE: Restored lightning in Stormy weather
  • JE: Rivers are not frozen except in Snowy weather
  • JE: Tanks now shoot snowballs
  • CamGen: Tanks are no longer official units of Base & Alt factions (need to be reworked)

Bug Fixes

  • Fixed bug where units in some main campaign (TWBI) missions were of the wrong faction
  • Fixed bug where wind wasn't properly affecting bullets sometimes
  • Fixed bug where incapacitated units could be called as backup
  • Fixed bug where bosses would not target buildings
  • Fixed bug where StickMan boss could move indefinitely if no target found
  • Fixed crash bug if a unit was set to have no weapon
  • Fixed bug where weapon's out-of-ammo sprite was only displaying during reloading (but not while right out of ammo)
  • Fixed issue where victory check wasn't properly calculating plane cargo type
  • JE: Fixed issue where glitter did not pause when game was paused
  • JE: Fixed issue where ocean was not being treated like water in sea battles
  • Fixed minor typo

Beta 0.8.0.3 - Game Dynamics, CamGen Updates, Spooky Sale!

Hey there! Spooky Season is upon us! In addition to being 20% for Steam's Halloween Sale, there is a new update now live. The most notable change here is that each time a unit spawns from a barracks, it will take 5% longer for the next unit of that type to spawn. Conversely, each time a player-controlled unit gets a kill, that unit type's spawn time will be reduced by 2%. It feels like an interesting change so far, making things a bit more dynamic and rewarding the player for doing well. I've also rebalanced the Campaign Generator some, so now it is only slightly wildly unbalanced. Full list of changes below. Cheerio!

Changelist:

  • Each time a unit spawns from a barracks, that unit type's training time increases by 5%
  • Player-controlled kills reduce the unit spawn time of that unit type by 2%
  • Rebalanced suppression mechanic - easier for units to become suppressed, but generally quicker recovery
  • Units will go prone if suppressed
  • Reduced cost of HMG ability points by 25%
  • CamGen: Player is less likely to be severely outnumbered in earlier missions
  • CamGen: Player will no longer start with no buildings when enemy does unless mission difficulty is above 90% threshold
  • CamGen/Quick Battle: Barracks should now produce at least one combat unit
  • Fixed issue where cactus stumps were wrong colour in Spooky mode

Beta 8.0.2 - Lighting, height, explosions, etc

Oh hey! While working on (upcoming) night missions I added a lighting system for such things as explosions, muzzle flash, and flames. Maybe it's pushing the bounds of the art style a little, but it spruces things up a bit. I also made some adjustments to how explosions and altitude works. I may yet do the same for regular projectiles (ie bullets), if it makes sense to do so. This more or less makes it so that you can shoot at eg a jetpacker with an RPG, and a midair explosion will not hit nearby units on the ground. There are a lot of other QoL tweaks and fixes, which are listed below.



Next I'll be balancing out the Campaign Generator, as it generates some pretty dang hard (yes, perhaps sometimes impossible) missions at times as well as moving forward with more campaign missions. Cheerio!

General:

  • First aid post only draws heal radius if HQ is not destroyed (or under construction)
  • RPG will now aim at high units (eg jetpack, paratroopers - AI does this automatically, and for players it will do so if your aim is on point)
  • Explosions now have height attribute, so high explosions can't damage ground-level units and vice versa
  • Units moving to aid the player will stop and retaliate if attacked and hit
  • Snow density is now varied (and randomized) at the start of a snow level
  • Added arrow icon (and fading line plus "!") to indicate units who are coming to support a player (via call for backup)
  • Calling for backup ignores any immediately adjacent (<16px) units
  • Calling a medic draws a quick (red) line and exclamation as well
  • Mouse now becomes immediately inactive and invisible if a gamepad is used to navigate menus (except quick battle & camgen)
  • Mouse becomes immediately active and visible if moved
  • Esc/Select when zoomed in after end of battle will zoom out


Art:

  • Added lighting system for such things as explosions, muzzle flash, and RPGs
  • Added variation in shading and opacity of snow to make it more visible
  • Added projectile and smoke shadows to RPG (helps indicate height)
  • Reduced the amount of flame that comes from burning units and corpses
  • Added sprite to indicate whether a unit is fully hidden (ie camouflage 100%)
  • Reduced opacity of line to ammo crate when out of ammo
  • Redid art for ammo and medical crate
  • New "Retaliate" behaviour icon



Fixes:

  • Fixed bug where buildings that are destroyed and then repaired could not be destroyed again
  • Possibly fixed bug where player is sometimes assigned to an incapacitated unit
  • Fixed issue where units waiting for squad wouldn't come to the aid of a player when backup was called
  • Set RPG projectile sprite to draw itself (oops!)
  • Fixed crash when HQ is destroyed while aiming powerup and then repaired
  • Fixed issue where CamGen randomize buttons were appearing on Quick Battle page

Beta 8.0.1

Heyo! Here are some fixes and a few tweaks and minor additions

Misc:

  • CamGen: Added new CamGen options: x2 unit health and x5 unit health (affects both teams)
  • Updated "Tips" text, added section on Squads, and corrected page heading
  • MapGen: Moved ammo crate range slightly closer to front
  • Enemy faction now (once again) gets same unlocks as player during campaigns


Fixes:

  • Fixed crash bug when accessing Tips or Controls page
  • Fixed crash bug when team 3 units try to take cover
  • Fixed Map Editor sometimes loading in error state when Tanks are present or when loading from Quick Battle
  • CamGen: Fixed sandbag colour on map preview during generation

Beta 8 – Procedural Campaigns, Weeklong Sale

Hello!



This appears once again to be the biggest update yet for There Will Be Ink*. The standout feature this time around, aside, of course, from the snowy pine pictured above, is the new procedural campaign generator, which I’ll get into in more detail below. Other notable features include reworked menu and campaign page layouts, the ability to pick up wounded comrades & crates, aim assist, additional menu gamepad support, a new campaign mission, new abilities, and much rebalance and smaller enhancements and fixes.

Procedural Campaigns





How do they work? As pictured above, there are several sliders to bump around and checkboxes to click, and the generator will then string together a series of progressively more difficult missions for the player(s) to run through. Unit abilities are tracked per-campaign, so players can enhance their troops in whichever way best lines up with the current challenge. This also opens up the opportunity to play as the “Alt” faction instead of the “Base” units found in the other campaigns. For now, though Alt units differ slightly from their Base counterparts, the unlockable abilities are the same for both factions. I’ve reworked how abilities work so that they’re not as tied to specific units, which opens up the option to much more easily assign unique abilities (or even randomize them) in the future. The Forest and Desert biomes are present, and another is on the way. There are also three types of missions names the player can choose from: Boring (eg. “Mission 3”), “Descriptive” (eg. “Stormy Desert River”), and “Creative” (eg. “Lark by the Furious Waste”). “Boring” is pretty boring, “Descriptive” takes into account weather and terrain, and “Creative” does the same wile also considering difficulty and taking some further creative liberties.

The map generator itself has been improved since the last update, and I plan to improve it further and add greater variation and terrain types. The campaign generator will also see further updates to give the player more control over what kind of campaign they will play. I think its full potential will be reached when more factions are added, though that will probbbbably be after the 1.0 release.

There are quite a few other notable changes and improvements to be found in this update, all of which can be found in the full change log below.

There Will Be Ink is also on sale all week long, and be sure to stop by the Discord server to say hello! I welcome any feedback or questions you may have. The game also plays alright on Steam Remote Play, if anyone would like to get a game together (coop or vs.)

*Going forward, as we near the finish line, I’d like to do smaller but more frequent updates.



Changelog


New Features & Content

  • Procedural Campaign Generator introduced
  • Includes checkboxes and sliders for mission count, difficulty, starting tech level, biomes, factions, and mission names
  • Can now pick up comrades who are bleeding out (‘F’ on keyboard, ‘Y’ on gamepad, same as weapon swap)
  • Engineers can now pick up and move crates
  • Added Aim Assist (3 settings, set per-player)
  • Added campaign mission: “Scram”
  • Added option to display player names below units on the battlefield (on by default, can customize names)
  • Added “Virtual Keyboard” for entering text with gamepad – same system used for keyboard input in most cases
  • Added Zaponeer ability: Reinforced Armour Plating – increases armour from 30% to 60% (legs/head/body)
  • Added HQ ability: First Aid Post (Creates an area around the HQ that revives and heals units)
  • Added Squad Ability: Invigorate (renamed old “Invigorate” to “Encourage”): grants life regen bonus
  • Units now gain base boosts to speed, stamina regen, health regen (new), and armour based on rank (1 and up)
  • Added new tree, “Tree 5” – an evergreen with a dusting of snow (The snow disappears if the tree catches fire)
  • Campaign stats are now displayed on new “Campaign” menu (added some missing stats as well)


Changes & Enhancements

  • Trees now have “armour” and take less damage from bullets (take longer to topple)
  • Fallen trees are destroyed over time (stumps are not)
  • Medics now go prone when healing patients
  • Reorganized unit and weapon abilities to not be tied to specific units (makes things easier to scale for future factions)
  • Reduced cover penalty when exposed (ie shooting/crouching) from behind cover
  • Friendly fire check now takes into account weapon error (helps AI avoid FF, affects when aim cone turns red)
  • Unit reassign on death will prioritize units with ammo
  • When trying to fire while out of ammo, a line is now drawn to all ammo crates
  • Resized unit banner on top of screen; now shows life & stamina regen rates
  • Units get kill credit for shots that cause explosions (eg jetpacks, flame tanks) that kill other units
  • Added powertext for each kill when kill streak >= 10
  • Added vertical sway to trees
  • Tree shadows now match sway
  • Per-rank speed bonus adjusted (slightly reduced)
  • Athletics ability now costs 1 point instead of 2 and grants +20% stamina regen instead of +30%
  • Reorganized main menu items into “Options” (Player/Gameplay/Display Options, Tips, Controls) and “Campaign” (Missions, Barracks, Select, Generate) subgroups
  • Squads (Rifle & Assault) now deploy once they reach a size of 5 (was 3)
  • End-of-battle controls/stats are now disabled/semi-transparent when zoomed in
  • Decoupled Alt/Base unit stats, so each is tracked separately
  • EOB stat pages are now separated into killed and killed-as
  • EOB stats now omit rows where stat is 0
  • Units now cast shadows in the colour of their squad
  • Added drop shadow to all powertext
  • Grenade Satchel bonus is now for +2 grenades instead of +3
  • Disabled friendly fire for RPG (explosions are still FF, but RPG itself will not hit comrades)
  • Removed hole punches from white lined background and made it slightly brighter
  • Map Gen will now create sandbags next to buildings
  • Map Gen will now prioritize lower tiered units when generating starting units
  • Map Gen/Quick Battle: HQ is more likely to spawn at lower “buildings” levels
  • Reduced cost of all HMG abilities
  • Flamethrower flames on death are now based on the amount of fuel (ie ammo & tanks) left
  • Jetpack units can now go prone
  • Zaponeer/Zapperhead no longer explode on death if they don’t have a jetpack
  • Zaponeer/Zapperhead ground movement slowed when they have jetpack; in-air speed increased slightly
  • Jetpack units can once again become exhaused from jetpacking
  • Units killed by jetpack explosions now follow same physics as eg grenade explosions
  • Removed pistol sidearm from Zaponeer
  • Longevity powerup now grants 1hp every 15s intead of 10s; boosted cost from 5 to 10pts
  • Magazine Hyperexpansion powerup now grants 2% clip size per kill instead of 3%; boosted cost from 5 to 10pts
  • Boosted cost of Ammo Regen from 5 to 10pts as well
  • Added gamepad support to Quick Battle & Campaign Gen (analog moves cursor, A to select, works on sliders etc)
  • Added custom cursor for Main Menu
  • Added Tank to units list on mission tags
  • Swapped EOB gamepad buttons to “B” for Barracks, “Y” to restart
  • Bullets now spark when hitting rocks
  • Reformatted some end-of-battle text and other UI elements
  • HMG now always shows sight
  • Boss kills are now tracked and count towards streaks
  • Separated Options into 3 pages: Player Options, Display Options, Gameplay Options
  • Ammo/magazine count below sights are now displayed on separate lines
  • Weapon heat/cooldown is now displayed below sight line as well
  • Increased minimum thresholds for some badges
  • Revamped Campaign save system to save progress in separate file from campaign parameters (added backwards compatibility)
  • Added debug command to unlock all missions: Ctrl+Alt+U

Bug Fixes

  • Fixed crash bug when Stick Man fires rockets
  • MapGen: Fixed issue where Beach maps always included beach invasions
  • MapGen: Fixed issue where Barracks would sometimes default to Rifle production even if unit was disabled in QB
  • MapGen: Fixed issue in Quick Battle where team2 colour in Factions section did not match
  • MapGen: Fixed issue where units would sometimes be available when tech level should just barely cut them off
  • MapGen: Possibly fixed bug where buildings occasionally spawn on river
  • Fixed issue where team colours were often wrong (ie black for all teams) in Map Editor
  • Fixed issue where unit unlocks/stats sometimes didn’t work in campaigns
  • Fixed bug where mouse/gp clicks sometimes didn’t work on QuickBattle buttons
  • Fixed bug where unit progress for custom campaigns was not being tracked
  • Fixed bug where player could sometimes get vengeance bonus on killing self
  • Fixed crash bug when scrolling Map Editor items
  • Fixed issue where blood pools kept growing for bleedouts where a comrade is stopping the bleeding
  • Incapacitated units can no longer stop comrades from bleeding
  • Survival streak is now properly tracked when a unit bleeds out
  • Fixed non-exclusive checkbox groups not working