Home | Rules and Guide | Sign In/Create Account | Write a Post | Donate | #ludumdare on irc.afternet.org (Info)

Ludum Dare 23 — April 20th-23rd, 2012 — 10 Year Anniversary!

Ludum Dare 22 :: December 16th-19th, 2011 :: Theme: Alone

[ Results: Top 50 Compo, Jam | Top 25 Categories | View My Entry ]

[ View All (Compo, Jam) | Warmup ]


Posts Tagged ‘Love’

Volcanox

Posted by (twitter: @moonscript)
Monday, December 19th, 2011 9:45 am

Although I finished this yesterday at the deadline, I’m posting it now because the site isn’t (as) super laggy.

Proudly presenting Volcanox:

About

Volcanox is platformer that takes place on a distant planet, coded entirely in my own programming language. Our hero is stranded alone with a volcano in his path, and he must find a way out! There’s only one level and enemy, but it’s a fairly long level and the enemies are annoyingly hard. So plenty of replay value. There is an end for those brave enough to get there. It also times you, so you can share results with your friends.

I put up a small homepage for the game as well, so it’s not lost in this blog.

Install directions

Windows:

Extract and run the executable: volcanox.zip

Other Platforms:

Install the LÖVE game engine as directed on their site. Download the .love file, and open it with the game engine.

Source

The source is hosted on GitHub.

Issues

After speaking to some Windows players (after the deadline) I’ve found out that some of them have a problem with moving, where one direction is faster than the other. I also have heard of an issue where the sound effects break after playing initially. I was unable to reproduce any of these problems on my development machine (linux) so my apologies to those who encounter these problems during their playthrough.

The LÖVE-PARTY’s post mortem

Posted by
Tuesday, August 24th, 2010 9:46 am

As you may recall, last night with three hours to spare, we managed to finish and submit our game Fistful of Beef for Windows, Linux and Mac OS X. After a good nights rest, the LÖVE-PARTY has had some time to reflect on the last few days and the work that has been done. As such, we felt it may be fitting for us to round off our participation in this Ludum Dare with a post mortem, and sharing what we’ve learned.

In a previous post, we mentioned that we spent the first 24 hours doing nothing constructive other than putting together our intro screen. There were a few reasons for this:

  1. We didn’t have our workflow set up. We hadn’t decided on what frameworks and libraries to use, so for the first 8-10 hours we were trying to use a custom framework that only one person really understood. After deciding that it was rubbish, we switched to yet another -even stranger- framework that I don’t think anyone at all understands. It wasn’t until after 24 hours that we decided to rip all of the complex stuff out and replace it with something with loads of documentation that everyone could grasp in minutes.
  2. Our team structure was unclear. Our team was originally far too big. I think that we were originally going to be 7 or 8 people. It’s really, really hard to manage a group like that. Especially when you’re spread out across timezones. It wasn’t until about half of the group had defected that we could really start focusing and getting things done. If your group is larger than 3 or 4 people, I would advice splitting it into two groups instead.
  3. Coordination problems. This ties into the above mentioned point, but it can be equally as much of a challenge even in a smaller group. Because we were spread out all over the globe, some people were never around when the “core” of the team were awake. While we were unconventionally organized with proper game design documents (okay, so maybe not proper design docs. But they were better than post-it notes.), it was still hard for everyone to know what had been done and what was going to happen next.

It wasn’t until we had solved all the above problems that we were able to get started, but once we did that, I’m amazed at how efficiently we worked and how everyone stepped up and took care of what needed to be done. The team did great and I would certainly not mind working with them again (albeit in a smaller group). I’m very much looking forward to participating in another Jam, but I hope that in the future there will be a competitive version of it. Making games together is damn fun, but it does feel a little anticlimactic to have worked so hard and then just have your game sit there.

As for the game itself, I’m pretty happy with it. In the best of worlds, I would have liked to have implemented a highscore and prerferably a way to upload that highscore to a central server, but what the hell. It’s a game about beating bulls down to a pulp.

Before signing off, I would just like to thank all the LD:ers for an amazing time. I would also like to thank all the members of the LÖVE-PARTY for their hard work. And finally, to my incredibly supportive girlfriend who kept comparing my cowboy hat to a vagina and my bull to a turd: I will have my revenge…

It's not a vagina nor a turd...

It's not a vagina nor a turd...

If you want to try the game out, go grab it from the game page!

The LÖVE-PARTY presents: Fistful of Beef

Posted by
Monday, August 23rd, 2010 3:50 pm

After hours of hectic development by myself, Bartbes, Roybie, Textmode and thelinx, the LÖVE-PARTY is proud to present: Fistful of Beef!

