Hi. I'm DOZO, but that handle was lost forever in a tragic verification e-mail accident. I'm a professional failure at amateur game development. Let's see if Ludum Dare can change that.
About koredozo
Entries
Ludum Dare 25 | Ludum Dare 23 |
koredozo's Trophies
koredozo's Archive
Stealth Slime is live
Dungeon Leaper was renamed Stealth Slime (because I ended up having some issues with the ‘leap’ code, and who heard of a leaping slime anyway) and has now been submitted. I suppose I should write something in the way of a postmortem, though I don’t know if anyone reads these blog entries.
This LD really hammered in the importance of knowing your tools before the theme is announced. I had the same issue last time to a lesser extent, so I should have been prepared, but deciding to enter again was a bit of a last-minute decision and I didn’t have time to learn the ins and outs of Canvas beforehand. To keep up the trend I’ll probably switch to Unity next time.
Also, I should probably plan on entering the jam rather than the combo straight away unless my idea goes well with an abstract art style, because my programmer art isn’t going to impress anyone. I think my music is decent, though!
It was pretty fun and I’m a little more pleased with my entry this time, so I’m glad I decided to participate again. See you next LD!
It’s jam time
As predicted, I am not finished in time for the compo, and doubt I can get there during the grace period either. Spent most of those last two hours figuring out how to properly animate sound trails for my hero.
He can also see the villanous monster (if there’s nothing in the way and he’s facing the right direction) and react by printing “saw you!” to the Javascript console. Unfortunately, I don’t think this serves adequately as AI, plus I need to add a way to let the player and hero defeat each other as well.
Let’s hope I don’t run into any more technical issues and can get it all done in 24 hours!
Probably won’t make it.
I have real sprites now and a hero wandering around, but I doubt it’s going to be a game worth playing within two hours. I’ll probably submit it as a Jam entry if the extra day gives me time to finish it.
Kind of ironic- in LD #23 I have a lame, barely themely idea but finish it comfortably in time, and this LD it’s the opposite. Oh well.
It works!
After banging my head on the wall for a while, I started trying things at random and fixed the showstopping bug via the sophisticated method of renaming some loop iterators from ‘x’ and ‘y’ to ‘j’ and ‘k’. I guess it was some kind of scope/previously initialized variable issue. Due to the aforementioned lack of layer blending, I doubt I can get the lighting to look any nicer than this, but I’m content with it.
Unfortunately, my game still suffers from two major shortcomings; it has really sluggish controls and it’s not a game. I’m not sure if I have time to fix both, so I’ll focus on the former.
Totally bogged down
Lighting is important for my game, so I need an LOS algorithm. Unfortunately my attempt to implement Bresenham’s is not working on the Y axis for unknown reasons, and KineticJS and its lack of (clearly documented) layer blending is not helping me debug it. I think I’m going to have to switch to another one.
Here’s a screenshot anyway. As you can see, the ‘lighting’ layer is completely obscuring the placeholder player graphic as I’m unable to tweak its opacity.
Another argument in favor of learning your tools before LD starts, I guess.
First Steps
Took a break from content creation. It’s probably a smarter move to do some prototyping first anyway and worry about visuals & audio later.
I tried using JavaScript for about an hour or two and found out I couldn’t bear to program without tuples and list comprehensions (Python is my usual programming language of choice.) So I went hunting for alternatives and discovered CoffeeScript. It’s similar enough that it feels like home, though I did encounter an amusing case of… unexpected behavior where testing for “array.length = 0″ resulted not in the syntax error I would expect, but the array mysteriously becoming blank (in other words, length 0.)
I’ve successfully implemented a very lazy dungeon generator; it creates a maze and then carves some rooms out atop it, with the maze guaranteeing connectivity. It’ll do the job for what I have in mind, though the corridors with dead ends might be a bit hard on players.
Fashionably late again.
This Ludum Dare doesn’t overlap with Guild Wars 2′s launch weekend, so I’ll be giving it a shot. It does overlap with their holiday event, but I can live with that (plus all the events will be doable for weeks to come in Lion’s Arch anyway.)
Surprisingly, I came up with a solid idea right off the cuff this time. Due to my love for puns, my entry is going to be titled Dungeon Leaper.
I’ll be doing it in HTML5/Canvas this time. Why? Because LOVE2D had some issues, the last LD I participated in had someone going around and posting nasty comments on every game that wasn’t web based, and it doesn’t hurt to broaden my skill set. I should probably have made an effort to become familiar with it before the compo, but I don’t expect this to require any particularly complex programming.
Rather than plunge myself into the unfamiliar wilds of JavaScript right away, I’m spending tonight on content creation – I already have half a theme song and I’m going to try for a slightly less abstract look, despite my lack of any real pixel art ability. We’ll see how it goes.
Done!
Well, in the end I wasn’t able to come up with good menu music or get that particle system to display, so I suppose my game is finished. There’s an hour and a bit left still, but I doubt I could do much more within that time to improve it – I’m not expecting too many people to play it anyway over all the sexy stuff I’m seeing on the front page.
Lessons I’ve learned:
- Don’t be afraid to spend a while coming up with a better idea – 48 hours is longer than it seems.
- LOVE2D is neat and fairly easy, but knowing your tools beforehand would save trouble.
- Unless the next LD48 theme gives you a great idea that can be done with abstract graphics, plan on entering the jam instead of the compo next time, so you can use art that other people have released for free.
- Do more game jams!
- Belatedly, I guess lesson #5 is to test your game more carefully before you submit it. Even if you didn’t expect that last minute tweak to break anything, it just might have.
I’m happy I participated, modest as my creation is, and if anyone manages to have fun with my game for a few minutes that would be cool. See you at PyWeek!
Finishing Touches
Bullets are in and I just finished composing some music. Now all that remains is to make a title screen (plus music for that) and polish the graphics a bit more if I have the time. I’d like to make visual feedback for explosions and perhaps a bullet trail, but my previous effort at fooling around with particle emitters while getting used to LOVE2D was decidedly unsuccessful.
Gradual Progress
It still isn’t much to look at, but I have a rudimentary game now. Both the player and enemies will die if they collide with the sun, and if the player collides with an enemy, the enemy will explode. Kills and player lives are tracked, although losing all your lives doesn’t end the game at the moment.
The next step is to add difficulty by having the enemies shoot bullets occasionally (though it’s already pretty difficult to actually collide with them.) After that I’ll probably call the gameplay itself finished, and work on a title screen, music, and improving the aesthetics.
Headaches
I’m bad at math. Last night, trying to roll my own collision system that handled deflection off the inside of a curved surface did not go well.
Then today it took a few more hours to get the hang of LOVE2D’s built-in physics system, but I have succeeded! Can’t show in a screenshot that my spaceship now bounces properly off the boundaries of the world, unfortunately.
Next step is to make my game actually a game by adding enemies, ways to blow them up, and ways to die. After that I can pay some heed to aesthetics.
Theme? What theme?
So I spent a few hours musing “Tiny World” and could not come up with anything I felt confident of doing with my near-complete lack of artistic ability. Since this is my first game jam, I didn’t want to waste any more time trying to think of the perfect idea. Instead, I decided to go with the obvious setting that comes to mind instantly when one considers tiny worlds – outer space!
Since then I’ve been getting familiar with the basics of Lua and LOVE2D and laying down some groundwork. This screenshot isn’t much to look at, but the red spaceship is controllable and also orbiting the object in the center, trapped in an inescapable gravity well.
So will there be anything “Tiny World” about this at all? The answer, I hope, is yes. In time spaceships will rebound off the force field surrounding this little arena, and if they don’t correct their orbit, plunge into the sun and be incinerated. It’s a tiny world in a figurative sense compared to the vastness of space.
That will have to be good enough!
It’s a bit late, but…
Count me in! This is my first Ludum Dare, and my first game jam of any kind as well, though I intend to enter others in the months to come.
I’m planning to give LOVE2D a try, but am going in pretty much bereft of any in-depth knowledge of Lua or the API, so that may not work so well. Hopefully having a fair amount of Python experience will help me out.
I’ll be treating this as a learning experience rather than expecting to have a top-ranking entry, so I’ll be satisfied so long as I create something that works. Not to say I don’t plan to make a good game, but if I don’t make it in time – I’ll just try again the next!
Good luck to all of you as well!










