Creation of Ethereal Quest



Programming

-Player Movement

The code for movement is pretty simple

It takes the inputs for WASD and converts them into a float between 1 and -1  on two axes depending on what button you press. 1 to -1 on X being up and down; 1 to -1 on Y being left and right. It takes these inputs and then applies movement force to the player.

- Making the Player face the mouse

In order to make the player always face the mouse I get the mouse location in screen space and translate it into a world position. Then I normalize (mouse location - player location) this gives me a vector facing the mouse location. Now, I set the actor forward vector to be the vector facing the mouse.

-Damage Box

Since I knew that the Damage box would be used by multiple classes I made a universal macro for spawning it. The macro works by getting the start and end location, spawning the box in the middle and setting the box extent to be the length of the start location minus the end location.(It also sets the forward vector of the actor to be the same as the actor who spawned it.).

Once the damage box is spawned it applies damage to all actors that collide with it except for its owner.

-Enemy AI

The Enemy AI is very simplistic. All it does is check to see if the AI has seen the player, if so then it follows the player, while following the player it checks if it is close enough to attack, if so then it attacks (the attack has a cooldown to prevent it being spammed).

-Boss

Unlike the Regular enemies, the boss doesn’t use a behavior tree. In reality, the actual boss doesn’t have much code in it at all, the only thing it has is an event to activate it, this event triggers whenever the player gets close to the boss.

When the boss is activated it spawns clock hand-like weapons that spin around it


Art and Workflow

I started this project making an artboard. Normally I would go onto Artstation, Google or Pinterest for this project I wanted to see what AI could do, Using images from Midjourney prompts I Bashed together different Images to get multiple designs in quick succession and after we narrowed down the designs I did some final touch ups.


-Sculpting

With the concepts that I made on the first day I went into Zbrush. Sculpting an extremely rough version of the Enemy’s, player and weapons.

 

-Modeling

I brought this into Maya to make the final models, In this process the rough shapes were refined and the models became far cleaner. Then after some quick Uving I moved onto rigging the models using Mixamo’s auto rigger or using the Mixamo rig to rig the models myself.

For the Environment modelling I took the earlier made artboard and just modelled 15 to 20 different models which I thought would fit the scene. After bringing these into Unreal I decided which to use and started UVing and texturing those models.

 

 

-Texturing

Because I did not have High poly models to bake from what I did most of the time was applying Normal maps that correspond to the materials, exporting those maps and then using those texture maps as the mesh maps so I had a little more detail to work with while texturing the models.

 

 

-Engine Work

Afterwards I brought everything into Unreal and mocked up the levels. Worked with some Postprocessing materials to make interesting lighting and finally worked on the level collisions.

 

-Conclusion

For this project I took a long time getting the mood, colours and lighting right. Because the tight time limit would not allow me to spend time on High poly’s and baking. This project was extremely creatively fulfilling for me and I will take lots of the lessons I learned to the next game jam.

Files

EtherealQuestGame.zip 363 MB
Jan 15, 2023

Get Ethereal Quest

Leave a comment

Log in with itch.io to leave a comment.