Forum > Flight Simulation
Tiny Combat Arena, a simulation-lite, yet fun polygon-shaded flight simulator
Asid:
0.12.2.5 New Island terrain, water improvements, and munition fuzes!
Thu, August 24, 2023
Tools for building terrain didn't evolve in this direction so new old tools had to be remade.
Hello, the new island is finally available on the tester's branch. Keep in mind, that it's still a work in progress, so not all features are in yet. Most notably, the new island map cannot be used in the Arena as there's some pending Arena work to handle the more varied terrain.
New Island Terrain
The biggest addition in this patch is the new island terrain. This is the culmination of months of new work using new tools specifically designed for making terrain like this. I've already previously written about this, so check out the original news post for more details.
Once again, the new map is currently not usable in Arena, but this is where the next major's patch's focus will be. This is to support the first campaign, which will essentially act as a tutorial to show off all of the mechanics available for Arena missions.
Improved Water Collisions
As the mechanics of the game are getting closer to finalized, many loose ends are getting tied up. One such example was how the game treats water.
Previously, it was simply recolored terrain, and only some specific weapon-related effects really cared about them. From the aircraft's perspective, water was basically identical to terrain. For a plane that spends a lot of time near water, this isn't acceptable for the final game.
Water now damages aircraft, and when planes smack into water you it's a splash instead of a thud with dirt. In addition, a plethora of new water related effects for collisions and weapons have been added to the game to round out its depiction.
Airburst and Proximity Fuze Improvements
While the game did have airburst fuzes, they were only really supported for cluster bomb canisters. They didn't really quite work correctly with normal dumb bombs, and even when they did, the resulting visual effects could be confusing. Variations of most of the explosion effects in the game have been added to support both air bursting and splashing against water. There are even new interactions with explosions that happen low above the ground (or water!) and the terrain below it.
Munitions now respect arming time. For most bombs and missiles you probably won't notice this, but in the event that a weapon hits something before being armed it won't explode. However, it can still cause damage through the raw kinetic energy of the impact!
An Mk82 variant with an airburst fuze has been added to the game under the "Convoy Attack" loadout in preparation for a future feature. Airburst bombs trade off penetration damage for a much wider area effect of splash damage. This makes them perfect for attacking unarmored targets such as APCs and soon to be in the game trucks.
I wasn't planning on doing this yet, but it resulted from the above water material changes. This is a long, but interesting, story. If you missed it the first time, check out this post for how it all came together!
Night Preview
Before the 1.0 release, the plan was to support night time. The game has had a working time of day system since practically its inception, but because of a lack of night lighting, it's never been enabled for the game. The PAPI lights were only the beginning. Work on night time lighting has been happening in parallel with the terrain development, night time building lights, and now street lights.
While the game isn't yet ready for a full night time setting, the Evening time preset in instant action has been changed to just late enough that city and street lights start to turn on so you can check out where this is going! The plan is not just for night, but for something that works best under the cover of dark.
Changelog
New features:
- New island terrain featuring hills, rivers, bridges, and a tunnel
- New line rendering used on roads, runway markings, landmarks, and scenery objects
- New buildings featuring LODs to maintain consistent detail density
- LODs updated for many existing buildings
- New fog rendering
- Bases moved around
- Murasa is now a large airbase
- New scatter system using pre-defined scatter positions (Still EXPERIMENTAL!)
- Faux "HDR" when looking at the sun darkens objects
- Lit windows at night time
- Effects when aircraft "slide" on water
- Engine wash effects for water
- Flyover effects over land
- Effecs for fuselage collisions with water
- Debris hitting water splahes and gets destroyed
- Water applies damage over time
- Air and water explosion effects for use by vehicles and weapons
- When killed by water, camera is closer and looks at impact
- "Dud" munitions when weapons impact something before their ArmTime
+ Dud munitions play collision impact effects on impact
+ JSON: "SplashWater", "SplashHard", and "SplashSoft" added to "WeaponEffectProperties, used for dud impacts
+ Duds create Rigibdody impulse proportional to kinetic energy of impact
+ Duds do impact damage proportional to the kinetic energy of the impact
- Effects for when a munition airbursts low over ground or water
- Effects for when munitions explode from airburst/proximity fuzes
- Effects for when munitions impact water
- Buildings have meshes for lights at night time
- Mk82 Airburst
+ Mk82 with increased splash radius and 30m airburst fuze
- "Convoy Attack" loadout which uses the new Mk82 Airburst
- Streetlights added to main roads with lights visible from a distance
- Modular helipad models created and populated around the island
Improvements:
- Building shadows made optional
- Map selector handles longer names better
- Arena runs in its own independent scene (back end dev change but hopefully doesn't cause bugs)
- When in arena map, fog is disabled
- Scattering code 50% faster
- Water made "slippery"
- Flyover effects triggered by airspeed rather than throttle setting
- Flyover effect handled per-airframe rather than per engine nozzle
- Optimizations to Flyover and engine wash effects
- All collision impact effects (hard, soft, dirt, ground impact, and impact explode) tweaked
- Debris hitting the water
- Bright water splash effects for weapons
- Fence shadows added to Kogasa
- Inroads for Kogasa/Nazrin
- Buildings baked into navmesh
- Terrain colliders centered terrain meshes to improve physics precision (fixes wrong material detected for weapons/collisions)
- Removed base offset from vehicles now that navmesh is way more accurate
- Grass colors tweaked
- Old islands color palette tweaked to match new islands
- Wire roads added to old islands
- Old island buildings use new prefabs
- "Evening" time of day made late enough that lights are on
- Added buildings to populate the small islands
- Larger new version dialog
Bugfixes:
- Fixed typo on instant action Strike not allowed button
- Removed the random debug M113 groups spawning on the old island map
- Ocean has collision again.
- Removed ocean ghost trees
- Landing gear non-functional on water
- Navmesh for big island continuously connects roads and bridges
- Fixed misaligned navmesh areas
- Terrain sorting prioritizes grass over water
- Improved terrain material detection
- Multi-select dialog wouldn't show second page under certain circumstances
- Flexible select dialog doesn't change size when going between pages
- All strategic targets have correctly assigned airfields again (fixes rearming in instant action)
- Fixed NRE from explosions near buildings
- Fixed NRE from proximity explosions on large terrain objects
- Airburst explosion damage now centered on explosion instead of ground splash
- More accurate raycasting, fixes airbursts sometimes having the wrong effect
- Ejecting pilots have collision disabled for just long enough to clear the plane
+ Prevents ejected pilots from instantly dying when ejecting from grounded planes
- Fixed "Middle Bridge" having its collisions ignored
- Fixed tail/fuselage slime lights on right side of F-4E not rendering correctly
JSON:
- Renamed "Mk82Snakeye" to "Mk82SE"
- Added SplashWater", "SplashHard", and "SplashSoft" to "WeaponEffectProperties, used for dud impacts
Asid:
September, Loaders, and Mod Tools?
Thu, October 5, 2023
Hand pumps can be used to clear pools of water from things that shouldn't have pools of water.
Hello! Between being out of town, getting sick when I got back, then a water heater related crisis, I've had precious little time to work on the game these past few weeks. However, that doesn't mean nothing exciting has happened!
For quite some time now, I've been on and off investigating and working on how to expand mod support. I've been really excited to see modders pushing the boundaries of what I thought was possible, even up to creating their own tools and pipelines for importing new models. I originally came from a modding background (Battlefield and Freelancer mostly, but not exclusively) so I love to see it.
Screenshots courtesy of nuclearstonk and giantenemycrab from the MPS and TCA Modding Discords
Between being inspired by the work the modding community has been doing, and the work I happened to be doing at the time, things had lined up in such a way that I could do something about the most difficult part of modding TCA: importing new assets.
The Problem of Loading Data Files
This is a very back-end problem, but it's important to mention because it gives context to the fun part. In the beginning of September I began work on expanding the mission scripting and trigger system to build out the first campaign, and remove the placeholder dev-test one currently in the game. This was going to require some edits and likely additional data files.
The way in which the game loads data files (JSON files, to be exact) is bespoke and unique across basically every single object type that uses it. This was mostly a product of me learning as I went, since I was unfamiliar at the time with how best to structure this all. Since then, the process has solidified, and in game jam style side-projects, I'd come up with a generic solution worked best.
In TCA's current system, whenever I needed to load a new set of data, it requires a bespoke loader. The past 4-5 of these (most recently weapon related) have basically been completely copy/pastes of each other, further strengthening the argument for the unifying them. Redoing the loaders probably wouldn't take that long, since most of the data is already pretty uniform, but I had other motives for this well, relating to improving mod support and future developments.
For the record, rewriting and unifying all the loaders took only about a week.
The Mod Loader
With all the game's loaders and data now conveniently consolidated, putting together a mod system in which the base game's content is now a "mod" for the game that is simply hardcoded to load by default was fairly straightforward. Additional mods, with their own content and data, can be loaded on top from a new Mods folder. This means that instead of player created mods requiring overwriting of the game's own data files (which will always be wiped on an update as well), mods can coexist in their own folders.
A mod for TCA uses the following:
- Mod.json used to define some metadata about the mod
- Data folder with all of its JSON data in a directory structure matching the base game
- Asset file(s) used to add new content (e.g. models and textures) to the game
Any new data entries get added to the game on top of the Core data. If a conflicting entry is spotted, it will overwrite the Core's (or a previously loaded mod's) data, making it so that changes to base content are still possible.
There not currently any UI for this mod loading process, but some will be added soon.
The Bundle Exporter
While the data for the game has always been exposed, the "missing link" for being able to truly add content to the game has always been a method to add new assets: models, textures, and animations. This was always going to be the trickier part, since Unity's model importers are only available at edit-time, and even in the best of cases imports will usually involve some fiddling with the model to map materials and animations post-export regardless.
The solution: asset bundles, a shockingly under-documented Unity feature that is critical for many games to deliver live content, that can similarly be used to pack content for mods. Sky Rogue's ancient post documents this method and it's been living in my head rent free for many years. Earlier this week I finished up a custom asset bundle tool designed specifically for Tiny Combat and the new mod system. This method of building models for the game has several big advantages:
- Since this runs in Unity, with Tiny Combat's own shaders, you can preview exactly what the model will look in any lighting conditions.
- Tiny Combat requires that that the axes for transforms and objects are aligned correctly such that Z is forward, X is right, and Y is up. Being able to preview the model natively allows you to be sure of their alignment and debug any issues in the import process.
- Animations can be created using the same pipeline as the game, meaning support the game's built in animations (only landing gear at the moment, but this will be expanded in the future as needed)
The project still needs to be cleaned up, but it will be uploaded to GitHub has a self-contained Unity project for 2019.3.30 LTS (the version the game is built on). I've been testing the workflow using the A-10 model that I've been sitting on. It still needs work before it's game ready, but that's exactly why it's been such a good guinea pig.
The Next Patch
Very soon, a new patch to the game will be released on the tester's branch. While this will have the mod loaders, the main purpose is to make sure that the game still functions normally. The loader changes were pretty low level, and while it should
just work, you can never tell with these things, especially because Steam adds another layer of unknowns to this.
I plan on writing a more detailed article (perhaps in the Guides section of the game) for how to create mods. It's a very straightforward thing to do, so it shouldn't be too complicated. The asset bundle tool however will be much more involved, and its own separate guide. As stated above, the bundle tool still needs some cleaning up before it's ready for public release, and may take some time to write up the documentation necessary.
Asid:
0.13.2.1 is now Live! Featuring basic mod support, Night, and Updated Island.
Wed, 1 November 2023
Work on the second cockpit has begun.
Hello! This one is a long time coming and the culmination of a lot of behind the scenes work and also what was effectively a weekend side project for a while.
Tiny Combat Tools
The Tiny Combat Tools have been released on GitHub. The game has always been built with modding in mind. The game's JSON data files were meant to be edited, and with the new mod loader from last patch, no longer required overwriting the game's native files. Unfortunately adding new content is a lot more complicated, which is where the TCA Bundler comes in.
Using the new tools and TCA Bundler, you can import models and preview them exactly as they would appear in the game, using the same materials and shaders as the real game. This finally allows for the addition of new content by mods.
Check out the GitHub page for more details, along with instructions on how to import models.
Please keep in mind that there isn't a UI yet to show mods that are loaded and any errors, so if you plan on modding the game it's recommended to stick with the tester's branch in the meantime since it will print error logs to the screen.
Yak-141 by nuclearstonk and giantenemycrab
Night
The progress on night time is both ahead of schedule and close enough that night is now selectable in the game! The time of day system has support night for a long time, waiting only on an implementation of night lighting such as streetlights, runway lights, and beacon lights. All of these are now in the game and thanks to the tech artist look fantastic! The distant point light rendering saw another revision and now looks great at all resolutions and all distances, as well added support for blinking beacon lights.
Finalized Sand Island Map
With a couple new bases and other redesigned ones, the Sand Island map is approaching finished. Only gameplay related work remains, which means updating the Strike Instant Action missions along with the Arena UI improvements necessary to build out the first campaign.
Changelog
New features:
- New mod loading system
- Mods can be loaded on top of each other
- Core game is now a hardcoded "mod" that gets loaded first
- Many new buildings and props placed around the updated Sand Island map
- Lights rendered as pseudo-sprites for pixel perfect point light goodness
- Night is selectable in Instant Action
- Automatic HUD dimming at night time
Improvements:
- Unified loaders for all JSON data
- Text adjusted to work better at low (800x600) resolutions
- Better runway lighting
- Updated many buildings to use the new point lights
- Added PAPI lights to Murasa
Bugfixes:
- Added quotes around the names of duplicate/overwritten data error/log messages
- Bad campaign data no longer corrupts the persistent Arena save file
- Bad campaign data no longer breaks the Arena selection UI
- MapList.json now loaded on a per-mod basis
- Vehicles initialized through the mod system
- Fixed gun display name not showing correctly
- Fixed markings not appearing correctly on Expeditionary field
Balance:
- AV8B roll rate increased 140 -> 180
JSON:
- In Loadout definitions, "Aircraft" renamed to "Name"
- In Loadout definitions, "Loadout" renamed to "Loadouts"
- "Store" in the Store definition has been removed and made part of the Store definition itself
Asid:
0.13.3.1 now available on the Tester's Branch
Thu, 16 November 2023
This patch touched the two scariest and most difficult to work on aspects of the game: AI and UI.
Hello! This patch adds IR missile launching for the AI aircraft, new Random and Waves options for instant action, and the building out of the NAV mode HUD. As was mentioned in a previous post, there are two parallel tracks of development happening in order to finish off the game's features.
Arena UI and Mechanics:
Mechanically, Arena is close to completion. There are still some features remaining, most notably tactical targets and convoys, but most visible of the remaining work is actually in the UI. The way information is presented on the Arena map, particularly for strategic targets, is still essentially "debug" information. For 1.0, the Arena map is going to get a lot easier to use, and more interactive. Included in this work, is how the information gets presented during a flight, which will be through the NAV mode detailed below.
Air Combat:
As was mentioned in previous posts the air combat is still missing a couple features, the most obvious being missile combat with the AI, and AI against AI. Beyond just this, how aircraft fit into the Arena campaign. Initially I was planning on doing this after a lot of the Arena work, but they go hand in hand pretty well, so I've started working on both in parallel.
AI Firing IR Guided Missiles
This is will be an area of ongoing work that will have pretty sweeping effects on most parts of the game. As such, this is only the first part of a much larger revision to air combat, which will eventually include radar guided missiles and new tactics by the AI.
The skill level of the AI dictates how ready they are to part with their own missiles. Rookies will rarely fire missiles, only if they are tailing a target for a good amount of time. Aces on the other hard will fire basically as soon as they have a good lock.
For the time being, the AI is restricted only to firing IR guided missiles. Until chaff is functional (which will come with radar guided SAMs) I wasn't comfortable with allowing the AI to fire radar guided missiles since there'd wouldn't be much in the way of counterplay yet.
NAV Mode
The Arena map symbology isn't meant to be overlaid while flying, but it was a convenient hack at the time. NAV mode is meant to clean up and declutter the HUD, and to give a non-combat "strategic" view of the map while flying on it. This update is just the first part of this
Shoutout to Mors on the Steam forums for planting the seed for this!
Changelog
New Features:
- NAV Marker system to replace Arena symbology for bases while in flight (NAV mode is WIP feature)
+ When in NAV mode, strategic targets have faction-colored HUD elements with their names
+ Arena symbology (big wall of text) is no longer shown while in flight
- AI have the ability to fire IR guided missiles
+ How often missiles are fired depends on skill level (Rookies rarely fire, Aces will spam missiles)
- Wave system added to dogfight instant action
+ When waves >1 all aircraft of a faction respawn when shot down
+ Endless waves option added
+ New incoming waves spawn randomly within a 10 mile radius of their mission defined spawn
- Added "Random" option for aircraft type in Dogfight
Improvements:
- Tweaks to text rendering to make it more reliable at lower resolutions
- Optimized show/hide code for vehicle group icons
- Proximity fuzing ignores friendlies
- Dogfight lowest starting altitude raised to 3000ft
- Wings in Instant Action Dogfight/Strike spawn at 3000ft AGL or MSL, whichever is higher
Bugfixes:
- Lines no longer draw between strategic targets when not in Arena
- Fixed NRE caused by AI running out of missiles
- Missile launch notification no longer appears for AI fired missiles
JSON:
- In Arena definitions, StrategicTargets can have a "HudName" for NAV mode display
Asid:
0.13.3.2 is avaiable on the tester's branch
Wed, 29 November 2023
These changes caused a lot of subtle issues that were difficult to fix.
Changelog
Improvements:
- Instant action dogfight respawned waves now appear relative to the player
+ They also respawn in the original specified configuration, with some random offsets
Bugfixes:
- Incoming wave message time reduced 600s -> 15s
- Fixed instant action dogfight friendly waves not respawning
- Fixed bug where mission failed when instant action dogfight allied planes (but not player) were destoryed
- Fixed bug where respawned waves could appear only at 1800m AGL
Navigation
[0] Message Index
[#] Next page
[*] Previous page