StarGames - Guillem Sunyer Caldú

Hello, my name is Guillem Sunyer, and I was in charge of the Game Engine UI, the Game Engine core systems, and the game logic.

Engine ingame UI

As one of the engine programmers, I was in charge of the develompent of the persistent UI used inside the game. There were 3 strong points that I had in mind before start coding, it had to be: fast, scalable, and dynamic.

UI Elements

Images and 2D animations

thumb

Simple UI image that can be used as a single image, or as an animation of different images. It also can be used as a panel of some colour if no image is selected.

Text

thumb

Text that can be changed, and also it's colour, the aligning, the font, set bold, etc..

Buttons

thumb

Detect mouse down, up, over, and change the image or the colour. Also changes childs text colour.

Progress bars

thumb

Shows progress and can change the colour from the completed part and the part to complete.

Radar

thumb

Given some entities and the center entity that has the radar, prints entities relative to it's position with custom markers.

UI behaviour

Scale and Anchor

thumb

The UI is fully reescalable and can addapt to any kind of screens, using anchoring and resize.

Dialogs

Dialog manager

thumb

Controls the canvas and the text of a dialog box. Given some lines of text, audio and timing, it can fire any dialog at any moment.

IA behaviour

When the engine code was "finished", and all the main systems were in place, it was time to actually make the game, and of course, a StarWars game needs ships, and a lot of them. IA Behaverous ensure that the ship movement is realistic and challenging at the same time.

Ships movement AI

thumb

Ship main movement control. Can follow a path of points, or target an entity to follow with ship-like movement.

Ships obstacle avoidance

thumb

Avoids collision between other ships and environment parts.

Game logic

All the game logic has to be cohesive and expandable, so the objective was to create the necessary systems to carry all the game information and feed all the others game systems and entities.

Main menu assembly and logic

thumb

Logic that controls the info text, and the behaviours of the the buttons at pressing.

Training scene logic

thumb

Scene to train your abilities! Waves of ships appear when you kill the current one. You can't win in this scene, only survive.

Main scene logic

thumb

Main scene of the game. Based on events, triggered by some player actions or AI behaviour.

Engine improvements and optimization

I also was involved in other engine work such as code manteniance and optimization:

- Prefabs improvement.

- Internals scripting improvement.

- Scripting workflow improvement.

- Loading optimizations.