Edwin Brady | EB |
Stephen Quinney | SQ |
Andrew Chadwick | AC |
Thalia Teasdale | TT (Chair) |
Stuart Teasdale | ST (Secretary) |
James Quinney | JQ |
Stuart Bird | SB |
TT opened the meeting and thanked the attendees.
No previous meetings.
None
EB informed the meeting that rendering was present, with hooks for extra bits - hyperspace, docking, etc. The flight model is in need of sorting.
Event handling and guile to sort.
Outstanding:
EB outlined the need for a demonstrator consisting of a player flying around with some other ships. Shooting, navigation and other important stuff should be included.
Economics is needed but not till later.
AC informed the meeting that the Perl was coming along nicely and outlined the structure.
Perl calls C to initialise the universe. The model loader and dumper are also in.
The Perl achieves a flexible extension system, c.f. emacs, where most of the functionality is written in the extension language.
There is a need for core classes which are well documented.
EB added that he saw the AI as basic in C++, but driven by Perl events. He added that the split between fast C and slow Perl was important, with an aim to keep the speed critical bits in C and put complex stuff in Perl.
SQ asked "What's going into Perl?"
AC answered with the following
items:
EB summarised by stating that C++ would control per frame bits, and Perl doing event and construction bits. Objects will respond to events.
EB continued to outline that C would handle an object being shot and trigger the special effects. Perl would then delete the object.
AC stated that Storage, Callbacks and Game events form the beginning of the library.
Storage - Each entity is called a THING.
It has properties which are hierarchical to stuff stuff. This provides a
flexible system. The extension programmer shouldn't need to see the exact
layout, but instead use the API to access. The classes in so far include:
Other bits would include, e.g. market prices.
The thing will be very flexible and nearly complete, but needs integrating with EB's bits.
EB - "Only needs a facade for `flyey abouty bits'".
AC continued to Callbacks.
C fires an event - Perl handles it via specially named methods (e.g. 'On collision'). It also tidies up.
The system will allow specifying what events to listen for. We must avoid firing the Perl when not necessary. The Queue will have to be smart.
SQ queried if the code would be replaceable, e.g. simple to complex AI.
AC continued to Library
There is a need for properties to change dynamically. This would form the standard place to plug in AI modules to handle different AI behaviour.
ST pointed out that this was a major gameplay decision.
AC pointed out that he also needed lots of objects coded up.
It was decided to place an action on AC