Saturday, 26 June 2010

Engine Update: (Finally?) Switching to Winforms

You might argue it's about time the engine got a proper interface, I agree :) I was trying to avoid using winforms (to keep compatibility with Xbox easy and maintainable to name a reason) and using the console for most if not ALL runtime actions (except for the Gizmo) I had my reasons for not using winforms, but after rethinking the overall design of the engine, its time to do things a little bit different...

One of the reasons that got me doubting the usability of the current interface is a new (and still WIP) feature for creating animations at runtime. The goal of the Animation Editor is not to create complex character animations, but rather allow the creation of quick and dynamic animations for rigid objects such as doors and elevators. At first I made it compatible with the Console like any feature prior to this one...It works, but is definitely not the best way to do animations. It's hard to know what keyframes are used, and what the timelines looks like...I made a very simple elevator animation (with acceleration and deceleration) and it does work...however it's not very flexible, at all.

That got me thinking and finally got me to try winforms...After an hour of experimenting, it finally worked. I'm pretty new to winforms, but it surprised me how easy most things can be achieved with very little effort. For starters I made a "Search Actors" window as well as a "Object Properties" window. Both are shown below. (Click on image for full-size)



The Search window can be activated using "Ctrl-F" like many other applications, clicking the "properties" button with an object selected will show its...properties.

I have a few other browsers/windows I'd like to get working on in the next couple of days (Tracker window, Content Browser, Animation Editor) I'm currently looking at UDK (Unreal Development Kit) for inspiration on browsers/windows. Their Content Browser is pretty great, and would really help with game development if Core Engine had something similar.
During development of "Over Night" we did lack a proper naming convention and both the asset naming and asset count quickly got out of hand. In the end it took a lot of time to find the proper texture file or locate a specific model.

I think I've talked enough about winforms for now :) I've got a few other features lined up, most of them are already working properly, but are still in early alpha stage...

No comments:

Post a Comment