Page 1 of 3
Dave Gone Apeshit
Posted: Thu Jan 20, 2011 7:07 pm
by Lukasz
Hi
Dave Gone Apeshit is a run and gun platform shooter made by myself and Matias Billeschou in the weekend Januar 7th to January 9th 2011 as a warm up exercise for the Nordic Game Jam 2011. We made up the title once the game was finished, as we could not come up with an idea of how to justify the setting, so Dave is just insane
Unfortunately the game crashes when played with sound in LÖVE 0.7.0 due to a sound bug
https://bitbucket.org/rude/love/issue/1 ... n-mac-os-x. The bug has been fixed in the LÖVE repository, so it should work fine in the next 0.7 version of LÖVE
Screenshots, code and assets:
https://github.com/lukaszbruun/Dave-Gone-Apeshit
Latest LÖVE files:
https://github.com/downloads/lukaszbruu ... -1.2-.love
https://github.com/downloads/lukaszbruu ... sound.love (works with LÖVE 0.7.0)
Let us know what you think of our first released game
Re: Dave Gone Apeshit
Posted: Thu Jan 20, 2011 7:51 pm
by tentus
You've got PO2 problems all over the place. The simple fix is to require this code:
Code: Select all
do
local newimage = love.graphics.newImage
function love.graphics.newImage(source)
if type(source) == "string" then
source = love.image.newImageData(source)
end
local width = source:getWidth()
local height = source:getHeight()
local powerwidth = math.pow(2, math.ceil(math.log(width)/math.log(2)))
local powerheight = math.pow(2, math.ceil(math.log(height)/math.log(2)))
if powerwidth ~= width or powerheight ~= height then
local padded = love.image.newImageData(powerwidth, powerheight)
padded:paste(source, 0, 0)
return newimage(padded)
end
return newimage(source)
end
end
However, I think this is causing a host of other rendering issues. Please be friendly to people with bad video cards!
Re: Dave Gone Apeshit
Posted: Thu Jan 20, 2011 8:43 pm
by bartbes
Ha! I blew away your record, I got 32 seconds.
Re: Dave Gone Apeshit
Posted: Thu Jan 20, 2011 9:29 pm
by Robin
37.
Man, this game is crazy
Re: Dave Gone Apeshit
Posted: Thu Jan 20, 2011 9:31 pm
by bartbes
75.39.
I did edit in my WIP input lib and switched to joystick though.
Re: Dave Gone Apeshit
Posted: Thu Jan 20, 2011 10:52 pm
by Lukasz
tentus wrote:You've got PO2 problems all over the place. The simple fix is to require this code:
...
However, I think this is causing a host of other rendering issues. Please be friendly to people with bad video cards!
Thanks for pointing this out. I've made a patch to the game based on your code, so hopefully PO2 issues should be resolved.
Version 1.1 with PO2 patch is now available for download
Matias got 64 seconds, the best score between the creators of the game.
Re: Dave Gone Apeshit
Posted: Thu Jan 20, 2011 11:24 pm
by tentus
Interesting approach, but you kinda missed it. What the code I posted does is change the way that love.graphics.newImage works, with the intent of forcing every image that comes out of it to be a power of 2 (2, 4, 8, 16, 32, 64, 128, 256, 1024, 2048, 4096 etc). The other solution is to manually change the size of all your images, which is what I did in the attached love file.
Again, this causes some funkiness with alignment, which I guess would have to be sorted out manually.
Re: Dave Gone Apeshit
Posted: Fri Jan 21, 2011 2:27 pm
by Lukasz
Hi tentus
The reason I did not use your solution is because it is not compatible with the original love.graphics.newImage in atleast two cases
1) If you want want to use the entire image with a quad that is bigger than the original image, it will not get wrapped correctly, as there now is extra padded space to the right and below the image. The solution here is to resize the image, making the PO2 fix redundant.
2) You lose the original dimensions of the image, as getWidth() and getHeight() now return the PO2 dimensions. So the width and height of the original image is cannot be used in calcutions for sizes quads, animation frames, etc.
Since we use both of these techniques in Dave Gone Apeshit and your solution changes the love.graphics.newImage functionality instead of augmenting it, I've decided to wrap it in my own image class to resolve issue 2 and resize the one image we stretch to get around issue 1.
Your comment did make me look at my code own more time, as I initially thought you were pointing out a bug and indeed there was a bug that made the game never make use of the PO2 textures. I've now fixed this bug and updated to version 1.2.
So even though that was not your intent to make me look at this bug, I thank you for making me look at the code again
PS: In our current game we are only using (small) PO2 textures, to avoid this issue and lower memory requirements.
Re: Dave Gone Apeshit
Posted: Fri Jan 21, 2011 5:54 pm
by tentus
Cool deal, though version 1.2 still does not render the glass walls correctly, they are just white rectangles on my work machine. Also, you may want to play Canabalt a bit and see if you can grab any gamemaking lessons from them: I feel like my record (58 seconds) is not due to an increase in difficulty, but rather more luck-based.
Cool game though, very polished for something so young.
Re: Dave Gone Apeshit
Posted: Fri Jan 21, 2011 8:20 pm
by Lukasz
I think the windows are still white due to the texture for the window shatter animation being so huge (4096 x 1024 when PO2), I know some graphics card have issues with huge textures.
I would be lying if said that our game wasn't inspired by Canabalt
I hope we can make something as awesome as Canabalt some day, everything just comes together in such a great way in that game.
I agree about the gameplay not being polished enough and that is pretty hard to predict how to react to the enemies since you can't see very far, so its mostly based on luck. It our first game (ever) and something we just made to see if we could even make a game for Nordic Game Jam 11 in such a short time period. Dave Gone Apeshit was an experiment and we won't be making any updates to it, we have already moved on
Thanks for trying out the game and it's great to hear that you like it for what it is.