Beer Fight! State of development and ratings

Hi fine folks loving games!

I made this game during the LD40 in 72H: https://ldjam.com/events/ludum-dare/40/beerfight

beerfight_06.gif

In this post I'll talk about 2 things: - I still didn't reach the 20 ratings needed to have a score - The preview of the 1st content update I'm working on

I. RATINGS

Those last days I didn't had much spare time and preferred to spent it on working on the next update of the game.

As I write this I still miss only 3 ratings to get over the treshold to get a score, I'll need a little help for this time as I fear I won't have time to play enough games and give correct feedback on them.

I don't want to play games and just say "it's good lol!", each project deserves serious thoughts* to help find the parts to improve. I already have a backlog of LD40 games I'm gonna play in the next months and would happily add yours to the list if you don't mind getting a feedback in february ;p

II. NEXT CONTENT UPDATE

So I'm currently working on the 1st major update that I'll put online accompanied by the source code of the whole game after the end of ratings. (I'm working in Unity so it'll be the Assets & Project Settings folders)

It'll contain many improvements: sounds & music, camera shakes & kicks, a complete revamp of the level design and customers behavior, a bit of UI work, a first take on difficulty curve, ...

Level Design

At the moment I'm on the first pass of revamping the level design, I noticed 2 main points in feedbacks that can be adressed by this: 1. It isn't clear that you can reach customers by bouncing beers on walls 2. The mouse interaction doesn't receive enough attention

Here's a very very early draft of the direction I'm taking: vertical_resolution.png

To guide the player to use bouncing beers: - The walls are the edges of the screen, in the style of a pinball game - Chairs are placed in oblique and let an obvious open path to the wall - Side walls are left empty of any chairs to not discourage any tentative - The barman is slightly shifted to the right to accentuate shooting angles

The increase of possible angles by shifting the barman help also to reinforce the mouse aiming importance but might be at the disavantage of left-handed people (a setting to flip the level could solve this problem though).

By the way, I decided to design for 2:3 and 3:4 aspect ratios and I will add static panels on each side of screen to enforce those ratios. There are many reasons for this choice: 2:3 & 3:4 seems to be the most common ratios on smartphones / a vertical layout with the player on bottom gives a feeling of opposition between the player and the customers coming from top / it encourages bouncing beers on walls to reach customers on the other side / it fits well with touch & swipe controls.

In this talk , Rami Ismail underline something people tends to forget: screen resolution is a gameplay variable. It's not because most screens use a 16:9 ratio (1920x1080) that you have to make your game in it, you have the control over it.

https://www.youtube.com/watch?v=aNDWf-hBbns

Camera

I implemented a 2D shaking effect and an orthographic kick with the goal to be able to set them in the editor but also call them by code when needed.

Therefore I created them in their own class with simple methods (Play / Stop) relying on a coroutine for execution, the class keeps a reference to the coroutine as a member. The methods manage multiple calls by stopping the current coroutine and starting a new one without losing the original position / orthographic size of the camera.

The Play method takes a ScriptableObject holding the data for the kick or shake to execute and revert to a Default one loaded on constructor call if no SO is passed. This way the shake / kick parameters can easily be set inside editor.

shakekick_scriptables.PNG

I still need to use those effects inside the game logic and fine tune them but they're working neatly :D

Audio

I did a 1st pass to integrate an old audio layer I wrote just to have some system to play sounds and music that I can call from anywhere in code at any time. It's instantiated by a Director gameobject at the start of the game and is accessible via a static property using a simple interface on the Director class.

I need to find sounds for everything in the game and a decent music loop. I'm certainly gonna use Audacity to treat sounds and maybe make something with Bosca Ceoil for the music.

In the end

I have a lot of things to do before publishing this 1st content update but it'll be worth it I'm sure!

If you're interested to see what this game becomes I'll certainly twit updates on it on my account @tholSyppaH :)

(Don't forget to rate my game!)