Spite: Wrath Of Valkyria
![Finalist.png](https://static.wixstatic.com/media/c5350e_a15d212f2ecb4a2ea4d2d1cbab1ec1f7~mv2.png/v1/fill/w_86,h_90,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/Finalist.png)
![excellence.png](https://static.wixstatic.com/media/c5350e_a2bb02a569a84616bb870ec4f8e9a984~mv2.png/v1/fill/w_86,h_90,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/excellence.png)
![](https://static.wixstatic.com/media/c5350e_c7ad748327524c1180f12e19a4c3cbf3~mv2.png/v1/fill/w_86,h_90,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/c5350e_c7ad748327524c1180f12e19a4c3cbf3~mv2.png)
Less than 3 min Showcase
Year
2022
GENRE
Action Role Playing Game
PLATTFORM
PC
UI/UX and Gameplay Programmer
Description
This is the first project of the second year at The Game Assembly, it was made over the course of 14 weeks at a 50% work rate.
My main focus on this project was the User interface and the User Experience.
Keep reading to get a little more in-depth information about my work.
​
Intro Fade to Main Menu
![](https://static.wixstatic.com/media/c5350e_e90c59f448ff4cc1b34d32299904de22f002.jpg/v1/fill/w_470,h_264,al_c,q_80,usm_0.66_1.00_0.01,enc_auto/c5350e_e90c59f448ff4cc1b34d32299904de22f002.jpg)
The first thing you will come across when starting the game is the intro move, Made by a very talented Animator Named Daniel, If you are interested in more of his work let me know and I put you in contact with him.
my Vision here and the one that I talked to Daniel about early in the process was that I wanted to make the main menu a bit more alive and that I had an idea about making the Cut scene transition into the main menu.
This is the result we managed to create.
Level Select
The Next thing you encounters is probably the level selection map.
Since I´m kinda passionate about UI and UX design I wanted to take the whole menu to the next level, mainly to test my own limits, but also to push myself to learn something new each time I make a new game project. When it came to the Level Select tool I talked to Malin, she´s the one who made all the awesome graphics for the menus and asked if it would be possible to make it layered, so that we can make it as a Map that changes depending on where u wanna go.
![](https://static.wixstatic.com/media/c5350e_aac66fae202246218e99524ff345cafef000.jpg/v1/fill/w_414,h_233,al_c,q_80,usm_0.66_1.00_0.01,enc_auto/c5350e_aac66fae202246218e99524ff345cafef000.jpg)
Settings
![](https://static.wixstatic.com/media/c5350e_18e6515bad5c4919a70abe4f769ff851f000.jpg/v1/fill/w_471,h_265,al_c,q_80,usm_0.66_1.00_0.01,enc_auto/c5350e_18e6515bad5c4919a70abe4f769ff851f000.jpg)
Not much to say here, I made a Settings menu.
Hooked it up to the Engine so we could control the sound & the Resolution of the game.
Shoutout to Albin who made the awesome Music and SFX, and to Lars who implemented it with his fmod wrapper and made it so we could have 3d sounds in-game!
Transition to Ingame
Once you have made all the settings, and checked out the credits you probably wanna start playing. I wanted to present to the player a smooth transition betwine the menu and the game and made so with a fade-to-black overlay. to get this to work we had to first load all assets in by using a second thread to make it seamless, this is done behind the scenes during the opening cut scene. then I had to make 2 separate functions one for fading out (switch scene) and then fading in.
After the fade in we wanted to present the name of the level to the player with a small "flash Banner"
![](https://static.wixstatic.com/media/c5350e_d9d54cea926c453eaf8213c7e1dbbdd4f000.jpg/v1/fill/w_414,h_233,al_c,q_80,usm_0.66_1.00_0.01,enc_auto/c5350e_d9d54cea926c453eaf8213c7e1dbbdd4f000.jpg)
In game Feedback: Part 1
![](https://static.wixstatic.com/media/c5350e_6c26fa7eb14e4c269ae39df1ae9052c2f000.jpg/v1/fill/w_471,h_265,al_c,q_80,usm_0.66_1.00_0.01,enc_auto/c5350e_6c26fa7eb14e4c269ae39df1ae9052c2f000.jpg)
First out is the Scrolling Combat Text (SCT) and the Healthbars of the enemies. The biggest challenge here was to get the sprites from camera space to world space., next issue was that we needed to render text. the Engine does not support that yet so I made it work with 10 images nr 0-9 rendered next to each other instead, first thing to add in the next project is in-game text rendering.
​
The Level up effect was created by Tim, our talented TA. my work here was to match it up with a screen flash, and an XP bar that matched the levels
Gain New Ability and Interactable Objects
I added intractable objects to the game so it would be possible for the players to gain new abilities by "praying" to an altar. there is also a rune stone and a totem you can interact with to get a story told as you progress through the game
![](https://static.wixstatic.com/media/c5350e_294b513345224655945d138b1fae3121f000.jpg/v1/fill/w_414,h_233,al_c,q_80,usm_0.66_1.00_0.01,enc_auto/c5350e_294b513345224655945d138b1fae3121f000.jpg)
In game Feedback: Part 2
![](https://static.wixstatic.com/media/c5350e_fdad499519bf4091801b0a7cf765d498f000.jpg/v1/fill/w_461,h_259,al_c,q_80,usm_0.66_1.00_0.01,enc_auto/c5350e_fdad499519bf4091801b0a7cf765d498f000.jpg)
You can also interact with rune stone to get a story told during your play, also added spawn points in case of "non-skill related accidents" (we all know it wasn't your fault you died).
Hud Information
There was a lot of information added to the HUD.
First, we have a buff bar that shows your current buffs and a tooltip when hovered, there are also tooltips on all abilities when hovered.
health and "spirit" is shown with the help of shaders as well as Cooldown and flashes on abilities.
![](https://static.wixstatic.com/media/c5350e_1ec36ee9a9d04bfd90f75bbf00ca28eff000.jpg/v1/fill/w_414,h_233,al_c,q_80,usm_0.66_1.00_0.01,enc_auto/c5350e_1ec36ee9a9d04bfd90f75bbf00ca28eff000.jpg)
Animation Interpolation & Threads
![](https://static.wixstatic.com/media/c5350e_b0be7db2352b4d029558198b57ac2a44f000.jpg/v1/fill/w_452,h_254,al_c,q_80,usm_0.66_1.00_0.01,enc_auto/c5350e_b0be7db2352b4d029558198b57ac2a44f000.jpg)
Best place to show this is probably on the boss since he is huge.
​
we noticed kinda early in the process that we had a bit of "choppy" animations. so I decided to add Animation Interpolation. this went well and took me about a day to complete, one major backdraft though was that we went from 100+ fps to 30 fps. so this also forced me to implement a thread pool to the Engine.
​
after that, both worked fine and we were later able to deliver a game that had a steady fps well above the requirement.