0.4.0.0
Bugfixes
- Save completion time immediately upon finishing scenario by @xsebek
(#1118) - Fix rightward bleeding of custom attributes by @kostmo (#1137)
- Recreate
GameState
from scratch when starting a scenario by @byorgey (#1277) - Load persistent state from disk only once and reuse for all integration tests by @byorgey (#1383)
- Continue parsing the rest of the scenarios in a directory when one fails by @byorgey (#1391)
- Throw an error instead of crashing on impredicative types by @byorgey (#1418)
New Features
Tutorials
- Some tutorial improvements, and enforce in CI that commands and entities are introduced before they are required by @kostmo (#1186)
Swarm language
- The
drill
command now returns the first inventory addition by @kostmo (#1165) - Type ascription syntax by @Alexander-Block (#1164)
- Records and record types by @byorgey (#1148)
requirements
command for viewing requirements of any expression by
@byorgey (#1183)stride
command by @kostmo (#1219)- Many new robot sensing commands by @kostmo:
- New key input handler framework by @byorgey, so you can program robots to
respond to keypresses (#1214) instant
command (unrestricted variant ofatomic
) by @kostmo (#1231)push
command by @kostmo (#1235)density
command by @kostmo (#1296)use
command by @kostmo (#1287)halt
command by @byorgey (#1256)backup
command by @kostmo (#1400)
Entities + recipes
- Make
sand
a bit harder to get by @byorgey (#1024) - New
tweezers
entity to enable debugging view and single-stepping CESK machine by @xsebek (#1081) ADT calculator
description now mentionsunit
andvoid
types #1226- Allow zero-tick recipes to apply immediately by @kostmo (#1272)
- New
hourglass
device that provides relative (wait
) but not absolute (time
) capability by @kostmo (#1261) - New
binoculars
device that providesscout
command by @kostmo (#1337) - Separate entities to provide each text operation by @kostmo (#1339)
World features
- Structure templates by @kostmo (#1332)
- Waypoints and portals by @kostmo (#1356)
- Subworlds by @kostmo (#1353)
- World description DSL by @byorgey (#1376)
LSP improvements
Web API
Command line options
New scenarios
- Adventure game scenario by @kostmo (#1136)
- Run around in circles by @kostmo (#1158)
- hackman by @kostmo (#1135)
- Whack-a-mole by @kostmo (#1026)
- Additional tutorial level on
give
by @byorgey (#1249) - Lights out by @kostmo (#1273)
- Pig capturing scenario by @kostmo (#1258)
- Sokoban levels by @kostmo (#1269)
- Traffic vignette by @kostmo (#1334)
- Active trapdoor demo by @kostmo (#976)
- Sliding puzzle by @kostmo (#1237)
- Scenario with enemies by @kostmo (#971)
- Arbitrage scenario by @kostmo (#1192)
- Powerset scenario by @kostmo (#1342)
UI enhancements
- Allow scrolling the world map unless explicitly disallowed by @byorgey (#1109)
- Add random "static" to
view
outside a certain range by @byorgey (#1110, #1241) - Display the scenario in which an achievement was obtained by @kostmo (#1175)
- World editor prototype by @kostmo (#873)
- Scenario launch options selection by @kostmo (#1010)
- Record best code size by @kostmo (#974)
- Inventory search/filter mode by @byorgey (#1250)
- Display higher clock resolution at lower speeds by @kostmo (#1253)
- Make REPL panel collapsible by @ussgarci (#1076)
- Better typechecking error messages by @byorgey
(#1308, #1318) - Rename inventory to compendium by @kostmo (#1346)
- Goal dialog suppression with
--autoplay
by @kostmo (#1344) - Change binding for Hide REPL to
M-,
by @noahyor (#1375) - Highlight ticks per frame in red when it reaches the cap by @byorgey (#1386)
- Parse and render markdown descriptions by @xsebek (#1106, #1413)