Chronosv2

LD 38

I'm in as well!

Well, here we go. First Ludum Dare fast approaching. I'm a largely self-taught developer, but I started a Unity course, and am part-way through that. I'm hoping to do fairly well over this weekend -- it will be unlike anything I have ever tried before.

Of course, being mid-way through the course means my knowledge of Unity isn't as well-rounded as it could be, and I'll be looking things up a bit, I imagine... that's going to eat into development time, unfortunately.

Still going to do my absolute best, though.

My Setup

Well, already said I'm in, but I've noticed a few people posting their setups so here's what I'm bringing to the table:

  • Engine: Unity 5 (C#)
  • Code: Visual Studio Code
  • Graphics: Aseprite
  • Sound Effects: BFXR (SFXR-like)
  • Music: Bosca Ceoil (Would use Renoise but looking for something fast for my first LD)

About 15 minutes! Almost go time! Good luck to everyone entering!

Edit: Also, I'll be streaming at http://www.twitch.tv/chronosv2 for anyone that wants to observe!

Day 2 - Midday

This is turning out a lot better than I expected for a theme I was absolutely stumped by. Having fun streaming it, and really thriving off the encouragement I've gotten from friends and family.

Time to power on! The small world isn't going to collapse on its own! ;)

Half-way through Day 2 - Update

Well, since I got back from a quick 20min lunch, I've made some more progress. I've now got two of the three enemy types I plan on using for my game done. All that's left is that one more, then assets, debug and balancing. The third enemy type is probably going to be the toughest though because I want to give it some degree of maneuvering...

Still going strong though, even if I had trouble sleeping last night due to excitement! Onward!

Saturday End-of-Day Summary

Made a heck of a ton of progress today, and my project is really starting to resemble a game. I had way too many doubts in myself when this whole thing was coming up. "I'm still new with Unity! I'll have to look things up and that'll slow me down!"

I'm so glad that when Friday night came I shrugged all that off and started coding like my fingers were on fire, because I'm not even done and I'm happy with how far I've gotten.

I'll be back at it after breakfast, so 6:30-7:00AM EDT, as always on www.twitch.tv/chronosv2

And now some screenshots: 2017-04-22 23em34/em37-Unity 5.6.0f3 Personal (64bit) - main.unity - LD38 - PC, Mac & Linux Standalone .png

So my first image here is just to give a quick look at the game concept. It's all programmer art right now, and aside from the "SAFE SAFE SAFE SAFE" and "WARN WARN WARN WARN" background textures it looks like something out of an early arcade. I'll see what I can do with the art tomorrow though. Quite tired.

So the way the game works, and how I joined in with "A Small World" is the arena you play in gets increasingly smaller as the timer depletes. The garish magenta things are Support Towers -- keep them safe or your timer will speed up until the yellow value under the timer reaches 0:00.00. And every X:30 a warning appears for what part of the arena will get wiped at the X:00 mark. Stray into the blackness and your health depletes rapidly. Run out of health and you'll respwan in the center after a 5-second cooldown.

Enemies come from spawners which circle the level, and as the timer ticks down their rate increases, making keeping the towers harder the longer the closer the timer is to 0.

You'll be able to acquire a Spread gun, and pick up items that will increase your fire rate from 3.5 shots per second to maybe as many as 8. Not sure about that yet. You'll likely lose some of those boosts if you die. Right now the text in the bottom right "WEAPON TYPE: NORMAL D:1 R:1" is a placeholder. D is for Damage level and R is fire Rate.

I'm thinking any towers remaining when the 5-minute timer expires will give bonus points.

2017-04-22 23em35/em13-Unity 5.6.0f3 Personal (64bit) - main.unity - LD38 - PC, Mac & Linux Standalone .png This second screenshot shows two of the enemies -- the Bomber by the top-left tower will wander between the towers, placing its little packages of death by your towers. Seconds later and boom, no more tower (though I'll probably balance that down... OHKOs aren't cool.) The other enemy, trying to hide under the health bar, is a Collider. It picks out the nearest target, either you or a tower, and homes in on it with the intent to ram it. There's one more enemy type I plan on implementing, but I can't show the Shooter if it doesn't shoot yet!

Anyway, wow this is a wall of text. Sorry about that. And now, some much needed sleep.

Destruction Zone: Finished!

Well, there we go. It's done now. I've finished my first game for public consumption (that wasn't through my Unity Course) -- Destruction Zone.

I'm exhausted, but I feel great. I'm no artist, but during my streams (http://www.twitch.tv/chronosv2) I received a complement on my pixel work. Not only that, but I completed a game in 48 hours. Is it great? I'm quite fond of the concept and want to expand on it and make some tweaks. But I guess we'll see when Judging comes along. Queue the dramatic music I guess.

I'm not sure how much "Space Habitat collapsing into oblivion" counts as "A Small World" though... but it was the best I could do. I interpreted the theme as best I could (the world does get small).

Screenshots

(also on my Game page): 2017-04-23 19em34/em02-Greenshot.png2017-04-23 19em34/em38-Greenshot.png

Question

I wasn't sure of this during the Compo, but didn't have time to ask:

Our games can (eventually) have "box art". Was that required to be completed during the Compo as well, or is that something I can do now that my fingers aren't on fire?

What I've Learned

So, thinking about this Compo, I feel like I've gained a lot of insight into my own abilities. So I figured, why not share with everyone?

This was my first Ludum Dare. I feel like it went pretty well, but there are a couple things I'd have definitely done differently.

First, I'd like to strangle my ISP. I streamed the whole Compo and had more disconnects than I care to count.

Second, I learned that it's important not to get worked up into a hype on night one. I had trouble sleeping and I feel like it affected my performance on Saturday.

Third: Going out to eat with family often takes way more time than you expect. 6:30-7:00AM back at PC ready to work? Try 8:00AM. Oops. There went an hour.

Fourth: I need to find a group of people I can chat with while I'm working on this stuff. I found yesterday after my Discord guest on the stream left that I was having trouble focusing because I was alone with no interaction. I appreciate friends not wanting to bother me, but I feel like I might have worked better with someone (or people) to bounce ideas off of.

Fifth: I'm exhausted. I don't feel as wiped out as I did yesterday but that might just be the "I did it!" adrenaline doing its thing.

I'm really looking forward to August. Compo or Jam (depends on if I can get some friends involved) it's gonna' be a blast. This is a weekend I want to remember for the rest of my life.

Thank you, @pov, for creating something truly amazing that I have the privilege of taking part in.

Bugfix

Uh, oops. UI scaled for 1024x768, changed game's resolution to 800x600. Apparently I didn't use the RectTransforms correctly because the UI broke a little. The game was still fully playable, but UI elements like High Score and text in the word "Score" were cut off.

I had lowered the resolution mid-compo because 720p displays wouldn't be able to fit a 1024x768 game.

The fix (scaling down a couple UI elements and cutting out some text) is documented in https://github.com/chronosv2/ld38/commit/87788345036c92d0be8fbdcfc7461ada1220b6bc

Play the game at https://chronosv2.itch.io/destruction-zone

As far as I'm aware that was the only thing wrong with the game, so that's a relief.

Destruction Zone Timelapse

So, I finally did some video editing and got my livestream footage of Destruction Zone (35-ish hours) into an 8-minute timelapse.

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

I was hoping to use Chronolapse, but I misunderstood the software and didn't get footage for a good chunk of the first day, and by that point I had decided I'd just downmix the stream footage into its own video. Maybe I'll practice with Chronolapse before next time. :wink:

Rebindable Inputs

https://ldjam.com/events/ludum-dare/38/destruction-zone

I've spent a little time creating (optional) versions of my game with rebindable movement keys. When I completed my project for the Compo the keys were hard-coded. This could be an issue for some players (even though WASD is pretty standard) so I thought it might be a good idea to give this option if it's needed.

After asking whether this is allowed for the Compo, however, I was informed that would only be allowable if it's necessary for people to play the game.

Since I don't want to sabotage my participation, and I'm still not 100% certain the change would be acceptable to all participants, I decided to make those downloadable versions of my game available separately instead of replacing the compo binaries (with fixed keys) that are already available for download.

That's the only change made to the game and no gameplay has received any changes, so the game will run identically to the Compo version, but you can open the standard Unity configuration screen to change the buttons/keys if you need them.

This change has been pushed as a separate git branch, and you can check the comparison to verify my statements here: https://github.com/chronosv2/ld38/compare/Compo-Rebindable-Keys

Destruction Zone - A Post Mortem on my First Ludum Dare Game

Destruction Zone, my Compo Entry, was a fun little game to work on that surprisingly went with fewer hitches than I had anticipated. Here are the things that I took away from my Compo Entry.

The Theme

This was actually one of my bottom themes. When 9:00PM EDT rolled around I bellyached about the theme for a little bit, but ultimately an idea hit me. Since I couldn't think of something planet-based, I took "small world" in what I thought would be a fun direction -- you are a little drone on a collapsing space habitat, and your small world is what's left of the platform. I'm happy with how I adapted the idea in such a way as to make something usable.

What Went Well

Getting the concept implemented didn't take nearly as long, and wasn't nearly as difficult, as I had feared at the beginning of the Compo. I also feel like the enemy AI, while simple, works fairly well.

What Went Wrong

Time Management Hiccups

The amount of time I spent trying to get the Bomber to work properly, as happy as I am with the result, is way too long. I feel like there had to be a better way to go about programming it. Perhaps making a list of towers at the start of the game and having destroyed towers remove themselves from the list would have been a far better method than having the enemy's AI handle that content. I wouldn't have had to worry so much about its target invalidating, or its reaction if no more towers are left.

Fixed Controls

2017-04-27 08em42/em26-PlayerMoveAndLook.cs - LD38 - Visual Studio Code.png I really wish I had known about coding rebindable controls before I entered this event. The Compo version of the game has hardcoded WASD movement, and hadn't thought at the time that people that can't use WASD might struggle with the fixed controls. This had to be fixed as an optional post-compo version, but I'm happy to say that aside from rebindable inputs (including using left-stick on a controller to move, though you still have to aim and shoot with the mouse) the game runs exactly the same as the hard-coded WASD version.

UI

2017-04-27 08em51/em08-Unity 5.6.0f3 Personal (64bit) - main.unity - LD38 - PC, Mac & Linux Standalone .png The UI, especially its scaling, proved to be something that I didn't expect to have difficulty with. I apparently didn't set up the RectTransforms up properly for the title screen and status UI, and then went and changed my game's resolution while it was still scaled for a higher resolution (so that people with 720p monitors could still play). I really should have, rather than using the end of the compo participation time to get in early and ensure I didn't get hit by any snags, used that time to more thoroughly test the various builds under the lower resolution. Then maybe instead of having to post a critical bugfix after the fact I'd have actually had, as far as I'm aware, a relatively bug-free release.

Inexperience

2017-04-27 08em45/em16-Spawner.cs - LD38 - Visual Studio Code.png Another thing that proved to be a problem was my inexperience with Unity. However, as it's the best I have for making games, it was either enter with an incomplete, novice understanding of the engine or not enter at all because I don't feel like GameMaker Studio fits my programming style, and don't feel like RPG Maker MV would have been a suitable engine for a compelling LD entry. My inexperience really is the thing that interfered with my progress the most all throughout the event with documentation look-ups and needing to make tiny iterations on some of the code to get the functionality working properly.

Lessons Learned

The biggest takeaway that I've gotten from this is some degree of confidence. I set a challenge before myself -- enter my first Ludum Dare under the compo and complete a game in the time limit -- and I knocked it down. While I'd have continued on with learning Unity and improving my skills regardless, the fact that I succeeded gives me some small level of vindication. As LD38 was approaching, I had a number of days where I was questioning my capabilities, and overall worthiness in entering. Not only did I succeed, but I proved myself wrong in the process. I can do this. I did do this. And this is the first real game I've made outside of the scope of the course I'm taking.

I'll definitely be entering more events to come. And next time I hope to do even better.

Timelapse

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

Rating Time!

https://ldjam.com/events/ludum-dare/38/destruction-zone

Well, this is going to be interesting. This is my first LD, and I'm anxious to see how I do. As others have said, leave a link here if you check out my game and I'll return the favor. 2017-05-01 01em10/em11-Destruction Zone.png

Cloudy with a Chance of Punctuation

So I'm going to join in and post a word cloud of my feedback as well.

DestructionZoneWordCloud.png

Hoping to get back into the feedback posting game as soon as I can -- things came up and I've been away. Anyone wanting to give Destruction Zone a try, it'd be greatly appreciated!

LD 40

I'm in! ...Mostly.

So LD39 was a complete disaster. Dropped out after night one because I couldn't get in the right frame of mind. So here we are at LD40, and I'm excited. And calm. And ready. I'll have an interruption tomorrow but hopefully that won't eat up more than 2 hours of my time. We'll see though.

My tools: Engine: Unity Graphics: Aseprite (maybe quick Pyxel Edit testing) Sound: Bfxr and Audacity Music: Bosca Ceoil

Let's see what the theme brings, and good luck to all participants!

Finally finished!

RPG_002.gif Well, that's my second Ludum Dare down, and it went better than I thought it would, given what I thought would be a 1-hour dinner turned into something that took over three hours. I learned some things about Unity, and overall feel like the time spent went rather well, in no small part to the people participating in my stream.

The game might not look like much compared to some of the other stuff out there, but it's mine and I can call this Ludum Dare compo a success.

The ore bins are overflowing! Position open for alloy processor! (+Postmortem)

Hey there folks. After a little bit of time to reflect on the madness that can be the LD Compo, I've thought about my game as a whole and the overall process. If you have the time and inclination, please check it out here! I make it a point to reciprocate ratings and feedback to anyone who's taken the time to help. Only one case so far have I had to forgo reviewing a game, but only because the game doesn't have a build I can run (currently macOS/Web).

And now for something I thought would be much shorter than it actually is.

In the Beginning...

When the final round of voting started I was talking with some friends about potential ideas, and one of them stuck to the "more you have, worse it is" idea. They suggested managing a reactor and keeping it from overloading. I kept the idea in my head and when the theme was selected for LD40 I tried to think of an interesting way to implement the idea. Unfortunately it seemed to me that every idea I had I was either unsure of how to implement or so far beyond my knowledge that attempting to go for it would be an exercise in frustration. I had also talked with the developer of the FES Unity framework, but unfortunately by the time I had the chance to look over the documentation it was too close to go time and I couldn't make use of it.

That "Ah ha" Moment

So 9:00PM EDT rolled around and the compo began. I started thinking of ideas for the reactor concept my friend came up with, and my first thought was something like "Keep Talking and Nobody Explodes" -- on the right side of the screen would be some sort of set of minigames used to lower the power level, and as the power level went up some "needy" distraction elements would come online and threaten to end the player's game. I wasn't able to figure out how I wanted to implement the idea, though, and as the first hour ticked along I was faced with the dilemma to keep hammering at the idea or come up with a new concept. I chose the latter, and it didn't take very long to get an idea I was happy with. What if, instead of a reactor, the thing you had to manage were ores being dumped into bins, and you had to process them to keep them from piling up? And that was the "ah ha" moment. The idea was simple and had enough potential to build off of, so I got started.

Night 1: 9PM to Midnight

After I had the basic idea, the time came to implement it. I created the ore pieces in Aseprite (using a wacom tablet) and managed to make an asset that I thought looked good enough to get started. I then did the same for the bins, and got started coding in the ore falling from the conveyor belts into the bins. By the end of the night the ore moved slowly down the belts, hit the ore bin and was destroyed, adding a point to the bin's counter. This took a good bit of time (which flew by) and before I knew it it was midnight. So I went to bed and woke up the next day ready to continue.

Day 1: 7AM to 5PM

The first day ticked along and I got the mechanics for the boxes filling and overflowing set up. I also got the player and their movement working, complete with slowdown as the boxes overflowed. A few more mechanics (like scoring) and a few more hours later and it was time for me to get ready to go to dinner celebrating a family member's birthday -- something I thought was going to take maybe two hours. As it turned out, though, even with reservations it was nearly a four hour time away... time I thought I scarcely had.

Night 2: 9PM to Midnight

When I returned from the party I immediately set to designing the UI. During that process another idea hit me -- a way to upgrade your bins. I wasn't sure if I could make it work or not but my thought was "Well it's only one gameobject and a few script edits so if things don't go right I can revert easily enough." Thankfully that wasn't necessary, and the upgrade mechanic actually worked fairly well. Midnight rolled around again so I wrapped up and got ready for sleep.

Day 2: 7AM to 9PM

The final day had rolled around, and all that really remained was polishing up the graphics and making sound and music. I set to work on that, cracking open Aseprite (amazing sprite editor, by the way), Bfxr (an evolution of the LD classic sfxr) and Terry Cavanagh's amazing Bosca Ceoil music tool. I hammered out the sound and music, and went on polishing up the graphics to something I'd enjoy looking at. Along the way I thought of revisions and enhancements to the game (such as a combo system and the "information messages" that flash on the screen when you try to perform an invalid action). The day ticked on and I started fixing major bugs around 6PM. I think the final version of the game went up at 8:40PM, after fixing some UI stuff and fussing with Unity's animation system. I worked on the itch.io page and my LD submission, hit the go button and things were done.

Postmortem

What went well

Honestly? A lot more than I thought would go well. The upgrade system is basic but gives the player some breathing room, and adding a combo system to the alloy scoring gives the player an incentive to play risky. Tightening the failure condition from "All boxes overflow to max level" down to "2 boxes overflow to 10 of 12 and 8 seconds pass in this state" really made the game feel much more coherent, and fixed a few potential exploits.

What went badly

I'm not happy with the music. I love the drum beat I created (it really has an industrial feel, in my opinion) but the lead of the song sounds like bad elevator music. Also I'd really like to improve my art skills. Making graphical assets with a major visual impairment is difficult (but doable -- if you haven't played my game yet don't let this influence your votes!) and I know there's room for improvement.

What I learned

The biggest thing? Sprite animation in Unity and some of the difficulty in making an animation tree that has an aspect that forces you into a stop state. I almost scrapped the sweep animation altogether because I couldn't figure out how to make it work.

In closing...

This has been an amazing Ludum Dare, and I feel like I lucked out with a theme I could really push an idea out for. I was a whole lot more relaxed this time than in LD38 (we don't talk about LD39...) and that made so much of a difference that it felt almost easy by comparison. I love the way that Ludum Dare pushes my mind to its extremes then keeps on going. And I have what I personally feel is my best game yet to show for it.

If you've read this wall of text, thank you for taking the time.

Spriting Advice

Hey there folks. I was wondering, since this is a place where game developers of all kinds gather, what resources did you use to learn how to sprite? I find I've been doing a lot of solo work, and my graphics skills leave a lot to be desired.

I'm currently using Aseprite as my editor of choice, but its inability to work on tilemap sprite-sets without just working on one large sprite is making it difficult to do some of the things I'd like to do.

You can see probably the best spriting work I've done yet in my LD40 game, Factory Panic. The ore was done with a Wacom tablet and Aseprite's gradient tool. The player character's sprite is very roughly inspired by the player sprite from Journey to Silius.

Any help would be appreciated, and thank you for your time!

Factory Panic Word Cloud

Well, I guess "if everyone jumped off a bridge would you?" doesn't apply here because here we go. Time to jump on the Word Cloud bandwagon.

wordcloud (1).png

Thanks to those of you that have left feedback on my game, Factory Panic, and for those of you that see this and decide to leave feedback!

Quick question

Something that's been floating around in my mind -- are ratings overall out of all rated entries, or in our specific section (Compo/Jam)? I don't think I really thought about it during LD38, but now I'm curious.