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 ]


About quadtree

quadtree's Trophies

quadtree's Archive

Station 7 done

Posted by
Sunday, December 18th, 2011 3:15 pm

I’ve completed and submitted my adventure/puzzle game, Station 7. In it you must explore the abandoned station and try to find a way out.

Link: http://www.ludumdare.com/compo/ludum-dare-22/?action=preview&uid=4024

Some progress

Posted by
Saturday, December 17th, 2011 1:20 pm

Graphics and the editor are working, now I just need some content and stuff to interact with…

I’m in!

Posted by
Tuesday, December 13th, 2011 12:33 am

I’m in! This will be my third Ludum Dare, after #20 and #21. I’m hoping this time to make something compatible with both PC and Android, so getting the UI working should be fun.

Tools:

  • Language: Java
  • Main Library: GDX
  • Sound: sfxr
  • Graphics: Blender, GIMP
  • IDE: Eclipse

I can’t wait to get started, and I’ve got my warmup entry here.

Lost in the Depths – Postmortem

Posted by
Wednesday, August 24th, 2011 12:02 am

This is my second Ludum Dare entry, my first being in LD20. For this one, I really wanted to try making a multiplayer game, as I it seemed like an interesting thing to do in 48 hours. My concept was a roguelike game where the player was part of an adventuring party who must escape from a dungeon after things go wrong. Because I figured many people would end up playing the game solo, I also wanted the ability for players to carve messages into the floor (an idea straight out of Nethack, I’ll admit). I was thinking that maybe people would carve hints or some such.

What Went Right

The Graphics/Audio/Networking Library
I was using a modified version of my base code from the last Ludum Dare, with a networking component I grabbed from another one of my projects and added to my base code. It generally worked really well, with few notable problems. I worked out most of the kinks last time (mostly related to applet startup/shutdown). I did have to fix a single performance issue with the renderer, though.

Server Performance
My main game server is running on a small virtual server, and I was worried that it would run out of CPU if more than a few people connected. But so far, it has handled the load very well. There also have been no problems with bandwidth on the server side.

Backend/Threading/etc.
I went with a weird architecture that had a separate thread for each zone (which was a bit pointless in retrospect as my server only really has one core). Still, I’m happy that it works without crashing excessively. Even with a few players connected CPU utilization is low on the server. Also, I was a bit concerned that the communication between the threads could lead to some kind of deadlock, but that doesn’t seem to happen, which is good.

Pathfinding
I wanted to give the player character the ability to path around obstacles, which would make the game more user-friendly. To do this, I made a simple implementation of the A* pathfinding algorithm. Because the pathfinding was server side, I was worried that it would overload the small server. But it actually works pretty well with no noticeable stutters. There is the slight issue that you can order it to path to places where the entire path isn’t on screen, though. Using this trick a player can find paths to anywhere onscreen, even if the actual path runs all over the level.

What Went Wrong

Responsiveness
As any good UI designer will tell you, a good GUI must be very responsive, aka it must respond immediately to user actions. To ensure this, most multiplayer games use client side prediction to create the illusion that the game responds instantly to player actions. However, to simplify things, Lost in the Depths uses a “dumb client” model where all game logic is processed on the server side, and the client serves as a sort of glorified renderer. As a result, any action requires at least double the ping time to the server before the user sees any response. This problem is exacerbated by the fact that the server only runs 4 logic ticks per second, so the request must wait for the server to get to the next tick before it processes it. Finally, there is an error in my code that delays all actions by an additional 1 tick (250ms), which does not help either.

Testing
My design for this game was somewhat complex, probably too complex. I did not have enough time to completely test and balance all the components, and as a result there are several balance issues. Plate armor is grossly underpowered, and robes are probably overpowered, just to name a few. Another issue came up on the last day when I was about to test multiplayer. The problem, of course, was that there was only one of me so I couldn’t fully test actual multiplayer, in an allegedly multiplayer game. As a result, the multiplayer game itself isn’t very well balanced.

Level Design
I’m fairly happy with most of the level design, except for Level 2, the Labyrinth. It is supposed to be a bit of a confusing maze, but the result is way too confusing, and there are too few monsters, making it boring to play. This is exacerbated by the lack of an auto-map, leaving players wandering.

Artwork
In my LD20 entry, a lot of the main graphics were made in Blender, and were of robots, which are a lot easier to draw then people. In this game, I relied more heavily on hand-drawn graphics, and unfortunately, I’m not very good at drawing. It also didn’t help that I ended up making most of the graphics last, and at 3 in the morning.

GUI
Some parts of the game require text input, and my plan was to use the Swing part of Java to get this input. The problem was my graphics library was based on AWT and wasn’t designed to work with other GUI components. This wasn’t a showstopper, but it did take a few hours of tweaking to get this right.

Overall, it was an interesting experiment, but I’m not that happy with how it turned out. Working on a complex entry like this was fun even if the result is a bit sluggish. If I were to do it over again I would simplify the game a bit and focus more on tweaking the network performance to make the game more responsive.

All done

Posted by
Sunday, August 21st, 2011 5:57 pm

I’ve just finished my mulitiplayer roguelike, Lost in the Depths.

Making this one multiplayer was an interesting experience, but unfortunately I couldn’t fix some of the lag issues. I was also hoping to make an offline-only version but ran out of time. I just hope there aren’t too many connection issues.

http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&uid=4024

Current status

Posted by
Sunday, August 21st, 2011 12:25 pm

All it needs now is a title screen… And maybe some sound.

I’m in!

Posted by
Tuesday, August 16th, 2011 2:14 pm

This is my second LD, after LD #20, which was great fun, so I’m really looking forward to getting started.

Technology: Java Applet

IDE: Eclipse

Sounds: Audacity and sfxr

Graphics: GIMP and Blender

Physics: JBox2D

Base Code: Simple graphics/audio/networking library for applets. Downloadable here.

Done

Posted by
Sunday, May 1st, 2011 5:44 pm

I’ve finished my Action-RPG, Robot Village. If I had it to do over again, I’d try to make it a bit longer.

Play Robot Village.

Some progress

Posted by
Saturday, April 30th, 2011 3:59 pm

Here’s a screenshot of what I’ve got so far. Its an adventure game that I’m calling Robot Village.

Screenshot of my game

I’m in!

Posted by
Monday, April 25th, 2011 4:17 am

Hi, this will be my first Ludum Dare, so this should be interesting!

Platform: Java Applet

Tools:

  • Eclipse
  • GIMP
  • Audacity
  • SFXR
  • LMMS

I will also be using a custom game base library I call SGF, for the curious it can be downloaded here but its pretty basic.


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

[fcache: storing page]