• Register

Skydome is a team based action-tower defense game in development for PCs! It features 4 versus 4 online multiplayer matches, with tribes competing in a flying dual-arena complex.

Post news Report RSS DEVBLOG: Groma – Part 8: Time to make everything function + SPLASH ART Final

Be welcome everyone! Today we will share a little bit of Groma’s implementation! This is the step where we grab everything we discussed earlier and we make it all work!

Posted by on

Visual Studio

When talking about implementation, mostly we are talking about programming — Skydome’s language is C#!


Programming is about writing a series of commands and instructions for the hardware to read. These instructions are the ones that make the program behave as it does, it’s code that makes Groma and all the rest of Skydome function.

It’s also important to say that programming is more about logic and problem solving than it’s about math. And, that in a project of the size and scope of Skydome, it’s a must for the team to be organized, to make use of patterns and to have great communication and synergy.

One of the main characteristics of Skydome is that it is an online multiplayer game — a competitive one at that. So we must always consider the division of the game rules between the game server and the game client.

Client Server Observed

The client is what runs on people’s computer and the server is where everybody connects to.


s a competitive game, we make use of dedicated and authoritative servers. That is, the client relies on the game server to confirm most of the actions taken during the game as well as updating every other player about it. It’s the server that controls most of what happens in a match.

The process of implementing everything needed for a champion to work is backed by a very well defined structure. It’s streamlined to help us develop and implement new champions faster. The real necessity is to keep the code organized — easy to use and to re-use!

gromaanimator

A basic concept that is used pretty much everywhere, the state machine.


State machines help manage all the possible states and transitions. Groma can be moving or just idling, from there she can go into any other state — like attacking, stunned or even dead. From the dead state she can do nothing except wait to respawn. The state machine concept is used to manage a lot of stuff, like the inputs, the animations and even the audio.

Animacao intervencao

The individual skills of each champion are the hardest part and demand a lot of care.


Even with the champions sharing a basic structure, they all have their own gameplay mechanics. Groma’s not the exception, all the champion’s skills are unique and demand special attention to function right.

That’s all for today folks! We hope you enjoyed this quick look. Programming can be a hard and complex subject, we tried to keep it light this time. We are sure that there’s a lot more here for us to explore and share with you.


Splash Final Header

SPLASH ART Part 8: Here’s your new wallpaper — made by you!


Finally we arrived at the last step of Groma’s splash art!

GIF GROMA SPLASH FINAL 4mb
Step by step > thumb, lines, base colors, lighting, finalization.


It was a long process so let’s recapitulate! We started on the thumbs, where you chose which one to follow with. On the sequence we did the lines, giving definition to the sketches. Then we did the base colors, kicking off the development of the art’s atmosphere. Afterwards it was the time to do the lighting, where you also played the main role by choosing the visual for Groma’s Banner of War buff. Now the last step was finalization, here we added a lot of details trying to make everything as nice as possible.

Your new wallpaper

GROMA SPLASH FINAL logo

It’s beautifully done


You can download your new wallpaper below, ordered by resolution:

Besides, let us know if enjoyed this collaborative experiment of creating an art for Groma, as well as your take on the final result.

You can find us on Discord!

Until next time.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: