Crowbeak

LD25

Butterflies in my Coding Stomach

Because programmers are like cows!

Okay, not really. Anyway, Gaeel‘s post showing how he voted in round one made me think about how I voted versus how other people might vote. How do you choose? Is it worth voting for more than one theme, really? This is my first Ludum Dare, so… I don’t actually know how each round even works — all I know is that there are many, many themes to pare down.

I kinda voted up things that sound actively inspiring, voted down things that I don’t feel like I want to deal with, and voted neutrally on things that I have no special feelings about one way or the other.

In other news, kinda nervous about doing this altogether. *murloc noise*

I only recently took programming back up again after some years of not touching it. I don’t think I can do anything web based and my computer is currently a Mac. On which I’ve really only been using Python. And I don’t know how to compile executables in it yet because I didn’t think about that until earlier today. I could see if I can get my old laptop running well enough to program in C on Windows, but I haven’t used C in forever. And to top if off, my game may end up being text based just from sheer lack of sufficient skills to do graphics.

Good thing I like adventures. *murloc chorus*

Comments

Madball
09. Dec 2012 · 12:36 UTC
Usually I just think how many possibilites does the theme gives and vote according to that: “+1” is many, “0” is average, “-1” is a little. Remember that you choose the theme not for yourself only, but for other Ludum Darers! (Who would follow this rule… *sigh*)

But this time was special. I made a binary tree and sorted all the themes by the above-written criterion. Lol.
09. Dec 2012 · 12:42 UTC
If you make your game on Python, and you provide the necessary libs to run it (if any), I’ll make sure I’ll play it.
frogmaster
09. Dec 2012 · 12:51 UTC
IMO, it is very important for themes to vary from the previous ones (alone, tiny world, escape, evolution…). That’s why i didn’t choose “trapped” and “quarantine”, although they are very good. “Outer space” and “ghost” don’t look like a well stated theme. I also don’t like “Salvage” and “Unstoppable”, not because they don’t give many possibilities, but because they are hard and it’s very likely that many games will look the same. My favourites are “Mirrors”, “End of the world” and “Guardian”. I think that they are tricky and fun :)
09. Dec 2012 · 13:43 UTC
Madball and frogmaster: Thanks for sharing your thoughts, guys. 😀

Considerations in Preparation

I’m coming into Ludum Dare 25 with rusty programming skills and limited knowledge. This post outlines what I’ve done in the distant past, how I fell out of programming for a while, and what I’ve been doing recently/where I am at now.

At the bottom is my bulleted list of where I stand (or think I do) in programming capabilities (in terms of hardware, software, and know-how). It kinda includes notes-to-self on things to try and figure out this week. Any suggestions/tips you guys might have on that would be much appreciated. xD

My Personal Programming History

A long time ago, when I was in high school, I started learning to program. I had already taught myself HTML, JavaScript, and some CSS — then in its early stages — in middle school and early high school. My school district offered vocational classes ranging from Auto Repair to Cosmology to Computer Science to all high school students at a location fairly centralized in the city. I signed up for the CompSci class, and spent the mornings of my senior year learning first A+ certification material and then programming, with C/C++ as the language of instruction.

I was set on making video games for a living. I didn’t choose my college very well, being a first generation college attendee influenced by unrequited love, but I lucked out and got into what I still feel was a good Computer Science program. However, as I started trying to keep up with news in and about the industry, I started seeing horror stories about how employees were treated, particularly at big companies. In decided to be prudent* and changed majors from Computer Science (which is, of course, useless if you’re not going to make video games) to Japanese Studies (which was and still is interesting, but also brings to mind the delightful opening song from Avenue Q, “What Do You Do with a BA in English?”).

And so it was that I just kinda stopped programming for a while. If we fast forward several years — like, eight — we come to last spring.

*Oh, the foolishness of youth.

Forget Prudent, I Love Games

It was the middle of my first year of teaching English in Japan via the JET Program, and I was already looking ahead towards the end of my tenure. I had already extended my contract to last until August 2013, but I had signed that contract extension about a week before the SOPA issue exploded and I found myself wondering if I should stay the maximum five years I’d originally planned on or go back to the USA and try my hand at activism. Eventually I realized that I would make a terrible activist, but aside from that, many of my English-teaching friends had chosen not to recontract, and several of them had been accepted to graduate school in the fall. I realized that I needed to figure out what I planned to do after JET. If I decided to do something that needed more higher education, I wasn’t going to make the same mistakes I made the first time around. Besides, graduate school applications have to be in really early.

