top of page

SPITE: JOURNEY TO THE TOP

About

Fight your way up the mountain with your magical staff to take revenge against the demon and his army of tormented spirits.

Spite: Journey to the Top is a top-down diablo-style action game and it was our sixth game project at The Game Assembly. The development time was 14 weeks halftime.

This was the first really big game project, especially for us programmers, as we developed our own game engine "Firefly" during this project and used it to make the game. Firefly is developed from scratch using DirectX11 and C++.
Screenshot02.png

MY CONTRIBUTIONS

Particle Editor Tool

Early in the project I worked on a particle editor that was fully integrated into Firefly. After I made this, I knew that I 100% wanted to work with tools in the future.

It was really fun to spend a lot of time developing a tool for someone to use and enjoy. Also, digging deep into the math behind particles was really fun.

The Technical Artists really loved it and pushed it to the limits to create some amazing Particle Effects!

Multi Selection

When making major changes to a level it was annoying and tedious to select every object one by one and move them.

I implemented a feature to help with this. Multi selection allowed the developer to drag the mouse, forming a square on the screen and selecting everything inside of it. Moving whole chunks of the level was made easier with this and it worked with undo/redo as well.

Foliage Painting Tool

As the game was nearing its release, it was time to prop the levels full of nice grass, trees, snow and little rocks to make the environment look complete.

It was a really tedious process, having to manually duplicate the grass & rocks 1 by 1 and rotating them manually to achieve variation.

We all wanted to speed this process up so I developed a simple tool to quickly prop large areas with randomly oriented props.

Frustum Culling

Now that the foliage painting tool was in place, our environment really started to come to life. But there was one issue, our performance was really struggling to render all this grass.

One of the things we did to improve the performance of the game was adding our own frustum culling. It calculates which meshes that cannot be seen by the game camera and simply doesn’t render them.

It was done by assigning a collision sphere to all meshes in the scene, then calculating the six planes that make up the camera frustum, and then utilizing sphere against plane collision to cull the meshes. 

Undo/Redo Transformations

When moving, rotating and scaling objects in an editor, you expect to be able to simply hit CTRL+Z and revert the latest change you made. That’s one of the things I worked on early in the project and it was really worth the time.

TEAM

Day Dream Studios

Programmers​
  • Benjamin Ek
  • Carl Uvebrant
Graphical Artists​
  • Anes Sabanovic
  • Linus Härstedt
  • Simon Grefbäck
Level Designers
Animators​
Technical Artists
bottom of page