Tuesday, August 27, 2013

LudumDare 27 : 48 Hour Entry : Development log and how this project changed my life.

I've wanted to be a game developer since I was four years old. I remember playing 1942 for the NES at my cousins house when I was a kid and have been glued to the video game culture ever since. I went to college for game design and have been making games for a living ever since. It hasn't been easy but I am quite blessed to be able to do what I love to do every day. My buddy Slugger turned me on to Ludum Dare when we were still in school and I didn't man up to take the challenge until LD21 came around. Me and 2 friends ( Cislunar and PooLatka ) got together for a weekend and did our first game jam ( Hipster Park in the GAMES tab of this site ). We were really proud and transformed by the experience because of the intense work that it took to get three people to communicate and work toward our goal in under 72 hours. I've worked on and with several games and game engines since then and this time around, in the middle of my HTUR ( also GAMES tab ) project decided to go solo on the next Ludum Dare 27 as a sort of 48 hour amnesia exercise to test out some of the things I've learned since the competition a few years back. 

I'm going to start with the development log because the competition is still on and I haven't digitized my notes yet... Actually. Let's start with the notes. During the project I dealt with the Pen and Paper approach almost exclusively. So here are the images from my notebook, I'll transcribe my terrible handwriting so you can see the major events during the development cycle : 








So it gets a bit rushed and more messy near the end. For those of you who can't read it ( most people ) here's what went down : 

8PM
The theme : '10 Seconds' is announced. LudumDare website is down from all the refreshing at the start point so I find the theme on twitter and get to work on brainstorming.

855PM
I pick the first concept that makes me laugh uncontrollably " 10 Second Pay Toilet Adventure ". Immediately get to work on fleshing out the flow of the game. The game idea gets very deep very fast. Different settings Hazards and actions come in to focus. During this process I nab an idea from HTUR where I decide that the level is going to move around the player. I make a Component list and a rough list of the art assets needed.

1030PM
The concept phase is coming to an end. I come up with the idea of context based actions and decide to make little quick time event mini games for variety. Here I make my first list of things that I want the game engine to be able to do by the end of the first night. ( Starred )

11PM
Started unit testing, Also implemented the camera look and had some time to figure out how the toon shader works. 

1125AM
Begin Scripting .

1211AM
Make Interact Icons.

1258AM
Finished Context Icons.

116AM
Mouse context implemented.

135AM
First BUG : FIXED @ 1140AM.

234AM
Started working on player movement through the world. Build myself a little test level.

305AM
First problem with version control ( or the lack of ) and I have to go back and fix a mouse Down error.

319AM

333AM
Debugging player movement

340AM
Made a 2d chart to help me find the cleanest way to lerp the world around the player from move node to move node. 

353AM
GOT IT!

416AM
Move on to the 'Sign" object so I can label different things the player can interact with. 

457AM
First Asset : Urinal 

507AM
Event Manager Skeleton made.

517AM

555AM
2 Assets complete!

607AM
"HOLD" minigame prototyped. Started planning for other game events. 

636AM
Event Manager prototype completed.

643AM

726AM
HOLD minigame complete! 

733AM
TIMED minigame prototype started . made a chart for budgeting time in 4 hour chunks/sprints.

815AM ( 25% of time limit )
another minigame started. Completed @ 952AM

10AM 
Toilet asset completed. Went to work on the animation and the other stall assets. Originally I wanted to have the player turn around but rotating the whole world didn't work the way I wanted it to.

...

130PM
Finally the 'sit' action works but the art doesn't make any sense.

205PM 
JAPANESE SQUATTER TOILET SOLUTION!!!

225PM
Re-modeled the toilet to be more like the Asian style. No world rotation needed! 

318PM
Almost finished stall sequence. Found a bog where the player can jump through walls.

408PM
Fixed movement bug and stall action bug @ 446PM.

~430PM to ~8PM considered sub actions or things that you can only do once you've used the restroom like... using toilet paper. 

830PM ( 50% of time passed )
Back to work, , Make another chart to re-prioritize the remaining chunks of time. 

840PM
Set up milestones for 4AM.

856PM
!!!

959PM
Basic X-Level complete.

1021PM
More art assets are made.

1041PM
Found Bug with multiple stalls.

1141PM
Basic art is ready to go. 

1142PM

1149PM

1222AM
Begin work on REPEAT mini game. 

1244AM
Repeat minigame out to testing. I decided to go nuts and found a great way to fix the implementation of the Event Manager.

103AM
Decided on a song to play that I cannibalized from another project. Did some brainstorming on the full paper towel ball minigame. Started first round of polish. 

122AM

141AM
Testing paper towel minigame. 

153AM
ITS PERFECT!

308AM
TRASH CAN GOAAAAAALLLL! Working! 

314AM
Ball game is done. 

316AM
Back to the multi Stall bug FIXED @ 515AM