So I soul searched and researched. Did I want to teach at the primary/secondary school level back in the States? No. At the university level? That would be awesome, but after a lot of consideration, I threw that one out, too. I considered a few other things but discarded them, too, before realizing that I really love games (not just video games), more than anything else, and that is where I should direct my efforts. In looking for ways to take all my years of Japanese studyies and put them to use in relation to gaming, I went through a process which can be summed up as follows:

  • Consider video game translation.
  • Research… Oh hey, game localization looks way more awesome than translation, and my programming experience should help.
  • I have to have translation experience first? Hmm…
  • Talk to translator I know: I have to have a second degree to be a translator?!
  • If I’m gonna get a second degree, why not finish the computer science degree I already started?
  • If I’m gonna do that, why not make video games like I originally planned?
  • If I’m going to do that, why not teach myself to program again and just build a portfolio to try to get jobs with and/or be an indie?
  • Alright, back to Plan A (from high school — making video games) it is, then.

And Now. . .

Now I’m working on the whole teaching myself to program thing. I’ve been learning Python and brushing up on my computational thinking with a little help from MOOCs. I’m starting to feel like I have a good platform to start working on more advanced things.

I learned about Ludum Dare, and by extension the existence of game jams, right before Ludum Dare 24 happened. I was unable to participate at the time due to complete inability to make anything. Now, my toolset is limited but extant, and in spite of my disadvantages (including the time difference pushing the end of Ludum Dare halfway into my workday on Monday), I am gonna do my damnedest to produce something. If I have to, it’ll be a text adventure which can only run in the Python IDLE, but by God, I will make something.

My Situation and Limitations, with Thoughts

My primary computer is a Mac laptop.

  • I do own a Windows 7 laptop.
  • However, I bought the Mac because the old laptop was severely in need of replacing and/or a Windows reinstall.
  • Said reinstall hasn’t happened yet because I decided this was the perfect chance to learn to install and use Linux (dual-boot), but I’ve been busy with work, studying, League of Legends, and Borderlands 2.

The only programming language I’m really familiar with at the moment is Python.

  • Thankfully, there are libraries out there designed for game development in Python, such as Pygame and Renpy. I need to look more into what they can do.
  • Otherwise, the only graphical stuff I know how to do is scipy/numpy plots.
  • If I didn’t think that would overly complicate things, I would try to do all my graphics as plots. It does sound fun.
  • The games I’ve played that were made with Renpy were visual novels, but I read somewhere that it’s also designed for simulation games.
  • I need to figure out how to compile in Python so I can distribute my game. xD

I don’t know how to make games in HTML 5 or Flash at all.

  • Though a couple of nice people have already pledged to play the game in Python. :D
  • This seems like a very supportive community. <3

