Mike,
1)Pre-existing event names don't seem to show up. You mean you named events in my editor, saved, loaded and they didnt appear (events that had names are named "Event XXX")? Event names are supposed to be stored as arme_name attribute in the event node, do those appear in the xml the editor saves?
If you want to convert lines of comments before events into event names, you can use tools-convert options to do it (you can convert every comment above an event into event name, or you can convert only single-line comments, so you dont get last line of a multiline comment converted, it looks wierd)
2) Searchable event library: In other words, you need an ability to copy an event or start block to some "storage" that persists on exit, and being able to paste from that "storage" at any time, right?
Or, do you want it to search each mission you have (like, each mission inside Artemis/dat/missions folder) based on some criteria?
What do you want the search to look like? Search by what criteria?
Maybe i should just make it so you can copy events as text from your text xml editor and paste them into my editor? It seems to me that a notepad++ or similar tool you're using has a much better interface for searching for stuff you need than i could make in any reasonable time (since you can search in files, propably use regular expressions, etce tc). So you could use that to search and then just paste it into my program, simple and easy?
3) Storyboard mode Well, an emulation of the game in controlled environment is what this ultimately is - that would be time consuming to do, including the fact that if Thom decides to make some major improvement to the mission scripting, it would mean a re-write of this part, possibly from very scratch. Also, i'm thinking this is much better for game author to implement, something like a console (~) mode where user can see what events fired, query status of any variable or timer, run any command, make stuff invincible etc. This would be better because it wouldnt require a re-write each time a game changes - it would use the same code parts the game uses to execute those events.
What you propose is a much simplier version of this, but either i dont understand you or it wont work. If it works only by executing single events, then you could lack some variable introduced in another event, like, if you dont start from the beginning, and execute some other event, it may be so no other event can fire because some global variable like "chapter_number" isnt set.
However, based on your idea, right now i think something like this would make sense and be not hard to implement or support when game changes:
A mode (new window) can be opened where you see the "game state". It consists of:
- the list of objects currently on the map with basic info on their stats
- list of variables and their current values
- list of timers and their current seconds
- list of events executed or actions taken by the operator
There also should be a list of events that are ready to fire based on the current state of the variables, existance of objects etc. You can click a button to execute topmost of them or execute them manually.
Also, a list of events that are ready to be executed BUT require something from the space map would appear, and you could go through them and see what they need to fire (like, this event fires when timer expires, variable is set and property XXX of object YYY is less than ZZZ, and timer and variable conditions are fulfilled, then it will show in that list, and when you select it, it tells you in some manner what this event needs to execute, and you can click execute on that event
The operator can:
- advance time until next timer expires or set seconds forward
- add or remove manually any variable or timer and set them to any value
- remove (destroy) or add any named object
- execute topmost or any event ready to be executed
- execute by hand any event that is ready to fire except it needs something from the space map (like, it needs a ship to be destroyed, or it needs a ship to be inside rectangle, etc).
Executing the events of course changes the list of objects on the map, and state of variables and timers
You can also move back and forward (undo/redo like functionality) in the list of executed events or actions.
What do you think of this idea?
[Last edited Apr 25, 2012 07:09:08]