524AM
Restructure of Event Manager. make notes on game rules and the requirements for the next milestone.

550AM
Notes about some level design concepts. 

633AM
Begin scripting game rules 

710AM
Structure in place for game rules. Found some new bugs, went after em.

800AM
World structure in place.

802AM

810AM (75% time passed)
Breakdown of the last 3 chunks/sprints left. First is game rules. Second is Feedback design. Third is polish and testing and posting. 

943AM
Timer started, FINISHED @ 1035AM 

1035AM
Most of the GUI is blocked out. 

1052AM
Finalizing GUI.

121PM
EventManager OVERHAUL ( breaks many features of the game while I'm at it ).

158PM
Made list of things to finalize by the second to last chunk ( 4PM ). Around this time I was pretty loopy. I made 3 new stages for the game and spent most of the remaining time fixing things that I had previously overhauled to death. The move was a good one. But I had to re-tread much of the code to get things like End of Game functionality to work. I spend the next hours fixing what I can and breaking things along the way. I took a couple more breaks. But I didn't have time to make notes on what I was doing. 

815PM ( 100% time passed ) 
THE SUBMISSION LINK IS STILL OPEN ( probably due to the halts at the start and end of the competition ) I make my submission entry and start winding down after submitting a not perfect beatable but still broken game. 

1000PM
(Much needed at that ) 

SO... THIS IS WHERE THE REALLY INTERESTING STUFF STARTS TO HAPPEN : 
I wake up, Thrashed from the excitement of the event and immensely proud of what I was able to output in such a small amount of time. But during the night my brain must have completely reset. I used to say "Make stuff for the sake of stuff existing". But this morning ( Monday after the compo ) I felt quite different. Obviously after a weekend like that I wasn't in a rush to get back on my computer and go back to work on HTUR. For the first time in my life I realized that across the table from me, my mom was watching this crazy person dance around the house when he hit milestones and as she describes it ; " A concentrated injection of who I am " unfolded in front of her eyes. I was hyper-focused , organized, excited and hard at work. I didn't see myself in this process. But it made me realize that a large part of who I am is how other people perceive me and not just me in my own head and how I get through my different creative efforts through techniques that I've picked up in a life of art and design. I became curious about my outward appearance during my early childhood and I started asking my mother about traits of my personality that have survived my experience. We took out some old photo albums and for the first time I saw my sisters as people. And I saw the photographs as context for me to build memories around ( during that time I of course came up with a couple of other mini projects to do ) . We spent all day talking about my early childhood with her and I was able to re-form a whole new sense of self. It was like hearing your favorite song for the first time. When I took a break from that conversation and sat down to play some piano it was an entirely new experience. I still knew how to play "One Note Samba" for example. But now, instead of simply playing the song as well as I could, I could hear the song for the notes and the melody that it was made up of. I could play with the experience of HEARING the piece instead of just executing technique. The jazz standard found a new life in my performance. It became more dynamic , I had access to the feel of the tune. I could play with the pace and the volume , begin to make breaks in the main idea of the song and start to experiment with my own ideas while still considering the position of the observer. 

A week prior to this I was on the phone with TheUrchin on the topic of our project HTUR. He's always been an influence to me as an artist since we first met. He talked about this thing he heard or read somewhere , basically he said that most of the time when we make art it's for the sake of the finished product. ("Make Stuff for the sake of Stuff") But he said that was kind of backwards. If you instead put your ability and concept aside and place the USER/CONSUMER/AUDIENCE at the center of your creative process then you will make something that speaks with people. You'll have a whole new range of levers and buttons that you can push and tug to invoke the people who experience what you've produced. "Ten Second Water Closet" was my first project where I didn't realize it but I focused mostly on rewarding the player for being adventurous and for playing the game. Often times , in games at least , there is a need to balance out rewarding experiences with punishing experiences. But I didn't put any time into the hazards that I had planned for the player. And the result was very pleasing. 

The PRIZE of Ludum Dare is that by the end of the 48 hour competition, you have a game that you can do whatever you want with. You've already built it so you know all of its ins and outs. AND ITS YOURS. You can sell it, post it on kongregate or make a mobile version and give it away. In my case I ended up with a cute little FPS ( First Person Shitter ) that was built on a really smooth point and click game engine for unity. I can re-purpose that code for anything in the point and click genre. I intend to complete the game and put it in the GAMES tab on this site at the very least. Just another mini project I guess. But never again will I say "Make stuff for the sake of stuff". I learned that I am not completely defined by my choices and specialties. The other half of my identity is in my impact on the environment. And if I have to comment on content creation in the future. It'll be more to the tune of :

"Make stuff for the sake of enriching the life of the audience"

Thank You Ludum Dare. You have changed my life. 
-Ben 'Angrycrow' Nix-Bradley 8.27.2013