söndag 17 november 2019

Differentiate from Worms

From the feedback on our presentation, some suggested to make the land more realistic. Such that if you destroy the foundation of the ground, it can collapse. We have two different concept videos for how we may implement this as a group:





I think the fact that the ground can explode or collapse is a good path to differentiate from worms. I am also considering if you should add AI units.

Adding Visuals


At the moment, the game looks pretty much exactly as it is shown in the video clip. Since a lot of different things have been added, it would be difficult to mention them all in a summarized form. Hence, I will provide a shortlist of things that have been added so far by me:

Shooting, two players, countdown timer, movement, raycasts to avoid players moving each others, number above players showing HP, detect when players or projectiles fly out of the map, handling of turn events (can be improved), elipse around players when aiming (not a great visual, but helps in debugging), added so the players can jump while on top of eachother (before it was only possible when standing on the ground), a "Game Over" UI is shown when someone wins or both dies.

A great feature, that is mandatory for any Worms-like game is map destruction, I did not add this but another team member is working on it quite successfully as shown in the video. Also other members are working on a website, sound effects and adding different types of spells.

Combining the logic

Screenshot of gameplay

A lot of things are coming togheter now. When I started writing this blog post the art was mostly just squares and the background black like in this image. The idéa was originally to have the game be more or less exactly like Worms. However, we later decided to let the players jump in any direction and also possibly change walking direction while in air.

The timer has also been added. A boolean checks if the turn is over, and if so the game switches who plays. A bug exists if that a spell splits into other spells there is a short context switch, so the game will switch turn while the splitted spell projectiles still fly. This could be fixed in a lot of different ways but it's not entirely clear which way is the best. One way is to just add a delay before truly ending the turn and check if there still are any projectiles in the air. While this could work, I personally don't like having a constant time always being added if there could exist a better way.

There was a problem that has been fixed now. The issue was that the aim is supposed to be in a oval shape around the player objects, if the shape isn't a square. So initially we used a unit circle for aiming towards the mouse pointer, however this clearly don't work as it should as seen in one of the images due to the aim being an elipse.

To solve the problem I searched the internet via Google, especially for StackOverflow posts. On StackOverflow I found a good post about how to have a point go along an elipse by using a quite sophisticated equation, shown in this link: https://math.stackexchange.com/questions/22064/calculating-a-point-that-lies-on-an-ellipse-given-an-angle/22067#22067

This worked exactly like I wanted if I also multiplied by 2 after following the equation. I am not entirely sure why I needed to multiply by 2, but my assumption is that otherwise it's just the arrow tip that collides with the elipse, but I wanted the arrow to point out from the edges.

fredag 1 november 2019

Starting out

The group has agreed on a game concept. I came up with the idéa for what game we should try to create. It was the only idéa that was suggested however. The impression I get is that it will be possible to complete the main concept within the short time limit this project has been given.

What we have done is setting up the environment. We chose to develop for computers using the Unity engine. The game will be able to run cross-platform on Windows, Mac and Linux.

The plan is to create a game similar to Worms, or a no longer existing game that was called "Arcanists". The game will be turn-based and allow for two or more human players. The goal is to destroy one another by casting one spell per turn. Each turn have a time limit. The game itself is very easy to create, but we all worry about the novelty aspect of the game. Because of that worry we have decided to change some game mechanics in order to make the game less similar to the other mentioned games above.