Click the pretty screenshot to see a gameplay video!

Click the pretty screenshot to see a gameplay video!

As was explained in a previous post, the objective is to destroy all cattle by catching a bull with your lasso, swinging it around your head and smashing all the other bovine scum to pieces – preferably as quickly as possible!

We were off to a horrible start, and after the first 24 hours, none of us really thought we’d get anything done in time. But here we are, some 45 hours later, and we now have a pretty cool little game! A proper post mortem will be posted tomorrow, but for now, we’d just like to get some sleep. Have fun playing the game and please do leave a comment.

Go play the game!

The LÖVE-PARTY, out!

THE LÖVE-PARTY… Is… Still around?

Posted by
Sunday, August 22nd, 2010 10:09 am

After spending the first 24 hours trying to understand certain team members’ obscure frameworks (and subsequently trashing said frameworks), as well as assembling what I think is technically known as “a sweet-ass intro screen”, we have now finally started working on an actual game!

Click to see it in action
Click to see it in action

The premise of the game is rather simple. You play the role of the manliest cowboy to have ever walked in hot pink boots. With your vagina-resembling hat, your mission is to lasso a roaming bull, swing it around and use it as a flail to destroy all the other bulls running around. Why? Well… Ehrm… To make ground beef, I suppose? The only bullshit is the one we’re catching.

Our graphics aren’t all that snazzy (our bulls are rather turd-like, and they have no legs) and there’s not really a game yet. But what you can do is lasso a bull and dance with it!

A deadly -yet graceful- weapon

A deadly -yet graceful- weapon

Next up is probably making stuff collide. Can’t make a hamburger if you can’t smash bulls into each other! With roughly 33 hours to go, it seems like the LÖVE-PARTY might actually be able to create something as awe-inspiring as LÖVE itself.

Who are we, you ask? Today, still wanted by the government, we survive as coders of fortune, if you have a problem, and no one else can help you, and if you can find us – you can hire THE LÖVE-PARTY!

Digging holes

Posted by of Polygon Toys (twitter: @pekuja)
Saturday, January 23rd, 2010 11:27 am

Digging in MatoHey, this actually is kinda like a game now. I can move around with the red worm and dig holes. Well, I guess I’ve got the destructible terrain covered already, even though I thought that would be a really difficult thing to nail. Frankly, I expected the simple approach of modifying the image on the fly not to work fast enough, especially because Löve is using OpenGL behind the scenes, so I basically need to upload the fullscreen texture to the GPU every time I modify the terrain. I guess the real hard part will be making the different weapons.

Diodontidae – postmortem

Posted by
Saturday, May 2nd, 2009 10:07 pm

I believe a better name than post mortem would be lessons learned, so let’s see my lessons learned from the  competition. I would love to read this before the compo, as I can’t make the time go backawards, let try at least to help other newbies.
1. create the menu navigation at the start of the competition
As I was fighting agains some physics problems during the development process most of the menu was left behind. Then I realized 30 minutes to the end that my menu would be an image =) and a play button…

The lesson on this would be, use time in the middle of the nightmares to do these brainless activities, because what can go wrong while build a menu ? =)

2. draw in the paper build and color in the computer
That helped alot, I save my day manipulate the lines with inkscape, but … in order to slice images I have a nightmare with inkscape, go with Gimp works as a breeze

3. dont split images, let the engine split for you
ahhhh I spend some hours cutting images lol !!, could use something like http://love2d.org/docs/love_graphics_draws_1.html to draw a subsprite of the image …

4. make physics work for you
Oh Well after the physics hit me in the head, I learned some details and was able to make it work in a decent way, special note for the boats that hang around over the sea, for that I created a sequence of x,y that is the path to the boats, and I try to follow the path, I believe if I make the water line as an object and change its group to only colide with the boat would be the best to move the boat around.

5. clean the tables in one place only.
Not sure why, buit when I was removing items from my objects list in teh collision handler the LOVE was just crashing … workaroiund that I found : flag to items to be removed and remove in the update() method and one by one from each table, this is call at the end of the update() for each cleanable table :

[code]--- clean the tables
function cleanTable(table2Clean)

for n=1,table.getn(table2Clean),1 do
if table2Clean[n].dirty ~= nill then
table2Clean[n].poly:destroy()
table2Clean[n].body:destroy()
table.remove( table2Clean, n )
break
end
end
end
[/code]

and at the collision handler, I dont remove the pig from the list, just flag it
and I believe that this would be a nice way to animate the pig booom =)
by using a multistate, like alive/almost dead/dying/im outa here :)
would change the image section, or play an animation … and at the end remove from the list
that would be great …

