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