About awppy (twitter: @LordGarvar)

"If it's the journey that counts and not the end result, you will be terrified by my coding habits if you read my source" - Garrett

The more you do, the more you fail. The more you fail, the more you learn. The more you learn, the more you succeed.

Entries

 
Ludum Dare 29
 
Ludum Dare 27
 
Ludum Dare 26
 
Ludum Dare 25

awppy's Trophies

awppy's Archive

Shuutshimi Post-Mortem

Posted by (twitter: @LordGarvar)
Thursday, August 29th, 2013 7:10 am

First off, I want to say thanks to everyone who has made this my best Ludum Dare experience to date. Shuutshimi has been very well-received thus far and I was even able to learn a couple things post-jam from it. I mentioned earlier that I was considering skipping this one due to other priorities getting in the way of the 72-hour jam, but it was those interruptions that forced us to think smaller and more reasonably than we otherwise would. We had less than 48 hours all-told due to weekend and work commitments which shaped the way we developed the game, and it was a lesson that we – and I feel, myself in particular – desperately needed to learn.

 

What Went Right

Practically EVERYTHING went right. I know that’s going to kill the suspense of the remainder of the article, but it’s true – once the competition kicked off, Wanyo (artist) and I (coder) threw some ideas back and forth for a while. Once we had a list of ideas, we picked a genre for the game, discussed variants on that genre, and picked whatever would be easiest to develop. From there we culled the list of elements to what was relevant to our game, and then culled the list further on perceived ROI until we had a manageable list. Then we went to work. Once Any Yes (audio) showed up, we gave him a quick explanation, and we were all set to work.

 

The Coding

In the past I felt my coding to be notoriously sloppy – sure, the end product works, but I tend to refactor my code a lot as my understanding of the requirements grows. I kind of plunge in head-first and fix my mistakes later, or as I go. But with Shuutshimi, apart from extremely minor things (eg making it a one-line change to add more hats into the game from the existing 3) I did just about no refactoring. I guess I’m learning from my mistakes!

 

The Drawing

I feel bad that we didn’t stream Wanyo’s screen/our development studio, because the visuals are the face of the game and often where our character designs are fleshed out. I find it interesting how our character designs begin and evolve, because they reflect the overall tone of the game which, in this case, was incredibly silly. One of the biggest time-sinks from our last Ludum Dare was the unreasonable amount of spriting involved in the main character – well over 70 sprites. That’s not very achievable in 72 hours, much less 48, especially when other graphics are required. The design of our Cute-Em-Up, however, demanded at most 8 frames of animation per object, allowing way more time for polish and additional assets. We had to cut one of the enemy characters from the jam unfortunately, but what made it into the game looks excellent, in my opinion.

 

The Composing

I didn’t even consider how Any Yes was going to react when he was greeted with the following words: “We need as many ten second songs as possible!” Any Yes would have to elaborate on his process here, as it’s not something I can really observe. I understand the basics of Famitracker: My own words on it are “You put numbers into the program and it makes beeps and boops based on those numbers” but beyond that – in addition to music theory and composition and all that – are pretty lost on me. I can make a passable stand-in for visuals, but what Any Yes does is beyond my understanding. The shop music was replaced partway through the jam with something a little catchier, and I’m way happier with the change. I didn’t like the first draft of the title theme at first, but it took very little time to grow on me, and once the title screen was in place with scrolling backgrounds, it felt so perfect which is why, when he suggested changing/modifying it further to something way more energetic, I was reluctant. I should just flat-out trust what he’s doing because, as those of you who’ve played the game would agree – what made it into the final product is fantastic.

Hey, I’m allowed to think the game’s soundtrack is awesome, I had nothing to do with it!

 

What Went Wrong

No screenshots in the Post Mortem (this). I’m at work and supposed to be working, so I’m making this as quick as I can.

The fourth enemy got cut from the game due to graphical time restraints.

The bubble background was originally supposed to move to the left as well, but also bubble upwards. At first the plan was randomly generated, individual bubbles, but time and complexity got in the way. Not enough ROI.

The backgrounds in general were supposed to have their own scrolling rates to give a parallax effect but again, time restraints. In retrospect it’d be really easy to do, but we didn’t have the time.

