Devlog 1: Research


Welcome to King of the Crown!!

Mandatory Introduction

Hello !

We are a group of 5 students at Digital Arts and Entertainment HoWest.

This is a group project we are making during our fourth semester at DAE.

 

A short introduction of each of us :

Ruben: Programmer, writes programmes for old dos computers

Simon: Programmer, likes fries

Sander: Artist, fighting game connoisseur

Matteo: Artist, Jim Gym Rat

Reinhart: Artist, spends money on useless stuff

 

Together we will make a casual couch pvp platformer game.

The main mechanic of our game is 'dashing'.

Instead of walking and jumping like in most platformers, in our game you can only move around by 'dashing'.

When you dash you will jump in the direction you are looking at and then you will stand on the platform that you dash onto.

You can even stand on platforms sideways or upside down !

The is a crown that players can pick up, and the goal is to steal the crown from your friends by dashing into them.

 

This devlog is mostly about the early prototype phase.

Last week we made a prototype in unity and unreal and decided

on all the guidelines and rules we are going to follow while making the game.

We also tried to make sure that everything we wanted to do was actually

possible to do as one of 5 courses in 1 semester.

 

Programming

Simon made a small prototype of the game in unity,

and Ruben made a small prototype in unreal.

 

Unity

Making the prototype in unity went relatively smoothly.

We made it in a newer version of unity and decided to use the new system to implement player controls.

After lots of writing code, forgetting to use it, finding out where I left my controller,

and forgetting that I put some insta-death volumes in the level the prototype was finished.

In the end we had a proof of concept for our game, the prototype has the following features :

-local co-op

-dashing

-crown you can pick up and steal from others

-an ability

-poor coding and possible undiscovered bugs

-stunning art made from cubes, capsules and default materials by a programmer who is bad at art

 

Unreal

 

[Ruben please type some text here]

 

Art, For artists, by artists, from artists??

 

Our artist began by looking for different art styles where they used 3D assets for games in a 2 dimensional setting.

After a general meeting we decided to adapt a low poly art style to our game. The artist did researsch about certain games who used the same art style and began working on the first half of the art bible. These other games where only used for inspiration. It was interesting to see how certain games used shape language to make clear how  assets look in this style.

 

The first half of the art bible describes the use of shapes, the environment color palette, character color palette, the proportions between the character and the environment.The style guide for the RFX on how we stylize the effects to fit the low poly setting.

 

Research - Because science is fun, and writing everything down is even more fun

should we use unity or unreal ?

Our programmers tested both engines by making a prototype with all core mechanics in both engines (dash mechanic, crown, abilities, local co-op). They found the core mechanics were relatively easy to prototype in both engines.

But we decided to go with unity because both programmers have very little experience with c++ scripting in unreal and a lot more experience with unity.  Next to this the Unity engine provided us with the URP, the Universal Render Pipeline. This render pipeline is a modern lightweight pipeline that is accessible for our artists and allows us to use ShaderGraph for the development of our shaders.

 

render pipeline

Choosing the correct render pipeline is an essential choice before beginning production as changing render pipelines during development is limited to impossible. Unity offers 3 types of render pipelines. The built-in render pipeline, the universal render pipeline (URP) and the high definition render pipeline (HDRP). For “King of the Crown” we will be using the universal render pipeline. Refer to the sections below to find the reasoning behind this decision. Read below how we made our choice.

built in

This is unity’s built in pipeline. This is a fixed pipeline which means we only have limited control over how the pipeline behaves.

Although the built in renderer supports a lot of features, it being non-customizable and old makes it a harder sell.

universal render pipeline

The universal render pipeline is a prebuilt render pipeline that can be scripted, this render pipeline is provided by Unity. Optimized real time performance on lower powered devices. Easy integration for post processing, integration for ShaderGraph.

URP provides artist friendly workflows that let you quickly and easily create optimized graphics across a range of platforms. This includes mobile, consoles and PC.

Finally the URP will replace the built-in render pipeline in the future. Choosing this renderer will make the project more future proof and easier to port to newer engine versions.

High definition render pipeline

Just like the universal render pipeline the HDRP is a scriptable render pipeline. However this pipeline is targeted at AAA graphics, automotive and high end platforms. For creation as realistic as possible, Made for PBR workflows. This render pipeline doesn't fit for our project as we are targeting lower powered machines like laptops and the Nintendo Switch.

 

how can we program a 'dash' mechanic that allows the players to stand on every surface ?

We were able to make this mechanics by doing a raycast in the direction a player is looking. This way we can find the closest platform in the direction the player is looking, and both the specific point on that platform the player is looking at and the normal of the platform. Then we could just move the player to that point and rotate the player depending on the normal to make it so that the player is ‘standing’ on the platform. This way the player can dash around the level and even stand on ceilings or walls without a problem.

can we give the player to option to choose between keyboard and mouse or a controller ?

Both unity and unreal have native support for both keyboard and mouse and controller, so it was fairly easy to implement both. But due to it being a local co-op game, only one player can use keyboard and mouse. We can also easily allow all players to user controllers.

how can we implement local co-op ?

In both unreal and unity this is pretty easy to do. Unity has recently changed its input system and the new system makes it very easy to implement local co-op. In unreal local co-op is also easy to implement.

 

 

TL;DR

We are going to make a game.

About a crown, dashing, no gravity and bullying your friends. :-)

Just make sure that they thrown their own controller into the wall and not yours.

This amazing devlog cost us a total of [Error: integer overflow] hours

 

Get KingOfTheCrown

Leave a comment

Log in with itch.io to leave a comment.