Dead on Arrival

Show off your games, demos and other (playable) creations.
User avatar
Pebsie
Party member
Posts: 144
Joined: Mon Nov 11, 2013 12:35 am
Location: Lincoln, United Kingdom
Contact:

Dead on Arrival

Post by Pebsie »

Hello fellow lovers!
I wanted to share the game that I am currently developing, and so thought that the best place would be on here :)

Dead on Arrival
The game that I'm currently working on is titled "Dead on Arrival". Can you guess what it's about? Yeah, thought so. It's a post-apocalyptic zombie survival game! You're thrown into a huge (1000x1000*(32x32px tile) world) open-world with one objective: survive. In order to do this, you must scavenge villages, towns and cities in search of provisions, medical supplies and weapons. Of course, this won't be easy: there are 1024 zombies in this nightmare, all of which are hungry for human brains! As if that wasn't enough, there are bandits to consider: other players also trying to survive. You better hope that you aren't the one standing in the way of a fully-loaded zombie-killing warrior and a can of soup. Of course, not all people are bad. Some have a heart, and, in a situation like this, you'd be better off sticking together. Besides which, no-where is truly safe and if you're unlucky enough to run into a mutated zed then you better be sure that you have friends by your side. Tired of killing zombies and players? Explored the entire gameworld? Then why not make your own! Server owners are able to create their very own zombie-infested world with a built-in map editor.

Features
  • Zombie survival: maintain your thirst, hunger and hp
  • 1024 active zombies: Realistic zombie spawns and optimized AI
  • Twin-stick gameplay: Move with WASD, attack with the DPAD
  • A 1000x1000 tile world: A huge gameworld filled with opportunities for exploration and unscripted cinematic experiences. Fully changeable with the built-in map editor
  • Strong multiplayer focus: Track down other survivors, create traps, avoid getting shot, group up and make friends
  • World bosses: "Mutated Zeds" that require several people to take down, thus promoting co-operation, if only for a brief time
Controls
W,A,S,D = Movement
SHIFT (Hold) = Sprint (Increases speed but also increase the radius of which a zombie will notice you, and causes you to lose 32 stamina per second)
CTRL (Hold) = Crouch (Lowers speed and lowers the radius of which a zombie will notice you. Also increase stamina gain per second by +2)
E = Move to the next inventory slot
Q = Move to the previous inventory slot
UP,DOWN,LEFT,RIGHT = Use selected item. For weapons will fire or hit the weapon in that direction. For provisions and other items the key pressed will make no difference
F = Pickup item

Let's stop talking about it like an advertisement
Sorry, that got a bit out of hand :P
The point is that I'm making this game and that I'm looking forward to the outcome of it. I have so many ideas that I am hoping to integrate and so many that already available in-game in its present state. I'm developing this surprisingly fast (I'd easily call myself a procrastinator) and it has turned from a small prototype test to a half-working game in just over a week!

Second day of Development:
Image

Seventh day of Development:
Image

Even now, on Day 10, there is tons of stuff that that second gif doesn't show that's now in.
The game is currently in a pre-alpha state, and I will be releasing the Alpha for private testing sometime this month. Depending on the feedback that I get, the game will either go public in its alpha state or stick around in private until around Christmas time, when I hope to release the Beta (at this point I intend on going out of my way to get as many players as possible, and so want the most polished beta experience that I can provide).

I'll record another gif of the game later today to show off what's new, and then I'll add a changelog each day for the things I add in following that.

To-Do List (red = done)
Picking up of objects
Hunger and Thirst
Combat
Multiplayer (partially complete)
Map editor

