Play in Process

I have been working on real actual paying client work for the last little bit here, and the blog where I talk about my personal projects is of course getting neglected. Life changes (upcoming human!) mean that financial pressures are a bit more real for the moment, so I have been forced to think about if my side things are going to make me money. And since they tend not to fufill that goal, I think “hey is there a more relaxing way that I could be spending my time”. So I have been falling asleep on the couch while listening to baseball on the radio.

The last project all got a little overwhelming when I started working on animation for it, and realizing that I probably needed an artist to make it look the way I wanted. I haven’t touched those files in a while, but I might get back to it.

I was struggling with the iphone tracker a bit after realizing that the interface was just a total unfun mess. I descoped it down to a drum machine, and have been happily plugging away at that on and off for a few weeks.

One of the funny things that happens to me with making interactive art is that I forget to stand back and just experience it. Code change, Recompile, Check to see if code changed did the thing, Repeat. Or Does this thing now fit the ideal I had in my head for it. And so the changes just revolve around the vision, rather than the vision changing to fit what you actually have in front of you.

I spent probably 20 minutes actually playing with the drum machine, and it was so enjoyable, I tore through like 5 major features that I had been putting off in favor of writing boilerplate, or teeth gnashing about percieved performance problems. In design school, they taught us to make changes, then test, then make more changes. With all the expectations that I am holding for this project, I have weeks of work that I could do. But pulling back is super valuable for my energy on the project, possibly even more so than adding new features.

I suspect that I am not the only person with this problem. I don’t know where it comes from, but I have some ideas. When working with other people, I notice that I defer to them about what needs to change in the feel of the thing. The thing that I percieve as valuable in my contributions is the ability to make changes, or to just grind on the code. And if I am enjoying the object itself, that is somehow a waste of my time. But any time that I actually play with the thing, it becomes worth more than the vision of the thing.

Weekly Dev Log 2/8/16

Changing formats this week, because hours wise, it was primarily client work.

spriteeditor

The two major things I did on the game this week were tooling things. The first one was a clone of the pico-8 sprite editor. I don’t know if I will end up using any thing created with this, but the graphics need to go, and having a tool to make the new graphics felt like a good start. Then I didn’t end up using this tool for any game related stuff, I just jumped to the next thing.

I built a opl style synth, and then decided to make a quick tracker for it. This whole process took about 9 hours.

opl tracker

And then I thought to myself, I should revisit the iOS tracker that I have been working on for about 3 years. And then I discovered that not only is the whole thing buggy as hell, but the basic underlying interface concept is terrible. That was the part that I was most excited about. Frustrating, but not the end of the world, I just need to rethink everything.

I notice that when I have one major project going, the other projects become fragmented and difficult to focus on moving the core bits forward. This is something to deal with in the coming week I think.

Weekly Dev Log 2/1/16

50:19:20

log

Another 50 hour week in the can. These are totally exhausting, and I need to stop doing them.

I start and stop my timer whenever I stand up from my desk, so 50 hours translates to something much higher. Probably 70 or so?

The fun pak poked along this week. I got builds out to testers early in the week, and got some great feedback. I also made a new game and started integrating my synth a bit better. Not sure if I am actually going to go with my synth in the end, it all really depends on what the arc of the project is. I did discover that my synth is kinda a processor hog, but hopefully I can work out some solutions to that.

It seems like new games in the current style take about 4-8 hours of development time, but this might change with a newer better art style if I ever get around to that.

log

I also started in on the overworld for the game. I am pretty happy with this art, and hope that I am able to figure out a way to build out a whole world that looks like this, populated with these little frumpy characters.

log

Then the bulk of the week was global game jam. I am really happy with what we produced for it. Give it a download and a play if you have 10-15 minutes to spare. It was so nice to work with an artist and have something that looks amazing at the end of the jam. Also working with a writer and voice over person was excellent, and she did a great job with our super vague input.

I was really happy with the new unity tools for audio, if people haven’t checked them out, they really should. It makes it easy to do complicated sets of ducked audio and soundtracks and such. I am sure I didn’t do a perfect job on the mixing, but hopefully good enough.

