Since the publication of the Steam page more than 9 months ago, development of Ballistic.exe has been going strong. As a solo dev I can only afford to work on the game part time, but progress is steady, and actually slightly ahead of schedule. But still a ways to go!
I publish updates every friday about the week's progress on Discord, and some dev videos on Youtube. But I thought I would publish a big update here, showcasing some of the work that has been done during the past 9 months.
In the same time, we passed 25k wishlists here on Steam, which is mind blowing. Communication is not my strong suit, but I put a lot of work into it on youtube and socials and I hope it paid off.
The TLDR:
The majority of the gameplay systems are in place and working as intended.
Ballistics simulation is mostly done, with some work remaining.
The most challenging parts of shader development are done.
Basic sound integration is in place.
General player progression is currently being finalized.
A lot of content: maps, targets, events, various cartridges, and of course many weapons. This is probably 80% of the work remaining.
A lot of SFX, and game soundtrack
Finalizing the remaining systems
Simulation improvements, including Magnus effect, coriolis, bullet ricochet and shattering and more.
Steam integration, accessibility features, etc.
Optimization and polish; Current progress is very promising for quite a low minimal config.
First scope implementation
Update pivotable parts logic to better handle vertical axes (such as a scope top turret)
Big scope refactor to handle reticle placement in a shader.
Various weapon system refactors, especially on the Enfield. E.g, now the bolt can pickup cartridges from the magazine without the Enfield itself handling any logic (Turns out this was almost the case already and I didn't even realize myself lol, thanks past me)
Weapon parts can display additional tools when manipulated, such as screwdrivers
Weapons can be shouldered, altering the eye position and other values
The active sight can be switched to give more accurate aim with a given sight (input is scaled back when sights are aligned) (Note: Refactored later on with detection of all active sights)
Full auto weapons
Stripper clips
Recoil refactor based on physics equations instead of approximations; chamber pressure is calculated from powder mass and energy potential, cartridge volume and pressure / burn rate curves. This also allows me to more accurately simulate gas pressure at muzzle, which plays a lot into recoil. This will be super important to simulate the effect of compensators / suppressors on recoil, because they affect exit pressure and compensate recoil by redirecting exit gases
Spent some time adding stats-related variables to the weapon part class, paving the ground for weapon parts such as handles, suppressors, muzzle devices, shoulder pads, buffer tubes, etc. which need to have properties for ergo, recoil, concussion etc.
Non reciprocating handles, you can cock the bolt and then the handle remains free floating - but when the bolt comes forward, it brings the handle with it (but only forward). Needed to expand the manipulation system a little for this, but seems to be working very well
Made it possible to handle the multiple firing rates that you find on some trigger groups
Changed the way switchable parts are stored, now they are not loaded into memory until needed. Will save me some headaches later! Since that is the case, made a simple system to load all necessary parts in the background when you approach the shop or the workshop to avoid hitches
Parts can now snap to several positions (to accommodate the BAR selector)
Setup shop prices for weapons
Big refactor to sights system, you don't have to switch sights anymore, it uses all present sights to determine input smoothing, works very well + Fixes issues when no sights presents
Added many properties to the weapon such as recoil, ergo, length, etc.
Weapon properties are now displayed in the workshop
Attachments now remove other overlapping attachments when they are spawned (but only when attached to the same weapon part for now)
Fix input smoothing for scopes
Big refactor of how weapons are registered, allowing for clean spawning of attachments even when slots have duplicate names
More malfunctions supported: Fail to hit any primer, Weapon unloaded, fail to ignite primer, fail to ignite powder charge, Bolt cannot close (held open), Safety is on, No spark produced by flash pan, trigger locked, Hammer not cocked, Fail to drop hammer
I've been doing some work on the manipulation of rotating parts, especially things like revolver cylinders, scope turrets etc. It's starting to feel better, I've added a circle UI (very WIP visually) which helps alot to visualize what's going on
In the same vein, manipulated parts can now display values when manipulated like ranges, either in meters (or imperial units), MOA or mils (once again the font/colors are just for testing). This is especially important because these units will be displayed in your unit system of choice, even though the 3D model itself will only display real-world accurate graduations. It will also be possible to have a menu option to choose if this value should display with units consistent with the real-world weapon or scope model, but it's a low-priority feature atm
Improved detection of overlapping attachments
Improve bolt mechanism code
Multiple grip points per part
Each part now can have an accuracy modifier, not only barrels
Slightly improved muzzle flash effects, doesn't trigger every time (will have a major rework later anyway) (Note: it had a major rework later)
One thing I'm experimenting with is rotation stable dithering, which is much easier on the eye. It's not 100% working right now but promising. (Note: was continued later on)
Implemented a system to manage lights in levels
Improved the edge detection algorithm in several ways, it is now in its final state, works much better
Improved rotation-stable dithering, seems to now be working in all cases
Parametric muzzle blast and smoke is now plugged in and working as intended
Improve smoke effects
Better edge detection on many assets in hub
Improved main hub environement and optimisation of existing geometry
Add new graduated targets and objectives related to bullseye hits
Fruit targets complete with fruit physics
New range! I thought the pistol range was too boring, so now it's an abandonned swimming pool. It also allows much longer distances, up to 50m
Mannequin targets