The 10-second tracks. They’re great, I just wish there were more of them. In a 20 or 30 round game, you’re guaranteed to hear a lot of repeats.

Clarity. We thought it would be interesting to make the upgrades a “learn what they do post-acquisition” thing, which worked great for the most part, but there’s a decent amount of depth to it and a lot of subtle things going on in the background that I don’t expect anyone to know about unless they read the Sourceshimi. Also, the “Press X(B) to go back” style of displaying controls is probably confusing. (B) meant B on the XBox360 controller (the brackets are like, ROUND BUTTON) but I doubt that was clear.

 

Overall Impressions

Definitely my best Ludum Dare, and I’m sure my teammates agree. Learned a lot, FINISHED A GAME (though we’re still doing post-jam content updates), felt really good about my code, and delighted to see it so well-received that people are writing articles about it. This has been a hell of a learning experience, and an even heller of a motivational drive to keep doing that thing I love doing.

 

Making games.

 

(And…scene)

LD27: 10 seconds Complete! In record time!

Posted by (twitter: @LordGarvar)
Saturday, August 24th, 2013 6:05 pm

The goal was to make something simple, achievable, and addictive, and I feel like we knocked it out of the park with our dark and edgy Cute-Em-Up. Grab the 24-hour build here:

http://puu.sh/4a6P1.zip – as always, requires .NET 3.5 and XNA 3.1 to play. Windows only, sorry ): Download is 12 megs due to the fairly large soundtrack.

 

Planning to add a few more assets to it over time, but for now it’s time to party like crazy! Grab it and enjoy!

6 hours in and pumped

Posted by (twitter: @LordGarvar)
Saturday, August 24th, 2013 12:47 am

As I mentioned earlier, due to known circumstances my team has to cut this gamejam short at 24 hours. As it stands, I’m more than optimistic that we can achieve that goal, as we are almost up to the halfway mark already! Well, we’re certainly at least a quarter of the way there, meaning we’re on target. It’s already playable and everything!

We’re…in? At least part way.

Posted by (twitter: @LordGarvar)
Friday, August 23rd, 2013 7:25 am

I was planning on passing on this Ludum Dare due to other commitments (hold for projectiles) totaling 4 in all, but after reshuffling a few commitments, my team of 3 has decided to give it at least a stab. Won’t be doing the whole 72 hours. In fact, won’t even be doing 48 hours. Probably not even 24 hours. We expect to have at most 20 hours, and more than likely only 16, to make a game.

 

That’s really not a lot of time, but on the other hand, this will prove to be a valuable experience in the exercise – nay, the art – of thinking small and achievable. If it’s fitting of the theme, I’d like to do something that has extremely short gameplay (ie no “story mode” kind of thing), randomly generated levels, and high score oriented. The kind of thing where you play the game and it lasts 2 minutes, but then you ask yourself, “can I do better?”

Ai’n Av Diortem Post Mortem

Posted by (twitter: @LordGarvar)
Wednesday, May 15th, 2013 11:45 am

LONG overdue. Second game jam, first one as a team. The experience was even better the second time around, but that’s probably due to the multiplayer aspect.

 

Ai’n Av Diortem is a Run-and-Gun platformer. The idea was a combination of two of our other Minimalism ideas: One was a game where you “level backwards”, ie you lose your equipment/abilities as you progress. Think Super Metroid, but in reverse. The other was a straight-up Super Mario Bros. style platformer without any background textures: you use light sources (initially: the sun) to cast shadows, and those shadows tell you where physical objects are (since you wouldn’t be able to see them). We ended up reversing the latter, so light was cast on a black background rather than shadows being cast on a white background. By combining the two ideas (a SMB platformer with weapons) we were also able to integrate things like gib physics and blood streaks/splatters to the visual aid mechanic, so that you weren’t just relying on casting sources of light.

We were thrilled with the idea and excited to execute on it…

…but we ran out of time.

 

What went right?

Theme: Speaking over dinner on the eve of the jam’s start, we were talking about what themes we’d like to play with. Minimalism was on the bottom of that list. As you might have guessed, we were somewhat crestfallen when the theme was announced. But we were here and we were ready to go, so after a minute of sighs, we headed to the whiteboard to drum up some ideas.

