Craft Breaker

Started by zbych, July 05, 2013, 04:26:32 PM

Previous topic - Next topic

zbych

Hi everyone

I would like to introduce my newest production - "Craft Breaker". It is a combination of classic Arkanoid-type game with 3D graphics in the style of Minecraft and with added multiplayer option - which makes this game also similar to another famous production - Pong, with the difference that you can play up to 4 players simultaneously.
You control bat using the accelerometer, swiping your finger across the screen changes the camera view, and if you get bored with single player game, you can invite friends to play multiplayer (co-op or battle) using Bluetooth or WiFi (in case of WiFi you have to be connected to the WiFi network).

Thanks again to Egon for changes in jPCT.
The game is using internally a kind of voxel engine to display blocks (one object for one brick was inefficient), the objects are dynamically recreated when the brick is destroyed. It is my first attempt to create multiplayer game, for communication I have used Kryonet (TCP) and my own bluetooth client/server with Kryonet serialization.

https://play.google.com/store/apps/details?id=com.zr.minecraft.breaker



Wolf17

   Wow! I Downloaded it from playstore. I liked the gameplay. I was first to write a review to your game ;) . But I think the scene should be lit more . It seems a little dark to me .

zbych

Thanks. The lighting model was little problematic for me, because I wanted to have something similar to flat shading with high contrast between different sides of boxes and this might cause this effect, but so far I have no solution for it, maybe I will change skybox brightnes. I will think about it.

EgonOlsen

I've added it to the projects page. Please remind me to do a proper german translation of the game's description in the next few days...what Google Play now shows is hardly understandable.

zbych

Sure. As usual, I will be very grateful.

EgonOlsen

Here you go:

Quote
Mögen Sie Grafik im Stil von Minecraft? Haben Sie jemals Arkanoid gespielt oder vielleicht erinnern Sie sich noch an "Pong" und Sie wollen zusammen mit Ihren Freunden spielen? Wenn Sie diese Art Spiele mögen, werden Sie "Craft Breaker" lieben. "Craft Breaker" ist eine Kombination von "Breakout" mit Grafiken im Minecraft-Stil. Zusätzlich gibt Ihnen das Spiel die Möglichkeit, im Multiplayer-Modus zu spielen. In diesem Modus ähnelt das Spiel einem weiteren berühmtes Spiel - "Pong" - mit Ausnahme dass die Grafiken komplett in 3D sind. Und Sie können mit bis zu 4 Spielern gleichzeitig spielen, was viel mehr Spaß bringt.
Für diejenigen, die "Arkanoid" nicht kennen - es ist ähnlich wie Breakout, Brick Breaker, Krakout - steuern Sie den Schläger, um den Ball im Spiel zu halten und die Blöcke zu zerstören. Craft Breaker ist ähnlich, nur eben in 3D!
Sie können im Multiplayer-Modus über Bluetooth oder WiFi/WLAN im Netzwerk spielen.

Craft Breaker bietet:
- Volle 3D-Grafik (Mit dem Finger hoch/runter wischen, um die Kameraansicht zu wechseln)
- Arkanoidartiges Gameplay
- Grafiken ähnlich wie Minecraft
- Multiplayer über Bluetooth oder WiFi/WLAN (bis zu 4 Spieler gleichzeitig)
- Ein großer Spaß mit Freunden

EgonOlsen

BTW: I've noticed some small glitch in bat/ball movement. Are you are moving them in some thread other than the rendering thread (like directly in the touch event listener)?

zbych

Thanks for translation :D
The position should not be updated from other thread, but I might miss something. You are right - the position is received from server in other thread (in single player too) but it is contained in separate variable, in the rendering thread I make interpolation of position (based on those variables received in other thread) and after calculation it is assigned to graphical object. For the time of scene update the variables are locked (the receiver thread should be locked), but maybe there is something wrong. Those kinds of errors are hard to find... it is not my first multithread application but this is my first mutiplayer game so it might contains some glitches ;)

EgonOlsen

I see...it might as well be an issue with the interpolation, so that the server update resets a movement that has gone too far. It's hardly noticable most of the time, i just wanted to mention it.