BATTLEZONE
Version 1.5.2.7
Released 2013-04-07
This build makes major revisions to collision and physics, improving accuracy and allowing per-polygon collision on moving and animated objects. Vehicle collisions with terrain and buildings are much less "sticky" than in prior 1.5 releases. Buildings and producers use per-polygon collision and buildings act as terrain floor so vehicles and pilots can use them like terrain.
Enabling strategic AI control for all teams turned out to be surprisingly expensive so mission scripts must call SetAIControl during initialization for any team that will be using an AIP. This will unfortunately break most existing Lua mission scripts.
Downloads
Testing Executable and Symbols
What's New
Collision and Physics
- Improved per-polygon collision
- Now supports moving and animated objects
- Works more like box collision internally
- Buildings and producers use per-polygon collision
- "What you see is what you get"
- Buildings also act as terrain floor
- Added collision debug display
- Toggle with cheat code "drawcoll" (holding SHIFT+CTRL)
- Shows entity world bounding box in grey
- Shows other collision shapes in team color
- Supports spheres (in theory), boxes, and polygons
- Reduced friction/stickiness of craft collision
- Do collision detection after simulation instead of before
- Ensures that it uses with up-to-date values
- Moved collision resolution to post-simulate
- Improves collision accuracy (especially continuous contact)
- Works a bit more like a modern physics system :)
- Producers use car collision when interacting with buildings
- Collision only works if at least one entity uses car collision
- I predict that I'll end up regretting this one...
Mission Scripting
- BREAKING CHANGE: only set team AI as controlled when requested
- Strategic AI uses a lot of memory even when inert
- Single-player missions default to team 2 (for compatibility)
- Multi-player missions default to none
- SetAIControl function allows missions to override the default
- NOTE: this only takes effect during pre-load!
- Inst03Mission supports Lua mission scripts
- This allows play01.bzn to act as a Lua testing sandbox
Editor
- Fixed some crashes
- When showing Goals or Priorities for a team with no strategic AI
- When a path got deselected while editing
- Added new path editing features
- Delete removes the selected path point instead of the last point
- Holding control inserts points after the selected path point
- Holding control allows selection of the start point instead of forming a loop
- Added extended teams (8-15) to the Build Team menu
AI
- Strategic AI checks relations when looking for enemy buildings and units
- It previously assumed all other teams were enemy :|
Pathing
- Track team ownership of terrain cells
- Replaces the previous "team hazard" mechanism
- Works correctly for all non-neutral teams (1-15)
- Pathing now takes team alliances into account
- Fixed AI terrain avoidance forces for teams 3-15
- Affected player-controlled teams on 3-way and 4-way maps
- Crippled high-numbered teams in IA and MPI
- Fixed units on AI teams not counting towards kills
- There's three different places keeping track of score...
Crash Fixes
- Prevent terrain access from reading outside the world
- The world effectively "wraps around" at the edges
- Fixed ConstructionRigProcess class crash in misn09.bzn
- Handle CMD_STOP more like other producers
- Fixed clients crashing when someone killed a unit on an AI team