Devolg 4: Beginning of Production


Production Phase, here we go! 

This week, we started with a new and organized project in Unreal project where every team member can work in. Now it is time for us to fill it with fresh code and assets!

Assets

Hi again, Vivien here. Here are some of the assets that made this week!

First, I added new food objects into the game: Shrimp and Mushroom! Just like the sushi asset before, every asset will be hand painted. 

Shrimp Asset
Mushroom Asset

Then, I also the front surface of the game. This one took a little longer since I first had to make a trim texture to unwrap the surface on.

Front Surface

Hey, so I (Koen) made 3 assets (Rice, Fried Rice, Tomato)





Blockout, Conveyor belt, Grill and Toon Shader

This week I, Laura, worked on the blockout of our level and getting right the grill and conveyor belt meshes and textures. And this is how it turned out!

The blockout in Unreal Engine


The grill and the conveyor belt in Unreal Engine


How the shader looks on one of our ingredients.

Development 

Hi there! I'm one of your hosts, Hovo, and we are back for the first week of production! This week we had to start from a clean slate. But first, we need the basic project setup. 

So I spent some time setting up the game mode, the default pawns to spawn, the actual pawns to spawn and made sure the game uses this game mode. You are probably already bored, but hey, someone had to do these things. The project doesn't set up itself using dark magic (unfortunately).

After setting up the project, I implemented the Chopsticks. That includes spawning in, moving around, colliding with other objects and rotating. It looks like this:

While I was testing out the rotation, I discovered my favorite thing to do with the chopsticks. Let's take a look: 

WOOOOOOOOW! I know, right?  Moving on.

In the prototype, we programmed the ingredients quick and dirty. Well, this can't be the case now, so we had to figure out some sort of structure.

After thinking of different possibilities, I and Jonas decided to utilize the following structure:

  • Base Food class that handles the common behaviour (colliding, getting picked up)  shared between different food objects
  • Ingredient class that inherits from Food and handles ingredient specific things, for example cooking.
  • Dish class that inherits from Food and handles dish specific things, for example deciding how well the dish was cooked
Class hierarchy: Food

I was responsible for the implementation of AIngredient. During the making of this class, I quickly realized we missed a really important part. How are we going to have different types of collision shapes?

After weighing the possibilities, I tried out the most intuitive solution for me. I created an Enum in the Food class that holds information about the different types of colliders that we can have 

Collider Type Enum : Unreal

For now I just added 3 types, but because of the setup we can easily add more types later if needed.

Now, when creating an ingredient, we need to let the Food class know what type of collider to make. This is easily solved by extending our class inheritance. Now, for every type of unique collider, we make another class that inherits from AIngredient.

As you can see, we have CubeIngredient and SphereIngredient already made. All these classes do is, they call the constructor of AIngredient, and they tell it "Hey, I want to use this type of collider".  EFoodColliderType enum is used in this case.

I really like this apporach because now, the artists can easily test their meshes. All they need to do is choose which type of collider their mesh should use, create a BP class from it, and everything is set up. They just need to change the Static Mesh to their mesh. 

That's it from me this week. Till' next week! 







As for me, Jonas,  I have mostly been busy trying to make sure the most basic of basics would be possible in the game,
aka being able to pick up objects, namely food!
As per usual I had overcomplicated the Base food class that everything would derive from which sadly made me lose a decent amount of time for what the final version of the class eventually looked like.
For now it has all the correct pick up logic for being held by 2 or more chopsticks, but there is still an issue that will probably happen when we have +3 players.

The food only checks and displaces itself between the positions of the first 2 chopsticks that are touching it, so what if I grab the food with 2, let a third touch it and let go with one of the other two? The food would most likely fall to the ground since one of the original two is no longer holding it.
Then again, I am removing the chopstick that leaves the food's collision from the list, so depending on if unreal automatically moves the 3rd element list into the 2nd slot, this will surely cause problems for those who would try 'taking over' the food object.
Due to the limited controllers I have available, this was not tested so my hypothesis hasn't been confirmed yet. That's what we aim to do this week!

Furthermore, I have been trying to make a working conveyor belt that picks an ingredient object at random and spawns it on top of it, once it's within the belts collider, the food will move along it's length and gets deleted once it reaches the end. 
The spawning and deleting of the object all happens offscreen of course, otherwise it would break the immersion of the game.
On my end this seemed to work fine, as far as I could tell the food was spawning randomly but made sure every other object had spawned first before respawning a different one, although that was hard to check with only 2 ingredient objects.
After some debugging, I could tell they were moving along the belt just fine, but once Hovo placed a grill blueprint into his level, his games crashes! I don't know if it's the same case with the artists but I think it's safe to assume so, perhaps he didn't fill in the array of what ingredient objects it needs to work? He said he did, yet it still crashed the game on start up, so that is definitely something we'll have to look into and notice any difference between his 'conveyor belt' settings and mine.

Sorry for the lack of images and gifs this week from me,  with things like extensive thinking work and debugging issues I tend to get focused on that and forget everything else.

I still hope the explanation was interesting even without pretty and moving pictures, see you all next week!

Files

StickySituation.zip 228 MB
May 29, 2023

Get Sticky Situation

Comments

Log in with itch.io to leave a comment.

Shrimp :)

<3