Archive for January, 2009
Resolutions update, one month
I’m going to try and keep up with what I’ve done towards these resolutions at the end of each month. Hopefully this will help me stay on task. Here’s what I’ve done so far:
On the game development front: I spent a bit of time this month trying to come up with ways to get a bit of extra money. One of the ideas was to work up some simple web games (in Flash) and try to get them published. I wouldn’t mind eventually doing my game project in this, and am learning to use the Flex compiler to write Flash projects in pure ActionScript 3. If you’re interested, I found a good reference here.
On the Haskell/compiler front: I’m considering doing an AS3->Flash compiler in Haskell. The mxmlc compiler provided with Flex is written in Java, which means each recompile gets to enjoy the jvm startup time. Anyways, it would be a fun side project that probably will result in a half-finished compiler not suitable for anyone’s use. I’m sure I’ll learn something though.
On the productivity front: Things are going ok here. I could be doing better, but I’m satisfied with what’s happened so far.
Obviously the “more blogging” goal is happening so far.
No commentsI’ve lost my mind
After spending some time thinking about what is going wrong with this game, I came to two conclusions:
Repl-based development doesn’t work for me. I ended up spending a lot of time working my way into an inconsistent game state without know it, so most of my time savings were spent figuring out how I’d borked things on the next restart.
Haskell is just too damn interesting. Every time I tried to work on the project I found myself goofing off there.
Obviously, these points say much more about me than the tools I was using, but the simple fact was that I still wasn’t getting much done. I actually really liked how clean the more functional bits of my original game code were, so I’m taking the plunge and switching to Haskell for my game.
Since I’ve been wanting to dig deep into Haskell for a while this should really push me there. So far just trying to express something as simple as “a game unit can possibly target something targettable” has been a deeper rabbit hole than I thought, and now that I think about it my current solution won’t work. Luckily the new one is simpler.
I’m well aware that this will probably mean the death of this game, but it already seemed to be in critical condition, and either way the learning experience would be good. Stay tuned to see what happens.
No commentsNew Years Resolutions
Well, it’s that time of the year and I’m joining in the fray as well. Here’s my (hopefully not entirely empty) set of promises for the year. I don’t know who would actually find this interesting, but it’s helpful to me.
Learn Haskell: This was on the list last year, and still hasn’t happened to my satisfaction. I’m generally able to follow along with Haskell code, but haven’t quite written anything yet. I’m considering working out my game idea here since it’s a concept that doesn’t seem to mesh well with functional programming and would really push me to learn the language.
Write a compiler: Technically this one is going to happen regardless since I am taking that course sequence. I’d like to do something targeting the llvm, but we’ll see how it goes. Maybe I’ll start by rewriting the backend from that project to generate code for the llvm.
Write that damn game: I’ve been kicking around the idea forever, it needs to get done. Hopefully this term’s computer graphics course will help me get over that hurdle, but the reality is I just need to apply myself to it. (see 4) Maybe I’m reaching too far with it, it could be done in SDL without too much work and hopefully prettified as I find interest and time.
Stop wasting time: This was on the list last year too, (as “get off reddit”) and I made some progress then as well. I end up falling into this productivity sink holding pattern of reddit->email->rss->game news->repeat. When I first started with reddit it was a real eye-opener. I can honestly say reddit has led me places I probably wouldn’t have gone on my own, but it hasn’t been sending me anywhere new for more than a year now, and this pattern is really sucking up time. I’ll still skim everything to find the new and interesting stuff, but I need to get to work.
Get productive: I don’t have any illusions that my programming dilettantism will mean beans to an employer (or grad school admissions). I need actual work done on projects to demonstrate my chops, and school projects only go so far. My reddit karma, no matter how impressive, won’t go further than I could throw it either. (see 4)
Settle the grad school issue: I want to find a topic and explore it with at least a masters. The point here is to hopefully avoid the programming equivalent of the drudgery I left systems administration to try and escape, and ultimately get a job doing something I like. So far the “fields” are narrowed down to graphics, security, and programming language research (i.e. “I like functional programming”). I need to figure out what I’m doing and start scouting out other schools to do it at, in addition to applying #5 here. Not a whole lot of time left here.
More blogging: When I was doing it regularly, it helped to keep me on task. Attempting to explain what I was thinking about helped me to organize and further develop my thoughts. I could probably launch into a long rant about the value of switching from being exclusively an information consumer to being a consumer/producer, but I wouldn’t be convincing anyone of anything. From my limited experience it works for me, and that should be enough.
All that said, this was a pretty good year. Nadia and I got married in July, took a trip we’d been talking about for years, and settled a lot of financial crap all in about two weeks. We both made progress on a lot of things we wanted to fix, which is why my list of resolutions is almost exclusively programming-related.
2 comments