I could theoretically use C/C++ even though I’m rusty, but I don’t really know how to use XCode.

  • I don’t have a C/C++ compiler installed on the Windows laptop, either.
  • I don’t have a personal library of code built up. :(

Creeping Forward

So the day before yesterday I had grand plans to get PyGame working on my computer and start learning to make graphics work. Then I fell asleep at my computer at 6 PM, right after dinner, and didn’t wake up until 7:30 AM when my video phone beeped that the morning town news had arrived.

Even with a ridiculous 13 hours of sleep under my belt, I was tired all day and my brain was running in slug mode. I’ve been feeling a bit off since Tuesday, and since I haven’t felt truly sick, I can only conclude that my body is belated feeling the aftereffects of my hour and a half out in the train station parking lot digging my car out from under a meter of snow. I went on a business trip last Tuesday, leaving my car parked there because I didn’t expect raging blizzards, and then weather  life prevented me from going to get the car until Monday.

I did not crash last night, but my brain still wasn’t up to reading documentation, really. I did get a chance to talk to a friendly acquaintance who has experience programming in Python for games and otherwise  last night, though. I got to pick his brain a bit before he went to bed, and ended up deciding to go with Pyglet instead of PyGame. I didn’t get very far in playing with it before my brain let loose with a bold-italic stream of symbols like you’d see in comic book dialogue, but I got Pyglet installed and it seems to be working. So I might not do a text adventure after all! 😀

That said… I’m still installing Ren’Py as a backup. xD

So! Official declaration: I plan to use Pyglet and/or Ren’Py.

Signing off. *murloc noise*

Tags: compo, python, tools

Tools Declaration

So, simple and official declaration of tools.

I’ll be programming in Python, using Pyglet.

For recording sound I’ll be using my voice, Audacity, and maybe Garageband… though I will probably just stick to Audacity.

For graphics, I will be using a simple Mac OS X app called Paintbrush which is very, very similar to MS Paint. I might Gimp it up a notch, but probably not.

Final Workspace Setup + Starting Food

Alrighty! My desk (table, really) is fully set up now.

Crow25WSFinal

 

I have some junk food left over from when I felt really off and my blood sugar was low a couple of days ago…

C25junkfood

 

But I plan to make good food for the most part. The last three weeks have been kinda terrible and I want good food even if it wouldn’t help keep me going better. I have a lot of rice, clementines to snack on, potatoes for making cream of bacon/potato soup, and apples with which I will make apple sauce.

C25goodfood

I would normally add pumpkin to the soup, but the stewed pumpkin I had on hand went bad and the pumpkins at the store were crap last night. The apples are from my town’s sister town down in mainland Japan. I’ve had apples from there before and holy crap they’re good. Really looking forward to that applesauce.

One picture of my relatively clean kitchen with the rice cooker pot soaking in the sink and my bacon and egg breakfist mid-cookery…

C25kitchen

…and one picture of just the bacon and eggs mid-cookery, because bacon and eggs.

C25BEmidcook

Yes, I use long chopsticks to cook my bacon. And I never get grease splatters on my hands anymore. Japan 1, bacon still at several million.

Tags: deskphoto, foodphoto

4

This entry was posted on Friday, December 14th, 2012 at 6:47 pm and is filed under LD #25. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Workspace in Progress

Being at UTC +9, Ludum Dare starts at 11 AM for me. So I got up several hours ahead of time and cleaned up my living space so I’d have a pleasant environment in which to code.

Crowbeak's Workspace LD25

 

The futon will be finished drying before the compo actually starts, so I’m gonna put it away in a closet you can’t see and pull the table out into the middle of the room.

This, by the way, is half of my apartment. xD

Off to make breakfast! Bacon and eggs. Also to clean up the kitchen some.

Tags: deskphoto

LD 25 Journal 1 – Oh-ho-ho-oh God I’m So Screwed! (Idea Too Ambitious?! Maybe so!)

Okay, so I didn’t expect You Are the Villain to come out on top. Definitely starting from scratch. xD

The good thing is that I’ve pretty much decided on what I want to do. The other good thing is that it shouldn’t be too graphically complicated. The maybe bad thing is that it’s going to involve simulation. We’ll see how coding that goes.

The game should be okay for what it is, but it will definitely be tied to the narrative.

Tags: journal

Hmm. Well, Progress Has Been Made.

I decided what I wanted to do pretty quickly, which I’m keeping kinda secretish for the nonce because the narrative whammy would be ruined otherwise.

The plan I ended up settling on has left me setting up a simulation game… from scratch, since I had no base code. So it’s going to be text based, no graphics, using the Python console.

But it will have music! 😀 I can sing, by golly, and Audacity makes it easy to record things. Perfect quality? No. A nice touch? Yes. Now I just need to figure out how to make the music loop using Pyglet.

As far as how the game is coming along: quite nicely, all things considered. I just hit a stumbling block and am too tired to figure out where I went wrong, so it is time to sleep. But the simulation building progresses, and I have some of the commands implemented.

This simulation isn’t real time, btw — you set it up, look at the results, and then make a decision about how to proceed. Run the simulation again? Make your final decision? Then more story.

Edit: Oh! And I know exactly how I will fit goats (maybe just one goat) into the game.

1goat

Tags: journal

Let it Snow >:D

My game looks like it will be finished — in all its first-time-ever unfanciness — before I have to go to bed this evening. <3 I have the simulation loop almost complete — just need to finish the exit clause. Then it’s just a matter of weaving the simulations in with the story.

Out of sheer joy, I sang a Ludum Dare variation on Let it Snow. Or part of it, since I don’t know the whole song. (It’s very short.) It is, in fact, snowing pretty heavily around here. This picture doesn’t do the weather justice, really.

C25Let-it-snow

Comments

fussycashew
16. Dec 2012 · 02:08 UTC
That was beautiful.

Finish Line, HO!

I have none of the technical skills that I see in spades in other people’s blog posts. I spent all afternoon yesterday setting up object classes that could do what I needed for my simulation. But by Grabthar’s hammer, the simulation portion got done. The calculations do what they need to do.

And although the simulation bits are not obviously connected to the theme, I believe that the gameplay is as essential as the story in connecting this game to the theme.

I really just hope people play it all the way through. I’m afraid I’ll be the victim of TL:DP (too long; didn’t play).

Regardless, this has been a great experience. 😀

Viva la goats!

1goat

Tags: journal

Done.

1goatI finished. No music, no graphics, nothing but text… but it works, and I think it’s good. For those who finish it, I hope it will have the desired impact. It’s got mature themes involving morality, puns, and single, solitary goat.

C25ss01

CC25ss02

Tags: compo, final, journal, python, screenshot

Comments

16. Dec 2012 · 14:55 UTC
Definitely going to check this out, mainly because I haven’t seen any other text-based entries.

Five Minutes of Screeching

Screen Shot 2012-12-17 at 11I figured out how to get Python scripts to compile in pyinstaller about 15 minutes before the submission deadline. I had already submitted my source code, so I was in anyway, but… :3 It still made me very, very happy to be able to submit exe files for both Windows and Mac OSX. As the title of this post suggests, I spent several minutes shrilly keening my delight before I was capable of uploading my files to the interwebs.

But they are uploaded. Which means I have Python source scripts, a Windows EXE, and a Mac EXE available for use. HOORAY!

Tags: journal, progress, python, Windows

Decommissioner Postmortem (LD25 48 Hour Compo)

This was my first ever game jam. It occurred a very short way into teaching myself to program again. My current skillset is very limited, though my conceptual understanding of programming is a bit above what I can currently do — for example, I can’t successfully program graphics, at the moment, but I have done so before and have some idea of how OpenGL, at least, works.

In spite of that, however, I figured I could get something done, and now seemed better than later. I learned a lot about Python in the process, particularly with exception handling, and in general had a blast.

Pre-Compo

Since I went into the project knowing that I was starting from such scratch as dreams are made on, I had what turned out to be realistic expectations for what I could accomplish in such a short time frame. Here’s how I envisioned my prospects going in:

  • I wasn’t worried about concept and gameplay design. I am accustomed to designing simple, focused games on short notice.
  • I knew I could come up with some kind of interactive game mechanic and program it in a decently short period of time.
  • I was not sure I could add graphics or sound, so I was prepared for the possibility of needing a text interface for the game. I therefore planned to focus on mechanics first and only add graphics/sound if I had time.

In the weeks leading up to LD25, I was busier than a starving mouse in a pantry full of food in cloth sacks. After digging my car out from under 1 meter (not a typo) of snow on the Monday beforehand, I spent three days bone-tired and recovering. I therefore had little chance to really prepare. I couldn’t get PyGame to install and barely got Pyglet installed with enough time to dink around with the tutorial stuff.

So I had absolutely no base code to start from. None.

Conceptualizing

When the theme was announced, I quickly assumed that most of the LD entries would run the gamut of stock game types with villain-themed wrappers. Although I take no issue with that, I wanted my game to be as unique as possible. Especially because of my limitations. In looking for a way to achieve uniqueness, I found inspiration in dystopian science fiction, a German board game a friend of mine told me about a while back, and some things I learned in my social psychology class in college.

I don’t really want to go into too much detail about the story here yet, since people are still playing and rating, but I will talk about the format of my game. There is more story than gameplay, but there really IS gameplay. There are segments in which you run simulations to determine the optimum configuration of robots for a work site with a farm and a factory, and which robots to discard in favor of some new robots. This ties into the story and the villainy, though the villainy isn’t apparent until the end.

Execution

Having set myself up to write a frelling simulation game with a lot of story (oh, how I facepalmed at myself), I had a feeling I wasn’t going to end up with graphics.

I focused first on working out how the simulation would work on paper and then launched straight into programming it, starting with object classes for the robots and where they were to work. I occasionally wrote functions to display the bits of the story when I needed a break from formulas and stuff, but I did the majority of the story work after the simulation was working. I wasn’t consciously thinking about having a playable prototype ASAP, but in hindsight… that’s essentially what I aimed for.

Once I had a couple of story segments and the simulation done, I considered my music and graphics prospects. I knew graphics were out. I thought there was a chance that background music was in, though, so I did some singing and then tried adding my music to the game with Pyglet. I got the music playing, but not looping; then looping, but all activity in the console stopped while it played. So I threw that out, too, and went back to working on the story and checking for bugs. (But you can hear the first BGM song I recorded here! Single take. It was to play during the normal, everyday parts of the story.)

I think the most important thing I learned from all the coding I did was how to properly handle exceptions in Python. I already knew how to make custom exceptions in Python, but I wasn’t practiced enough in their use to make good use of it. I am much better at it now! The way I handled input meant figuring it out lest the game crash.

Even so, my initial executable releases still included a bug at a critical juncture in the robot simulation because I missed exception handling at a critical juncture. I found and fixed the problem (I think) and have released updated files for everything except Windows, which I was unable to get to recompiling today due to not being anywhere near my Windows machine. I also figured out how to use Pyinstaller to compile the program into a single file for niceness.

Oh yeah, just figuring out how to compile the programs was a new experience, too. xD

Improving the Game

I definitely want to keep working on this game. There are a number of things I could do to improve the game, starting with more storyline branches and figuring out how to add sound. It would be nice to have graphics, too — basic visuals for the robot sim and maybe some visual novel style backgrounds and character graphics for the story bits. The story could be lengthened to allow for more robot simulations and better expression of the ideas in the story.

Tentative Plans for the Next LD, Based on Lessons Learned

  • I will have base code beforehand. Yes, I will. Starting well beforehand. Must learn moar!
  • Make sure I know how to incorporate at least sound, if not graphics as well. I’m not really a drawer, but by gosh I can sing, and if I am gonna keep doing things where mood is important, I want that extra mood buff.
  • Cook good food beforehand instead of expecting myself to want to do it during breaks. When I take breaks, I end up playing games or otherwise goofing off.
  • Spend more time in the IRC channel because the community rocks.

Overall

I’m very satisfied with how it went.

Wanna check it out? 😀

Tags: post-mortem, postmortem, python

Yay! Results!

My first Ludum Dare yielded scoring results with which I am satisfied.

#34 Mood 3.77
#101 Theme 3.81
#115 Overall 3.50
#119 Humor 3.31
#176 Innovation 3.28
#297 Fun 2.98
#582 Audio 1.35
#687 Graphics 2.00

If you look at that in terms of percentiles, I’m in the 98th percentile for Mood, 93rd percentile for Theme, 92nd percentile for humor and overall.

I feel like I did really well for a first try, especially considering my well-deserved low scores for audio and graphics. I must say, I’m surprised I scored as high as I did for graphics… I know at least a couple of people gave me some for the formatting, but that’s still higher than I anticipated. xD

Tags: postmortem, ranking

LD26

LD 26 is Coming

Unlike winter!

I’ll be using Python again this time, but I am on the road to being able to, like, use Pyglet so I actually have graphics this time. I dunno that my programming skillz are much improved over last time, as I’ve been busy in the interim and haven’t practiced as much as I wanted to, but here goes nothing.

Gamasutra Post + Participation Declaration

I wrote a blog post on Gamasutra entitled What Ludum Dare has Done for Me and it got featured. xD AHMAHGAHD! That puts me at 2 for 2 on my posts being featured. <3

I hereby officially declare that I shall participate in Ludum Dare #26.

  • Language: Python
  • Additional libraries: pyglet
  • Graphical tools: Pixlr, Paintbrush (Mac OSX app similar to MS Paint)
  • Audial tools: Audacity, my voice, maybe conscripted voices if any of my students come over to hang out that weekend
7

This entry was posted on Tuesday, April 9th, 2013 at 11:30 pm and is filed under LD #26. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

LD26 Themes, Round 1!

And here’s how I voted.

voting

I would have given Mutation +1 except that it is so close to Evolution, which is fairly recent. I gave Seasons plus instead of minus because the weather has been so crazy here in Japan, back home in Alaska, and where my grandma lives.

Moved Files for Decommissioner (LD25 Entry)

So, I didn’t like having several different files for LD25 loose in my dropbox directory. I moved them all to one folder.

I went back to try to edit my LD25 entry page, but I don’t see a way. Is it frozen forever with broken links? The Postmortem should still work, but I’ll have broken the GitHub link, too… :s

LD26 Themes, Round 3!

About all I have to say for this one is that I was considerably more polarized than in rounds 1 and 2.

ld26r3

Tools Amendment

I needed GIMP for something else, but after installing Mountain Lion it no longer worked… so I went to redownload and found a new version. A version which has OSX native windows. I no longer feel the need to rip out my hair when I use it, so I’m adding it to the list of tools I may use.

I would also like to reserve the right to use iNudge, Circuli, and Otomata to help with music. I still plan to sing, but I want background music.