From: Ian L. <ig...@ea...> - 2003-04-26 20:52:37
|
On Sat, Apr 26, 2003 at 05:55:45PM +0200, Shae Matijs Erisson wrote: > > Please respond with any comments, thoughts, or ideas. > > Basic Idea: > real-time strategy, similar to warcraft, starcraft, command&conquer, etc > different in that the player writes the AI for his units ahead of time, and then uses high level less-detailed controls/commands in battle (or more detailed if you want to write it that way) I don't think the pre-game order writing is any different to the in-game ordering. It may turn out that players tend to start the game with a portfolio of complex orders that they anticipate being all they need for the game, and spend the game just assigning them as appropriate. > Open questions: > > Is communication jamming a good idea? This can be ignored for now, of course. As for orders, we could have something like this: Trigger datatype, essentially a function of type WorldState -> Bool onTrigger :: Trigger -> State -> State -> State With the orders -------------------- See enemy unit ------------------ |Go to waypoint foo|==========================(Destroy enemy unit) -------------------- ------------------ | | Got to waypoint foo | * we could have state1 = onTrigger see_enemy_unit (destroy_enemy_unit state1) $ onTrigger (got_to_waypoint "foo") nostate $ go_to_waypoint "foo" I don't think this gets us any closer to order updating. I guess the engine probably wants to work by working out how long it is until the next trigger happens rather than stepping time and testing them; this will have to be updated every time the user does anything that might change it, of course. Ian |