Dave Gone Apeshit

Show off your games, demos and other (playable) creations.
User avatar
Lukasz
Prole
Posts: 11
Joined: Thu Jan 20, 2011 6:40 pm
Location: Denmark
Contact:

Dave Gone Apeshit

Post 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 :)
Last edited by Lukasz on Fri Jan 21, 2011 2:27 pm, edited 2 times in total.
User avatar
tentus
Inner party member
Posts: 1060
Joined: Sun Oct 31, 2010 7:56 pm
Location: Appalachia
Contact:

Re: Dave Gone Apeshit

Post 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!
Kurosuke needs beta testers
User avatar
bartbes
Sex machine
Posts: 4946
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

Re: Dave Gone Apeshit

Post by bartbes »

Ha! I blew away your record, I got 32 seconds.
User avatar
Robin
The Omniscient
Posts: 6506
Joined: Fri Feb 20, 2009 4:29 pm
Location: The Netherlands
Contact:

Re: Dave Gone Apeshit

Post by Robin »

37.

Man, this game is crazy :crazy:
Help us help you: attach a .love.
User avatar
bartbes
Sex machine
Posts: 4946
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

Re: Dave Gone Apeshit

Post by bartbes »

75.39.
I did edit in my WIP input lib and switched to joystick though.
User avatar
Lukasz
Prole
Posts: 11
Joined: Thu Jan 20, 2011 6:40 pm
Location: Denmark
Contact:

Re: Dave Gone Apeshit

Post 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.
User avatar
tentus
Inner party member
Posts: 1060
Joined: Sun Oct 31, 2010 7:56 pm
Location: Appalachia
Contact:

Re: Dave Gone Apeshit

Post 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. :D Again, this causes some funkiness with alignment, which I guess would have to be sorted out manually.
Attachments
Dave-Gone-Apeshit-1.1-nosound.love
(5.41 MiB) Downloaded 304 times
Kurosuke needs beta testers
User avatar
Lukasz
Prole
Posts: 11
Joined: Thu Jan 20, 2011 6:40 pm
Location: Denmark
Contact:

Re: Dave Gone Apeshit

Post 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.
User avatar
tentus
Inner party member
Posts: 1060
Joined: Sun Oct 31, 2010 7:56 pm
Location: Appalachia
Contact:

Re: Dave Gone Apeshit

Post 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.
Kurosuke needs beta testers
User avatar
Lukasz
Prole
Posts: 11
Joined: Thu Jan 20, 2011 6:40 pm
Location: Denmark
Contact:

Re: Dave Gone Apeshit

Post 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.
Last edited by Lukasz on Fri Jan 21, 2011 9:53 pm, edited 1 time in total.
Post Reply

Who is online

Users browsing this forum: No registered users and 15 guests