Ideas for improvements and changes to the 3.0 branch for Campaign functionality.
1) Implement an internal FMV framework (like in the Star Trek: Armada series -- reference is here (YouTube link) ) and have it be scriptable. This will greatly help anyone making sequences, whether they be missions or otherwise, and avoid the need for external tools other than for audio. Of course, still support .ogg sequences (to maintain backward-compatibility). A prototype command list could be (and expressed in terms of the *current* WZScript fashion, which IS going to change, and useable in a .slo):
Code: Select all
beginSequence; (Starts a sequence using the internal engine.)
endSequence; (Stops a sequence that has been started using beginSequence.)
showSequenceTitle(["title"], [duration]); (Shows a title for the sequence, if desired. [duration] is for how long (in 1/10 seconds).)
startAudioFile1([filename]; (Plays an audio clip that starts when called. [filename] is the file.ogg, relative to /audio or /music. Returns an error if fileNotFound.)
startAudioFile2([filename]); (Plays an additional audio clip in conjunction with startAudioFile1. Same conditions as startAudioFile1.)
startAudioFile3([filename]); (Plays an additional audio clip in conjunction with startAudioFile1 and startAudioFile2. Same conditions as startAudioFile1.)
enableCamera; (This will initialize the camera for use)
cameraLook(ID); (Camera looks at an object without locking onto it. ID is the internal ID of the object.)
cameraLockFocus(ID, [distance]); (ID is the Object you want it to focus on, can be an Object, Feature, Structure or Unit -- will need some "dummy" objects so we can lock the view to places on the map.)
cameraUnlockFocus; (unlocks the camera from where it's been locked at in cameraLockFocus.)
cameraFollowObject(ID, [distance]); (ID is the Object you want it to follow, can be an Object, Feature, Structure or Unit - distance is how far away the camera is as it follows)
cameraMoveTo(INTx, INTy, INTz, [speedX], [speedY], [speedZ]); (This lets us pan the camera in 3 dimensions and at what rate it happens, start-to-finish. Speed is in 1/10 seconds)
cameraLockedMove(INTx, INTy, INTz, [speedX], [speedY], [speedZ], [zoomStart], [zoomFinish], [zoomrate]); (This lets us pan the camera in 3 dimensions while focused on an object and at what rate it happens, start-to-finish. Speed is in 1/10 seconds - set cameraLockFocus(ID, [distance]) first before using this. Zoom is how close you are zooming in, zoomRate is how quickly you're zooming. Set up like this so we can zoom while moving the camera at the same time.)
cameraZoom(ID, [zoomStart], [zoomFinish], [zoomrate]); (ID is the object we zoom in on, [zoomStart] is starting distance away from ID, [zoomFinish] is ending distance, [zoomrate] is the duration of the zoom action. Can zoom in AND out.)
objectMoveTo(ID, [locX], [locY], [locZ]); (Orders an object to move to some coordinate on the map, expressed in x, y, and (for flying objects like VTOLS) z.
groupMoveTo(GROUP, [locX], [locY], [locZ]); (Orders a GROUP to move to some coordinate on the map, expressed in x,y, and (for flying objects like VTOLS) z.).
objectTurnTo(ID, [angle]); (Turns an object 0-359 degrees, if it CAN turn. ID is the ObjectID of the object in question, [angle] is the 0-359 degree of the turn.)
2) Currently in Master it's difficult to judge the terrain underneath of where you're trying to place a structure. I'd like to see glowing vertices that reflect the actual map vertices underneath the selected area your mouse is currently on when placing a structure. It dosen't have to be over-the-top, maybe use +/- 50% transparency to show those vertices, but make them visible enough to be seen by the player.
3) Currently in Master the renderer is taking too *many* liberties with interpreting the terrain. This results in maps that don't really look as designed.
That's all I have for right now.


