One thing to consider though: the automatic object data saving feature is very convenient, but there may be situations where it may be unwanted: for example, if the game happens to save just before the player ends up dead, and then if there is no way to prevent the event from reoccurring when the save point loads.
Of course, there are several ways to avoid this (aside from loading a previous save point) - one would be to design the levels and save points so that this can never happen. However, you can never be too sure... A different approach would be to provide the script-writers with some way of differentiating variables that are to be saved, from those that are not. This might prove to be a little cumbersome, though. Another approach to consider, especially if the overhead of saving redundant data is not that significant, is to provide the script-writers with a way to respond to a script-reload (or game load) event, so that they can reset those object properties they see fit.
Oh, yeah - if I understood you well, the game-entity object "types" can be defined as anything the script writer can imagine? Like, instead of having a limited set of certain kinds of entities as before, with the new engine you'll be able to extend this set with new kinds of entities (with new kinds of behaviors and customized data)?
How will/does the model editor cope with this? And are the script-based entity "types" somehow extend or build upon the underlying C++ types?
Regarding saving: Mostly, there are far less variables that are not to be saved. So simply having a system for marking these should be sufficient.
When it comes to death, the usual way is just to disable saving when player is certain situations.
Regarding entities: Yes. Pretty much. There are three basic types: areas, props and creatures that all have some basic functionality. Then you can add (and sometimes overload) what ever functionality you like for an entity. The editor has a special config file that sets up all variables that the entity has. Same system that we used before in Amnesia.
Nice! Very nice.
ReplyDeleteOne thing to consider though: the automatic object data saving feature is very convenient, but there may be situations where it may be unwanted: for example, if the game happens to save just before the player ends up dead, and then if there is no way to prevent the event from reoccurring when the save point loads.
Of course, there are several ways to avoid this (aside from loading a previous save point) - one would be to design the levels and save points so that this can never happen.
However, you can never be too sure...
A different approach would be to provide the script-writers with some way of differentiating variables that are to be saved, from those that are not. This might prove to be a little cumbersome, though.
Another approach to consider, especially if the overhead of saving redundant data is not that significant, is to provide the script-writers with a way to respond to a script-reload (or game load) event, so that they can reset those object properties they see fit.
Oh, yeah - if I understood you well, the game-entity object "types" can be defined as anything the script writer can imagine? Like, instead of having a limited set of certain kinds of entities as before, with the new engine you'll be able to extend this set with new kinds of entities (with new kinds of behaviors and customized data)?
ReplyDeleteHow will/does the model editor cope with this? And are the script-based entity "types" somehow extend or build upon the underlying C++ types?
Regarding saving:
ReplyDeleteMostly, there are far less variables that are not to be saved. So simply having a system for marking these should be sufficient.
When it comes to death, the usual way is just to disable saving when player is certain situations.
Regarding entities:
Yes. Pretty much. There are three basic types: areas, props and creatures that all have some basic functionality. Then you can add (and sometimes overload) what ever functionality you like for an entity.
The editor has a special config file that sets up all variables that the entity has. Same system that we used before in Amnesia.
Are u guys still there? (lol)
ReplyDelete