It went very well. We had a few ideas relatively quickly. We scrapped some, combined others, and made compromises as necessary. Within 15-30 minutes we were set on not just a game, but the title of it, as well.

 

Team: Our setup was good and we worked well together. I’m not a particularly skilled pixel artist and spent a significant chunk of my time last LD getting the graphics to look presentable (it ended up paying off; I nearly made it into the top 100 for Graphics last time). In addition to lacking the skill, I easily get frustrated by it and burn out very quickly. Having a dedicated graphic artist offloaded not just the artwork, but a lot of the character and environmental design from me, allowing me to focus almost exclusively on coding/gameplay design. And that, I can do for hours on end without budging an inch (except to go to the whiteboard). Partway through the second day, we also recruited an audio guy to handle sound and music, so now we had all of our bases covered. A trinity of game jamming.

 

Workflow: Since we were all working in the same physical location, we were able to add assets into the game with almost no process cost. Assets were just dropped into the network folder that the compiler pulled from, so once something was done it was dropped in the right location and automatically included. Nobody was waiting on anyone else, and the “process”, as it were, didn’t eat up time.

 

Scope: We had an initial scope that sounded achievable – it wasn’t – but as time went on we were able to easily identify what was core to the experience and what we could cut for time, developing a bucket list of features and things to add into the game post-jam.

 

Fun: If there was a limit to how much fun we could have, then it would have been a problem. But there wasn’t, so we had an awesome time.

 

 

What went wrong?

Scope/Ambition: Even cutting back a lot of the features and levels we wanted to include but couldn’t, we weren’t able to deliver on a lot of the core concepts. We scratched the surface of what we were aiming for in the last room, but took shortcuts to get there and it inevitably felt like an elaborate tease.

 

Polish, Lighting: The lighting seen in the game was a compromise. It was implemented initially as a quick trial-run to see how it felt in game and once it was in, I tried doing a pseudo-raycasting lighting engine where light would bend around corners, not pass through walls etc. I think some of the code is still in the LD26 source, but suffice to say it A – did not work quite as well as I wanted it to, and B – actually looked worse than the blocky lighting we ended up reverting to.

Polish, Physics: Another thing that received too much attention was the physics engine. It’s still not “correct” in that it doesn’t follow proper laws of physics, but we had something simple and fun earlier, but I kept tweaking it, rather than spending more time on the enemy programming and level development. It wasn’t a huge waste, but the additional hour or two spent on it could have been better used elsewhere.

 

Polish, Decals: “Decals” refers to the burn marks and blood stains that appear on the environment. As necessary as it will be in the grand scheme of things, it wasn’t entirely necessary to code for the jam. That is to say, it wasn’t prioritized correctly. We needed it, but we didn’t need it yet.

 

Controls: Bugs aside, the control/character physics were initially tested in a few debug rooms, but we didn’t have enough time to playtest it in the actual game, and it didn’t work well with the level designs we ended up going with.

 

tl;dr: Time Management. All of the things that went wrong with our LD26 experience can be boiled down to poor time management. We dreamed big, we thought big, and we attempted to deliver big – far bigger than we were capable of in 72 hours. I’m still quite proud of the end result, which still resulted in something very playable, but we got so caught up in our ambition that we ultimately failed to deliver on the theme, reducing it to a little room at the end that screams, “Hey, look at what we were going for! Neat, huh? Bet you wish we finished it!”

 

Not to be discouraged – we’re actually doing another game jam this weekend, to finish what we started. Or at the least, get much farther along with what we started. There are a lot of ideas we want to explore with the game engine and design philosophy our LD26 jam has left us with, and we’re going to cover as many of those ideas as we can. Look forward to it!

Returning for LD26

Posted by (twitter: @LordGarvar)
Thursday, April 11th, 2013 7:13 am

I’m back in for LD26, and this time I’m going international. That is to say, I’ll be spending the duration of the competition out of the country. I’ll be teaming up with my partner in game-development-crime in our fortified bunker in Buffalo, NY (well, close to it). Second game jam, first one as part of a team.

 

Dev tools: C#, XNA, .NET, Whiteboards, Dry Erase markers

Eye tools: Photoshop, probably (Wanyo’s call since he’s in charge of that)

