top of page

Engine System Proposal

User Interface Tools

Motivation

Ever since I started developing apps and websites in my undergrad, I always tended to be put an extra focus towards UI naturally as a designer perspective. Further, developing games the interest remained the same because I believe UI is one of the most important factors not just in games but in any other application in general. While creating this system, I want to take that UI designer perspective of mine and start thinking about providing simple easy tools to create UI features for the game developers.

Before I talk about features..

I did some research to Figure out core UI features that I would want to create.

  • Looked at Unity and Unreal Engine's UI Tools.

  • Found some other examples of UI systems

 

I am still continuing this research to figure out how to make the interface more user-friendly.

The features I am planning to create

After the research followings are the features I think will be most useful at this point. I might add other features if I find out them later.

​A widget: It will be the main class/component that can be added to a camera. It can have the following features as children/components. 

  • Panel (A basic rectangle colored area.)

  • Healthbar or related other bars.

  • Button

  • Text (at the bare minimum if I have time)

    • Menu (Made using buttons and panel)

I didn't want to overscore the features and then end up leaving the project buggy and undocumented, so Included those features that I think I will be able to achieve at this point.

About using the system

At this point, I am not sure about the exact functions and classes I will be creating. I don't want to rush and submit something else without figuring out the proper structure.

Therefore I am writing down the usage briefly.

  • Users will be creating Lua files to specify most of the UI items that they want to create.​

  • They will use addtoWidget() function to add items inside widget.

  • There will be a function for them to create a widget and add/attach it to the camera.

  • Can switch between and add multiple widgets.

I might change the structure later if I need to else I think this is basic startup interfaces that I could think of.

The challenges that I am looking forward to..

  • Come up with a proper structure for widgets and items.

  • Find the best way to implement the features(especially health bars and button)

  • Figure out how to detect a mouse position for windows to add button click events.

  • Button click and hold events.

My plans

I am taking this project as a good learning experience and I want to create something that is easy to use first rather than focusing on creating something amazing. This is my way of doing things when I am not confident enough and while doing something for the first time.

  • One step at a time.

  • Focus on creating a simple easy system first, rather than going for something amazing.

  • Keep researching for references.

  • Feedbacks and discussion with fellow students.

Thanks for reading and Happy Halloween

bottom of page