Author Topic: Cutscene Control [UI reworking, pg5]  (Read 6145 times)

PROGRESS UPDATE JANUARY 4:
•Began working on some client-sided code for viewing cutscenes.
•Started some work on the Director Mode HUD

System_Cutscene will be necessary for client code needed to fully use Director Mode and certain other elements of the mod. Clients without the add-on will still be able to view cutscenes, but miss out on a few touches that the creator may add. These are fairly minor, however.
« Last Edit: January 04, 2014, 07:34:34 PM by otto-san »

Oh boy, will there be a beta?

Oh boy, will there be a beta?
probably. i'll need to have people capable of hosting and stuff to help test out and find bugs

i'll also probably want to make some kind of demo build or gamemode ideally

probably. i'll need to have people capable of hosting and stuff to help test out and find bugs

i'll also probably want to make some kind of demo build or gamemode ideally
Well I have a dedi server, I can host it if you want

Really needing this because the current path cam events are garbage for single player campaign maps.

I'm no professional UI designer, so I'll probably be asking for opinions for the Director Mode HUD a bit.

I made this timeline graphic for the top of the screen:



Events will probably be represented by coloured dots or arrows on the timeline, and numbers will be on either side to indicate the current range you're viewing. There will probably be keyboard controls to scrub (or whatever it's called) and scroll and all that fun stuff. Possibly the building keys could be used to control some elements if no temp brick is present?

PROGRESS UPDATE JANUARY 6:
•Did some more UI work. Hoping to get a director mode mockup soon.


Relevant but insignificant: events will be represented by coloured dots on the timeline. The colour will probably represent the event type, and probably also if the event is valid.

Which gives a good opportunity to provide some information on the workings of event types.
NO LONGER RELEVANT; EVENT TYPE SYSTEM HAS BEEN REVISED
Events must have a type to be valid, period. The type of an event determines how it works, and if the correct functions aren't present for this type, it can't function in any way. Types only really need one function in the format of CutsceneEvent::ActionType[TYPENAME](%this). This is what is called to make stuff happen. However, it's highly recommended and a very good idea to also provide another function in the format of CutsceneEvent::ActionCheck[TYPENAME](%this, %nospam). These functions are used as a quick way to confirm that an event is ready to execute. The %nospam parameter is used to turn off any debug messages (obviously all this depends on the coder to do it all properly, though if they use the base code as reference they should). In script, it's not necessary, but it could definitely help avoid breaking things.


EDIT:
I got the function to display the timeline working. I'll work on stuff to make the numbers easier to read in the future.


It should work with people playing on the lowest possible resolution as well.



PROGRESS UPDATE JANUARY 7:
•Made a system to keep track of events on the client-side
•Made some more HUD graphics for events
•Worked on displaying events on the timeline
•Misc. dependency functions
•Finished up the timeline HUD's code
•Created scrubbing controls using the brick movement keys

EDIT:
Events now correctly display on the timeline. Every thing on the timeline represents an event. Dots are confirmed good events. Question marks aren't confirmed good (should only appear before the server's sent information about the event). Dots with X through them are confirmed non-ready events by the ActionCheck method. Colours are representative of the event type.


Note that these were created using a function that would vomit out random events.

EDIT:
playhead is working, looks a bit goofy atm but this was the first time it was ingame

« Last Edit: January 18, 2014, 08:38:02 PM by otto-san »

i just made it a ton prettier and also p much finished the timeline's functionality outside of making some keybinds for scrubbing



i'm making another post because i'd like some opinions on it

EDIT:
finished the scrubbing controls. this gif demonstrates the three scrubbing speeds, two scrolling speeds, and return to 0


i haven't yet implemented anything to change the step (which, since it probably isn't obvious, is basically the 'zoom level', and represents the amount of time between each tick)
« Last Edit: January 07, 2014, 09:31:27 PM by otto-san »



PROGRESS UPDATE JANUARY 8:
•Worked on the server-sided handling of Director Mode
•Added in changing to zoom level using brick rotation keys, supershift z+ resets zoom
•Modified the Step HUD to display as zoom level instead, rather than the raw MS (e.g. 1x is 1000ms, 0.5x is 500ms)

PROGRESS UPDATE JANUARY 17:
•Added the ActionOnAssign[TYPE] cutscene event method
•Worked on the path camera event type
•Improved event object registration
« Last Edit: January 17, 2014, 06:56:07 PM by otto-san »

is there going to be a beta release or beta testers?

Slayer already has a cut scene system, but I might replace it with this once you're finished. Nice work.

is there going to be a beta release or beta testers?
probably. i don't like the whole 'beta testers' model though, so it'd probably be a public server. filipe's offered to let me use his RTB server for testing.

Slayer already has a cut scene system, but I might replace it with this once you're finished. Nice work.
wo rly

i didn't even know that haha

PROGRESS UPDATE JANUARY 18:
•Worked on the path camera event type
•Worked on director mode camera shape handling
•Changed the type system to be less asinine by using the amazing capability of ScriptObjects to utilize four namespaces.
•Added the CE[TYPE]::OnParameter(%this, %name, %value) method.

So the change to event types means that events now will have the superClass of "CutsceneEvent" and the class of "CE[TYPENAME]". This also means that a) an event type is now necessary upon creating an event and cannot change, b) no evals, c) it's much easier to have a polymorphic model for cutscene events if need be, and d) the entire event system is much easier on the eyes and mind.

http://www.youtube.com/watch?v=ziuAsjBWxFs
« Last Edit: January 18, 2014, 08:54:21 PM by otto-san »