Ear tools: That retro sfx sound generator I used last time (the name escapes me), Goldwave, Shure Beta 58A mic (or something like that) and an ART Pre-amp tube (to record XLR input)

 

Probably not going to be livestreaming since I won’t be at home, but I’ll be visiting the dev site this weekend and that’ll give me a better idea of what I’ll be working with.

 

I’m really excited for this LD. I expect game dev is a lot like Resident Evil 6: pretty fun by yourself, but way more fun if you’ve got a partner to do it with, especially when they can handle the parts you’re not very good at and vice-versa.

 

But without the QTEs.

The Hubris of the Bone Lord receives a modest update

Posted by (twitter: @LordGarvar)
Friday, December 21st, 2012 7:50 pm

I’ve just finished uploading a new build of my LD25 compo entry, “The Hubris of the Bone Lord”. Features/changes include:

-Pause/Unpause now makes sound

-Menu navigation now makes sound

-There’s actual menus for selecting difficulty etc instead of just pressing the corresponding key on the keyboard

-XBox 360 gamepad support added

-The intro story crawl can be skipped with the pause button

-The quit button will always return to the title screen if in-game, and quit the game otherwise

-On Game Over, the player has the option to retry from the current stage instead of getting completely kicked to the title screen

 

To avoid any confusion, I’ve uploaded the updated build exclusively to my website. It is nowhere to be seen on the LD website so that it won’t accidentally be judged as part of the compo entry.

 

Post-poning making it into a fully realized game until later.

 

The new version can be found on my website here: http://beardedpixel.net/hotbl/ (re-iterating: do not judge this as part of the compo)

LD25 Post Mortem: The Hubris of the Bone Lord

Posted by (twitter: @LordGarvar)
Wednesday, December 19th, 2012 7:16 pm

Seems like everyone’s doing a post-mortem of their game jam – and since it’s easier for me to do one than it is to find out if it’s actually mandatory, here we go.

 

1. What worked

Almost everything worked for me, actually. Being forced into a small time frame made me simplify the graphics – meaning I didn’t have time to be fussy over colours, and didn’t have the time to agonize over the placement of each pixel, which is something I’ve had a lot of problems with while developing my other game, Return to Roots. This also resulted in a much more consistent aesthetic, which leads me to believe that the more time I spend on sprites, the worse I get.

AI development also worked out really well. Before tackling the AI, I wrote out a sort of “chain of command” that all enemy units would follow and communicate to one another. Having a bulleted list of “Do this, and then either to this or that” made it easy to split up the process into smaller, isolated tasks.

Program workflow kind of worked well. Stages are split into scenes, which contain a list of brawls. The “brawl” class could have been designed much better than it was, and creating a new scene required writing an entry into two places instead of one. Same for the brawls: edit code in two spots instead of one. But that was it; it was very easy to define where brawls would occur, who would be in them etc.

The control scheme. Controls feel smooth and (mostly) responsive, though I regret not adding single-key input buffering. The ability to attack in different directions regardless of which direction your character is facing was adopted rather well.

Feature Creep was rather nice to me. I had little trouble coming up with great features to add, but also had little trouble axing them due to time restrictions. So despite it being my first game jam, I managed to avoid biting off more than I could chew. (Chew means code.)

The storyline/plot of the game also came naturally, worked very well as a framing device for the game, and was well-received.

 

2. What didn’t work

My animation manager, for starters. I’ve developed a small but versatile class for handling spritesheets that allows for multiple animations of varying sizes and framerates and playback styles. Due to the nature of the LD48 compo, I couldn’t use it, and instead wrote something similar but much more barebones, from scratch. The result was slightly messier and more restrictive.

Time management was also pretty lousy. I thought I’d pace myself, so I went to bed by 3:30am on the first night. And slept for 11 hours. I had to make up for that by skipping sleep the next night, instead taking a 3 hour nap around 10am. I also did some other things unrelated to the competition during the competition, but they were more in relation to the next thing that didn’t work:

My chair. After sitting in it for 8 hours straight, even with a throw-pillow between me and the chair, my arse was killing me. I had to sit on the couch or in bed and play video games (Kingdom Hearts: Dream Drop Distance and a full run through Sonic the Hedgehog 3 + Knuckles, specifically) to pass the time and get the soreness down. I’ll need more cushions and regularly scheduled 5 minute breaks next time. Because there will be a next time.