[code]
function killThePig( id )

love.audio.play( audioCollision, 1 )
pigsKilled = pigsKilled +1

for n=1,table.getn(pigs),1 do
if pigs[n].poly:getData() == id then
pigs[n].dirty = true
break
end
end
end
[/code]

6. reusable files should be in a folder
I’m using for labels the .lua classes that I made called LOVEly-eyes, but I had this problem with the Text object that wasnt transparent … Oh well I went in the code changed the super class, Rectangle to handle this and the Text is transparent by default, cool, but but but … :) after that I just copied all the files from the LOVEly-eyes folder to my game folder … too bad because I copied a main.lua file together … If I wasnt using subversion would be a nightmare … now LOVELy-eyes are in a separated folder =)

7. use a version control system
I used subversion, saved me when I made an stupid folder copy … revert and just lost some minutes of work… bu remember keep on committing =)

8. put together a zip with everything
Better that just the .love file, create a package with the execs, the best would be create an installer.

9. level up level up !!!
people like rewards, so more than the score I should add level concept, just with faster attack of the pigs, or a different scenario with different speed .. hummmm that would be cool a .lua file for each level :)

10. collision has 2 sides … A and B
It took me some time to realize that A and B collision data, first they are the DATA from the polygon nothing else, just disconnected data, not a reference, not and pointer … hehehhe string data what makes very nice and unplugged from the code, and you have to test both sides, if wherever A colide on B and the oposite, this was my colision code

[code]function collision(a, b, c)

if string.starts(a, "pig") and string.starts(b, "battery") then
killThePig( a )
removeTheBattery( b )
elseif string.starts(b, "pig") and string.starts(a, "battery") then
killThePig( b )
removeTheBattery( a )
elseif a == DIODONTIDAE and string.starts(b, "food") then
eatFood( b )
elseif b == DIODONTIDAE and string.starts(a, "food") then
eatFood( a )
end

end

function string.starts(String,Start)
return string.sub(String,1,string.len(Start))==Start
end
[/code]

note that I used start() because I add the object id after the type, so I can grabb it from the list, something like “crap_2″, “crap_3″

11. scroll the view is possible Luke… use the force !
Ha ! not the force, at the end I solved the screen scrolling with a simple solution, calculated a shif from the main character and update this shift in the update() method and every single draw has this shift. So the camera is following the character, thats stays in the screen all the time, and to avoid the char to drop outside the world I add invisible walls on left and right side and check if the cameraX is in the possible range,

this in the start of the code

[code]
startCameraX = love.graphics.getWidth( ) / 2
startCameraY = 200

cameraX = -startCameraX
cameraXLimit = {}
cameraXLimit.start  = 0
cameraXLimit.finish = -2905
[/code]

+ cameraX on each draw
[code]
love.graphics.draw(diodontidae.image,
diodontidae.theChar:getX() + cameraX,
diodontidae.theChar:getY())

------ draw the batteries
for n=1,table.getn(batteries),1 do
love.graphics.draw(
imageBattery,
batteries[n].body:getX() + cameraX,
batteries[n].body:getY(),
batteries[n].body:getAngle() )
end
[/code]
this on the update()

[code]    cameraX = startCameraX - diodontidae.theChar:getX()

-- keep the camera in the boundaries
if cameraX > cameraXLimit.start then
cameraX = cameraXLimit.start
elseif cameraX < cameraXLimit.finish then
cameraX = cameraXLimit.finish
end
[/code]

Mines of DOOM (final)

Posted by
Sunday, April 19th, 2009 6:19 pm

The first and final release of “Mines of DOOM”

Your a mine worker who ignites a large pocket of gas, resulting in a massive explosion leaving you in both in a race to the top for air

You must escape a maze of mine shafts to live!

features:

graphics (including animated fire, and a blue block for the player)

keyboard controls, arrow keys and wsad!

analog joystick control

4 difficulty levels

4 maps

and 8 levels

Made with love (love2d.org) so it will work on windows linux and mac

this download includes windows love binaries, if you want / need to run it on *.nix, please extract Mines of DOOM.love and visit http://love2d.org/download, for osX and debian binaries and source code

to view the source code for Mines of DOOM, open the Mines of DOOM.love file with winzip or some similar zip utility, *.love files are really just *.zip files with the extention changed

finally I hope you enjoy the game, and I wish everyone luck!

>> DOWNLOAD <<

PS: if the batch file does not work, just drag n drop “Mines of DOOM.love” onto love.exe, thanks


All posts, images, and comments are owned by their creators.

[fcache: storing page]