Devlog 06: Production Sprint 1 - Week 3
1. Introduction
This week the team focussed on finishing up the first production sprint, we worked on several things such as the environment, level design, animations, particles and a lot of programming.
2. Environment pieces
For the Environment pieces Sarah and Nicolas created a bunch of assets to populate the level with. The assets are a set of variations of core elements that will bring our environment to life. Materials were created for these assets in-engine. The shader was reworked and so was the outline which now works by generating a mask on the selected objects based on screen space instead of extruding the face normals outwards. To prevent the outlines from being cut at the edge intersections we figured every mesh has to be smoothed out! This gave us a much cleaner outline with less artefacts. A skybox that fits the tone of our game was also handcrafted and a mock-up city level was created for playtesting purposes. All shown below
3. Level Design
For the level design we have put together two playable layouts with a diversity of different components/blocks that we can now playtest properly and decide which to pick or not pick for the final level layout. These have been smoothed/ added ramps for an easier approach to climb on ramps rather than straight walls. The segments that will be chosen for the final product can be freely be rearanged to fit the best course for the players.
4. Animations
Arthur also worked on 2 more animations for the bird, being the picking animation and the jump animation.
5. Particles
Arthur has started making particles for in the game. So far he made the smoke trail particle that spawns from underneath the wheels of the skateboard.
He made a Trail that will be used when the player uses his rocket boost, The trail color will be changed the the players color scheme in a later stage of the game.
Finally he created a death particle effect for when the players die.
6. Programming
6.1 Game (re)Implementation
On the programming side of our project we came short last week. We had basic movement implemented again, with the structure for our new movement system completely layed out. However the game itself was still unplayable. This week we focused on implementing the core game features, which are the movement and our race.
6.2 Movement
Our movement is the most extensive part of our game, however not all of the movements that we’ve designed are core to our game. Movements like a stun, or the kick down are not part of the core of the game whilst (for example) the jump would be categorized as part of the core of the movement. So this week we focused on implementing the parts that would count as part of the core.
We will go over each “movement type” that was implemented, but we won’t go over how this ties in to the movement system. If you’re curious about how it works you can find an extensive explanation in our dev log of week 4.
6.2.1 Skating Movement
Skating movement refers to the default movement of our character (since he’s a skater duh). Here is the implementation of our skateboard:
There are two main things happening here that are important;
- We apply a force along a vector parallel to the ground
- We add more speed the slower we go, and reduce it the faster we go
The first point allows our player to move up ramps using his input,before this we would only apply a force horizontally, which would make our players get stuck against a ramp when they should be able to climb up it. The second point makes the “launch” of the player feel more responsive, since speed is built up faster at the start, rather than having to slowly build speed. However, with only this script the movement will definitely not feel like a true skateboarding movement. For this we need two more crucial components.
6.2.2 The Gravity Multiplier
A skateboard is heavy. To convey this to our player we need to play some tricks on gravity in order for it to not feel floaty. We used the approach also used in old Mario games, which is to add a scaler to the gravity, both on the ascend and descend. This will speed up or slow down the rate of change depending on the scalar value, for our intents and purposes we want the gravity to speed up, especially when falling, to convey the weight of our skateboard.
6.2.3 The Ground Magnetizer
The second crucial component to make our skating movement feel good is making it stick to the ground. This could also be seen as simulating its weight. The reason we implemented this specifically though is that we felt it was odd when the skateboard would lift off the ground too easily. We wanted the player to have more control over his airtime (more on that later), this also means letting the player decide when he wants to go into the air.
6.2.4 Air Control
Since we’re on the topic of air control, let’s take a look at our air control movement type. It’s a very simple script, it only runs when the player is not grounded and enables horizontal movement. It resets velocity when the input direction is changed. Which was the main reason why we implemented this movement type; it was very frustrating for players to not be able to change directions after messing up the jump. And due to not being able to easily switch directions it would be difficult to regain control over the character.
6.2.5 Jump
A jump is a simple component, usually a simple force upward would suffice. However since we’re dealing with a skateboard and ramps that transition into each other in different directions another force needs to be applied in the move direction. This is because players want to “jump” off a ramp to get them to the next one, in some situations like the beautiful dev rendition below this can be a problem if only a vertical force is applied.
6.2.6 Rocket Boost
Players will also have a button to boost themselves to regain speed when they fail or to make tight jumps. The implementation of the movement itself is simple.
7. The Race
The second part of our core is what gives purpose to our movement, which is of course the race, which will be managed by our; RaceManager! For the sake of this devlog I’ve removed the body of the functions and will only provide the properties.
8. Bounce Pad
In the previous devlog there was a short mentioning about the Bounce Pad. So one of our programmers worked further on this and polished it and got rid of several bugs that where occurring. The gif below shows how it goes.
But there was a problem when the player tried to jump into the bounce pad. The bounce pad did trigger but nothing happened so the following happend.
the following was the expected result:
So we debugged and changed and added a bit of code so that it does work like intended. And we got this result.
Files
Get Slothboarding
Slothboarding
DAE Game projects 2022/23
Status | In development |
Authors | nhendriks, Arthur Vanneste, BrianHoet, SarahHillebrand, sachagdm, Stefan Sorescu |
Genre | Racing |
More posts
- Devlog 11: Finish line!May 29, 2023
- Devlog 10: Polish - Week 1May 23, 2023
- Devlog 09: Production Sprint 2 - Week 3May 15, 2023
- Devlog 08: Production Sprint 2 - Week 2May 09, 2023
- Devlog 07: Production Sprint 2 - Week 1May 01, 2023
- Devlog 05: Production Sprint 1 - Week 2Apr 17, 2023
- Devlog 04: Production Sprint 1 - Week 1Mar 27, 2023
- Devlog 03: Finsihing Prototyping stageMar 21, 2023
- Devlog 02: Prototyping & DesignMar 13, 2023
Leave a comment
Log in with itch.io to leave a comment.