Playtesting. I’ve got a lot of experience in software testing (well, comparatively to other things I do) so the game itself was functionally tested, but game balance didn’t receive any attention until 90 minutes before the competition’s end. Enemies were given too much health at first so that was pared down a little, but I think it still got overwhelming near the end. Game Overs boot you to the title screen, which someone was quick to point out the viciousness of. A game should be difficult and challenging, but it should not be frustrating. A fair punishment would be restarting the stage, but to redo the entire game is enough to make people drop it, especially in a competition such as this one.

The Main Menu. I should have spent more time on the title screen, making the difficulty select be menu driven instead of pressing a specific key for a specific action. The number keys aren’t used at any other time, and they don’t exist on the gamepad, so when I do port the control scheme to XInput gamepads, I’ll be having to redo it anyway. Should have planned that one ahead.

Hubris of the Bone Lord has reached a playable state!

Posted by (twitter: @LordGarvar)
Sunday, December 16th, 2012 5:26 am

day3-7am

 

13.5 hours to go, and less than 13.5 hours of work left to do! My first Ludum Dare game is actually a playable game at this point, and nearing completion!

 

Other than the lack of a main menu. Maybe I should get to work on that…!

awppy: Snack Break!

Posted by (twitter: @LordGarvar)
Sunday, December 16th, 2012 12:46 am
People Like Grapes

People Like Grapes

 

Link to image: http://puu.sh/1Bto5 – this thing seems to have a VERY HARD TIME setting image dimensions

 

Taking a snack break. My arse is killing me, and I’ve been sitting on a pillow for the last 8 hours.

 

All the difficult parts for my entry are done (engine is 90% done). Will post screenshots once the player UI has been added.

After that, just gotta slap together a title screen, really! Really liking how this is coming along. This has been an absolute blast so far!

 

…But, just to be safe, I’ll make up for the time I lost sleeping in today by not sleeping tonight.

Posted by (twitter: @LordGarvar)
Saturday, December 15th, 2012 2:26 pm

day2-4pm

 

Stage framework completed, camera logic is done. About to begin enemy AI (the biggest hurdle). After that it’s smooth sailing.

awppy LD25 Progress: 4.5 hours in

Posted by (twitter: @LordGarvar)
Friday, December 14th, 2012 11:45 pm

4hours

Got the basic combat system for a RCR-style beat-em-up. 3 different attacks, 3 dimensional combat. Enemies are currently standing around staring menacing at you, and you’re all clones, but we’ll get to that shortly.

 

Story/plot are worked out but still to be implemented

 

Our Darkest Hour Approaches

Posted by (twitter: @LordGarvar)
Friday, December 14th, 2012 6:46 pm

Just 15 minutes until my first Ludum Dare begins. I’ve done myself the favour of not voting on the theme, so I don’t even know what the potential candidates for the theme are. Gonna be taken completely by surprise, and we’ll go from there. Laundry’s done, dishes are done, food post-processing depositing is done. I’m as ready as I’m going to be.

Probably going to skip the “little to no sleep” element of the competition though. I expect to find between 12 and 16 hours of sleep between now and Sunday.

awppy setting up for LD25

Posted by (twitter: @LordGarvar)
Thursday, December 13th, 2012 4:27 pm
pre-LD25 desk setup

pre-LD25 desk setup

Just finished testing the livestream configuration with a friend. Here’s the current state of my desk. Fun facts:

-Like many other things in my awpartment, the mic stand is home-made and pretty good for a $5 crafting cost

-The gamecube contains scotch mints, not video game hardware

-Grim Fandango will not install on a 64-bit OS by default, but there’s a handy program you can google to make it work

-The pony is custom made, wearing a top hat made out of Quiznos coupons, drywall plaster, and acrylic paint

-If this photo’s resolution and image quality were higher, you could find out where I live

-Yes, that Atari 2600 is hooked up to a 40″ 3D HDTV

-The keyboard and mouse to the left are for a computer I use primarily as an irc/skype gateway and as a Minecraft server

-The image preview looks atrocious (horizontally compressed). The image can also be seen here http://puu.sh/1ABr6 just in case

[cache: storing page]