Xiode

LD25

First LD; Mind if I join?

Hi everyone! This is my first LD, and I have a few questions:

1. Is it too late to join? If so, when do should I join the next LD?

2. Assuming I can use LOVE2D, can I prepare some starter code for basic stuff like a Main Menu?

Thanks,

Xiode

Comments

14. Dec 2012 路 21:29 UTC
Not too late, no. 馃榾 This is my first one, too.

LD 39

Joining!

I've been having scope and completion issues, so what I hope to accomplish this jam is only these two things:

  • Acknowledge the time restriction, and account for it in design
  • FINISH THE DAMN GAME(, CJ)

I'll be using Love2D with the yaoui and boipushy libraries from https://github.com/SSYGEA?tab=repositories

Best of luck to all involved!

Edit: Also, I'll be using Paint.NET and Reason 7 for asset creation.

Day 1: Systems, Planning for Remainder

Things are going well! This is my first real try at Ludum Dare, and I'm making a top-down wave survival game with a dash of tower defense set in a spaceship. Aliens are boarding your busted Space-Ninja-Dojo ship, and you, the lone survivor, must survive long enough for rescue to arrive. Only problem being that the aliens want your warm, shiny fusion core, which, if ruptured, will wipe out the entire ship, including you. The aliens don't seem to care too much, however, as they appear to be ripping apart any electrical boxes and paneling they can find. If you don't keep this ship together, that core will end up the least of your concerns.

You get only a few tools: First, stationary turrets and repair drones will help you defend and sustain the ship - You get 3 turrets and 3 drones to work with, and can carry one of either in each hand. You also have energy grenades, constructed on the fly from universe-sauce (i.e. you have infinitely many of them, albeit on a cooldown.) Finally, you have your physical ninja skills, allowing you to dash around and knock enemies into the line of fire.

scrsh.png

I'm designing with a focus on light UI and fast gameplay - note the health and cooldown meters surrounding the player, which also act as a pick-up range.

I'm just about done building the underlying mechanics. Player movement feels good, turrets are functional, bugs are being continuously squashed... I'm pretty confident I'll be done in time for the jam, at least! A rough list of remaining tasks in no particular order:

  • Build level. Considering making a rudimentary ingame click-and-place wall layout tool.
  • Alien AI. Probably going to lay out movement nodes on paths for aliens to walk, diverting as new goals enter a radius (e.g. bust down door, attack player or turret, etc.)
  • Visual Effects. The camera system I'm using can handle basic screen shakes and punches, so I'll probably rely on that with some basic particle systems.
  • Sounds. I've got Reason 7 and a license to ~~kill!~~ push buttons and twist knobs, so I'll likely end up with something pretty retro sounding. Maybe not, though.
  • If time permits, some prettier art. My weakest skill, but I can make do, with time.

Best of luck, everybody!

Lessons for Next Time

I'm throwing in the towel. My codebase is a mess, I'm having performance issues, and I seem to have code-architected myself into a corner. But that's okay! I've learned a lot with this project, a lot of which is immediately actionable.

https://www.youtube.com/watch?v=ZSW__yYF6mQ

Basically, my main three issues are the following:

Not understanding Lua's data flow and scoping

Lua is a lot looser with it's scoping than I'm what used to (C#) due to it's table-based design. I ended up accidentally redefining variables and overwriting tables I didn't mean to, leading to weird bugs that stuck their fingers in many different places.

Punishment: Read the PIL, fool! that, or choose a different tool next time.

Lack of implementation foresight

This is just a failure of me being rusty and lazy with Love2D and Lua. I ended up revisiting code I had hastily hacked together, which made it very difficult to expand upon, resulting in architecture lockup.

Punishment: Make more demos and mini-prototypes, finish reading Bob Nystrom's excellent (and free) "Game Programming Patterns" book.

Lack of ability to playtest early on

Similar to above. I spent the entire first 6 to 8 hours writing scaffolding to handle input, entities, worldstates, etc.

Punishment: Find and/or write some reliable tools for use with Love2D.

Failure? Yes. Waste of time? Absolutely not! This is the closest I've ever gotten to finishing a game, which makes me pretty happy. I'm sure once I can get myself to sit down and read some documentation and stop turning my nose up at using tools and code made by others, I might be able to actually finish something :v

Cheers.