Cours what parts are in Lua, tutoriel & guide de travaux pratiques en pdf.
Why use a scripting language?
● Glue!
– 95% of animations and cutscenes are custom
– Scripting language is key to reducing weight
– Clean separation of engine from content
– Example:
● actor guybrush walk-to banana-tree wait-for-actor
actor guybrush say-line “Mmm, bananas…” actor guybrush face-camera
actor guybrush say-line “Wish I had a banana-picker”
What existed (I)
● SCUMM: Script Creation Utility for Maniac Mansion
– SCUMM is really just the language
– SPUTM (interpreter aka game engine)
– FLEM, BYLE, etc. for creating assets
● Proven technology
– Used in dozens of shipping titles
– Multi-platform
What existed (II)
● Huge pedigree of beloved games
– Maniac Mansion, Secret of Monkey Island I & II, Sam and Max, Day of the Tentacle, Full Throttle…
● Talented designers and artists
What existed (III)
● …and me!
– One naïve coder fresh out of school
Why screw it up then?
● Concurrent projects pushing technology envelope
– Jedi Knight, a 3D FPS with great coders
– Outlaws, a 2.5D FPS with great coders
● Smart people I could steal from!
● New look needed
– 3D was the new black
– SCUMM didn’t speak floating-point
● Nobody stopped me
– Though they predicted doom
Lua hacks made
● I had no idea what to call these at the time
– Cooperative tasking
● Added language primitives for iterating over/inspecting them
– Stackless Lua
● Completely by accident
● More could have been done
– State serialization/deserialization
What parts are in Lua
● Everything that matters
– Dialogue
– Puzzle logic
– UI/controls
– Menus
● Engine handles only animations, backgrounds, sound, rendering, choreography, etc etc etc… but those aren’t Grim Fandango
What went right
● Lua!
– Time went to other systems
● Smart people I stole from
– Rendering
– Movie playback
– Anything else hard