Duckman

Hi, this is my first game. ;D

This is a SandBox game where you can “modify” the world, recollect items and improve your character. It has a two players mode.
When it is dark, there will be a lot of phantoms near you that want kill you. You have to survive!!

[NOTE]
PVP is OFF, if you want to put it on, put two players mode, press ESC, go to options, and put it ON.

[CONTROLS]
WASD - Move
Q - Attack
E - Action
Z,C - Move Inventary.
ESC - Menu

Read “Intrucciones” in the game menu.

The game is in Spanish, but it is programmed in English. I hope you enjoy.

[DOWNLOAD]
Duckman V1.6

[LATEST UPDATE]
V 1.6
-New Sound Effects
-Better Perfomance
-Some bugs fixed

[SCREENSHOTS]

PD: I am not a spriter, so the graphics of the game are not mine. The idea is to put original sprites.
If you see bugs or you have ideas, please, let me know. :point:

Getting a 404 on that Dropbox link

I don’t know why the Droopbox link had expired.
Thanks, now it is fixed. ::slight_smile:

This is very nice (although I wish more people would add 16:9 ratios)!

There is one issue though, and I think I know how to fix it. Your movement collision seems to merge both axis, making it so that if you are colliding on one direction, you can’t move on any axis (I call it the ‘sticky wall effect’). I assume you are checking like this in your movement code:


if(no_collision_x && no_collision_y)
    // Do movement on x and y

What you need to do is make 2 if statements:


if(no_collision_x)
    // Do movement on x
if(no_collision_y)
    // Do movement on y

This way, movement won’t be so difficult for the player.

EDIT:
I could not read your code, so this may not be how you check, but I reccomend you check out kevglass’ tutorial on TileMaps, in which he covers collision logic way better than I ever could :P.

Thanks for the feedback.

I explain to you. The world is a toroid world, see “image”, so first we have “two rects” to go to the same point and there is no borders.

Each tile have the collision issue. I detect a collision using a group of 2x2 tiles (If there is a collision with any of the entities inside of them) and the tile where we go, if it is walkable or not. So first, I do a movement, then I detect the collision (tile colission or entity collision), if there is a collision, I undo the movement.
Your idea sounds great, but there will be 2 “ticks” rather than one (I will think about it). I use Graphics2D as library and it is too slow, I know, so I can not put more than a HD resolution because the framerate goes down of 60 fps and I love 16:9 ratio.

I am not a programmer, I am just a mathematician student, and I’m trying to improve this game little by little. As I said in description, the graphics are provisional, I think I will do it in the end. I prefer improve the performance and the fun, and then, I’ll put my own graphics.

Regards!