The inscriber ritual is the one bit of the game that I am sure I am going to revisit, and maybe release as a little iOS separate toy. We will see if I have time or not.

  • global game jam 25:23:00
  • fun pak 19:50:19
    • checking build on iPhone 4 0:38:34
    • content - arcade games 4:12:11
    • dynamic sound library 4:09:25
    • getting the web server running 1:13:00
    • overworld 6:10:48
    • setting up testflight 3:07:36
    • texture packer 0:18:45
  • dev log + project management 0:24:24
  • contract work 2:09:40

Weekly Dev Log 1/25/15

53:05:08

log

I have put my custom engine on the back burner, and switched over to love2d.

Around Wednesday of this week, I realized that my c solution wasn’t good, I was poking in the dark, and I should just grab an off the shelf thing. I picked out entity-x which seemed like a pretty well maintained solution. I hooked it up with all my nice to haves (i.e. a web server that could hot reload lua scripts sent to it), and got down to work. By Friday, I had a new game, and the menu working, and I started trying to get everything ready to send off to testers.

And that is when I discovered some issues with entity-x that I just couldn’t figure out. See entity-x is “modern cpp” which means it is fucking impenetrable. I couldn’t use the debugger to trace code flow, everything went into these strange systems libraries that were unreadable. I spent 5 hours trying to debug some strange menu issues, then I just said fuck it, I am moving on.

log

In the early days of Lucky Frame, I needed an engine that ran on iOS, and one of my favorite things for developing on desktop was love2d. But love2d didn’t have an iOS target that was supported by the core. So I ended up writing my own version of love2d that worked good enough. We used it for 3 projects until the annoyance of debugging lua code and the lack of easy cross platform compatibility got to me. We switched to Unity. Now, 5 or so years later, love2d has an iOS target that is officially supported. I had initially written it off for this project because I couldn’t figure out how to get my audio engine integrated with it. But on Saturday night I was so frustrated with my thing that I spent the 20 minutes required to actually get my audio engine integrated. Then I spent 5 hours porting over all the work that I have already done to love2d.

log

So thats where I am at. On the 3rd game engine in as many weeks, hopefully with forward momentum to stop fixing engine bugs and actually work on making the games better. Lets hope this week has more forward progress on the games themselves.

  • fun pak 48:20:02
    • content - arcade games 4:37:02
    • dynamic sound library 1:11:16
    • fixing bugs before sending to testers 2:59:06
    • getting fonts working in love2d 1:19:04
    • getting the lua game runner working again 9:52:42
    • getting the web server running 1:39:37
    • making the first pass on the main menu 6:03:24
    • setting up testflight 2:23:33
    • switching over to love2d. I hate myself. 5:22:38
    • switching to off the shelf ECS and c++ 5:25:49
    • working on ecs 7:25:51
  • dev log + project management 0:32:13
  • learning gl / imgui 4:00:00
  • contract work 0:12:51

Weekly Dev Log 1/18/15

35:08:25

log

This week has been spent largely working on the game engine.

I am not sure that was a good idea.

The week started off really great, with some playtesting. The existing games are small enough that I can make really fast changes based on direct feedback, so sitting down with someone and testing the game with them is just a matter of them saying “hey can you try this thing”, and 15 seconds later, I have a new build that implements that feature. It is great. I even put in a web server so when I have both my device and my dev box on the same network I don’t need to recompile.

Then I had a vision. A grand meta game, where you are walking around this shitty arcade and playing all these different games, and chatting with the owner. There would be a story line to drive you through the different games. And maybe you could go outside the arcade and to the shop down the street, and buy different outfits for your character.

super caesars palace

So I started building a new game engine. I don’t really want to do this in unity, I want to keep my games in fast iteration land in lua. Early on at lucky frame, I had my own engine, and it was great, but everything was deeply nested classes, and hard to debug because everything lived in lua land without typechecks. So this week I started building a Entity Component System based engine. And I am doing it in C because I am stubborn and want to learn c better. As far as I can tell, most people don’t make that mistake.

Arcade Machine

So after a weeks work, I have an image on screen. You can’t see, but it is color cycling thanks to the shader. Great. You can’t play the two games anymore, so technically, I have taken a step back. I hope I can accelerate with this framework and get it out of the way this week so I can start working on the game again. But really, who knows.

  • action edit 33:10:11
  • dev log + project management 0:17:22
  • accounting 1:40:52
older posts
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
powered by Jekyll with Barecity