(That's quite a bit listed in a very vague way! It's alright: if I ever come up with a mechanic, I also come up with the way in which I will code it. This means that my ideas are kept somewhat realistic and is probably why I code so fast.

Changelog:
12/7/13:
+ Fixed an issue that sometimes caused the game to crash when drawing items
+ Zombies are now only drawn if the player can see them
+ Performed FPS tests with as many as 5000 zombies - 12fps on 1GB RAM, Atom N570 @ 1.66ghz, Elementary OS
+ Added Hunger
> You lose 0.4% hunger per second (it takes 4 minutes and 16 seconds for your hunger to be depleted)
> If your hunger falls below 10%, you stop gaining energy naturally
> If your hunger reaches 0%, you lose 3% energy per second
> If both your hunger and energy are at 0, you lose 8% health per second

12/1/13:
+ Hats are now synced with the server
+ Players now move into their new positions much faster
+ Player positions are now stored in a much more logical fashion
+ Client-side player positions are now 300% more precise

11/24/13:
+ Player positions are now sent every 0.1 seconds apposed to every 0.3 seconds

11/19/13:
+ Multiplayer now completely stable on all systems regardless of FPS and player count

11/18/13:
+ Work started on making multiplayer stable
+ Items are now server-side

11/17/13:
+ Multiplayer movement smoothed hugely
+ Further multiplayer testing

11/16/13:
+ MULTIPLAYER! Server and client system done. Very very buggy atm, but works. Currently only player positions and the map are server-side

11/12 - 15/13:
+ It now takes a certain amount of time to use an item (each time is individual to that item)
+ Bug fixes and optimizations
**I seem to have completely lost the version of the changelog that continued after here... I did quite a bit, I just don't remember what. Most of it was bug fixes, balancing and optimizations**

11/14/13:
+ Skill tree: Medical, Strength, Survival and Marksmanship (GUI to be implemented shortly)
Medical
> Bandages now have a 1 in (4 - medical skill/2) chance of stopping bleeding
> Healing items now restore their value * medical skill
Survival
> Provisions now restore their value * survival skill
> Your energy loss whilst sprinting is now 16 + survival skill
> Zombie detection radius is decreased by having a higher survival skill
Strength
> You now regain health equal to plus 0.3*strength every second
> You now take strength/3 less damage
Marksmanship
> n/a
+ Made footsteps 70% quieter
+ Added a panting sound effect
~ Attempted 3d sound for the sfx I added in yesterday... LOVE does it in a weird way. I'll return to it later


11/13/13:
+ Bleeding
+ Bandages
+ Sound effects and ambient noise
+ You now gain 4 energy when idle and 6 whilst crouching
+ Energy drinks now work
+ Items are scattered around the map apposed to being spawned in the first 640x480 pixels
+ Tiles appear red depending on your current health
+ Further inventory system working
+ Character skin is now default and no hat is given at spawn
+ More messy code fixes


11/12/13:
+ Working inventory system!
+ Player skins! These can be set to anything and wounds still work just fine without the need for multiple wound images per/ skin
+ Re-drew player wounds for 25hp and 10hp
+ Changed sprint stamina decrease by half to 16
+ You now run and walk slower. For comparison: zombies move pretty much in between your running and walking speed, making them an actual threat
+ Zombies now deal 5 damage per second apposed to 8
+ Removed some messy code in the draw function: FPS should now be slightly increased
Thanks,
- Pebsie :awesome:
Last edited by Pebsie on Mon Dec 09, 2013 10:49 pm, edited 1 time in total.
Website: http://peb.si
Twitter: @Pebsiee http://twitter.com/pebsiee
Steam: pebsie
User avatar
AnRu
Citizen
Posts: 69
Joined: Sun Oct 27, 2013 1:33 pm
Contact:

Re: Dead on Arrival

Post by AnRu »

Cool game. FPS not slow? You use canvases to draw a tile map?
jjmafiae
Party member
Posts: 1331
Joined: Tue Jul 24, 2012 8:22 am

Re: Dead on Arrival

Post by jjmafiae »

canvas are bad for old computers, you can optimize the game alot better by not drawing objects that are invisible.
User avatar
Roland_Yonaba
Inner party member
Posts: 1563
Joined: Tue Jun 21, 2011 6:08 pm
Location: Ouagadougou (Burkina Faso)
Contact:

Re: Dead on Arrival

Post by Roland_Yonaba »

Brilliant. I just love what went on between the prototype and the actual game. Nice.
Keep it up.
User avatar
AnRu
Citizen
Posts: 69
Joined: Sun Oct 27, 2013 1:33 pm
Contact:

Re: Dead on Arrival

Post by AnRu »

jjmafiae wrote:canvas are bad for old computers, you can optimize the game alot better by not drawing objects that are invisible.
i'm used this too, but without canvases game works very slow
User avatar
Nixola
Inner party member
Posts: 1949
Joined: Tue Dec 06, 2011 7:11 pm
Location: Italy

Re: Dead on Arrival

Post by Nixola »

What about a [wiki]Spritebatch[/wiki]?
lf = love.filesystem
ls = love.sound
la = love.audio
lp = love.physics
lt = love.thread
li = love.image
lg = love.graphics
jjmafiae
Party member
Posts: 1331
Joined: Tue Jul 24, 2012 8:22 am

Re: Dead on Arrival

Post by jjmafiae »

AnRu wrote:
jjmafiae wrote:canvas are bad for old computers, you can optimize the game alot better by not drawing objects that are invisible.
i'm used this too, but without canvases game works very slow
thats far from true, my game 9891 does not use canvas and it runs fine on all computers i have tested it on, you need to do it like this:

Code: Select all

if x > cameraX and
x < cameraX + 800 and
y > cameraY and
y < cameraY + 600 then
      love.graphics.draw(picture,x,y)
end
User avatar
micha
Inner party member
Posts: 1083
Joined: Wed Sep 26, 2012 5:13 pm

Re: Dead on Arrival

Post by micha »

I second Nixolas post: Try Spritebatches first.
User avatar
Pebsie
Party member
Posts: 144
Joined: Mon Nov 11, 2013 12:35 am
Location: Lincoln, United Kingdom
Contact:

Re: Dead on Arrival

Post by Pebsie »

AnRu wrote:Cool game. FPS not slow? You use canvases to draw a tile map?
FPS is around 50~ on my Netbook and 400~ on my Desktop.
Netbook:
Ubuntu dist. Elementary OS
1GB DDR2 RAM
Intel Atom N570 @ 1.66ghz
Integrated GPU

Dekstop:
Windows 8 (soon to be ArchLinux)
8gb DDR3 RAM
Intel i3 2120 @ 3.4ghz
Radeon HD 7770 1024mb dedicated vram DDR3

So yeah it shouldn't matter too much on most machines as it runs at 50fps quite literally on a toaster. FPS is only noticable in singleplayer when the machine is caculating zombie movement; the zombies stutter about a bit.

idk about canvases or spritebatch, but the method I'm using has everything on the screen moving, not the player. It draws and calculates the positions and image of each tile individually, drawing an extra row of tiles on each side. Once a row of tiles moves off the screen it jumps to the side of the screen that the player is moving towards and changes its id. The world is stored in a single string with ASCII characters that represent different tile types, and the id just represents the substring that is used. IE, with an id of 1078 the tile's image would be string.sub(world, 1078, 1078).
That's... the best that I can describe it xD

Thanks for the positive feedback :)
Website: http://peb.si
Twitter: @Pebsiee http://twitter.com/pebsiee
Steam: pebsie
User avatar
AnRu
Citizen
Posts: 69
Joined: Sun Oct 27, 2013 1:33 pm
Contact:

Re: Dead on Arrival

Post by AnRu »

jjmafiae wrote:
AnRu wrote:
jjmafiae wrote:canvas are bad for old computers, you can optimize the game alot better by not drawing objects that are invisible.
i'm used this too, but without canvases game works very slow
thats far from true, my game 9891 does not use canvas and it runs fine on all computers i have tested it on, you need to do it like this:

Code: Select all

if x > cameraX and
x < cameraX + 800 and
y > cameraY and
y < cameraY + 600 then
      love.graphics.draw(picture,x,y)
end
i'm use this in my game, but objects on the screen very much. I will try SpriteBatch
Post Reply

Who is online

Users browsing this forum: No registered users and 56 guests