So I've decided to use this competition as an opportunity to do a few things that I've been procrastinating on for months. I won't be making an actual game. (Well technically, I actually will be making a game or two. But not anything that I haven't done before, and not anything that will be particularly interesting.)
Guess that makes me a Rebel, officially.
I have 4 primary things I want to accomplish. That means roughly one per week, which I think is doable, if I focus on it. In the unlikely event that I finish it all early, and depending on if I pick up the game development bug from you guys in the first part of the month (that's a challenge to you guys!) I might see what I can do in the last week or weekend to make a game or some other game-related project.
Here are my four goals:
1. Finish the 2nd Edition of my book. The digital edition is already done. I have a few more formatting hoops to jump through for the print edition. It's a long story, and you've probably either (a) heard it already or (b) will hear it some day soon. I don't feel like I can work on much of anything else until it's done.
2. A ridiculously simple game-from-scratch set of tutorials. I'm thinking something like Pong, but is that too easy? I'd love to hear about something ever so slightly more complex as a starting point. Maybe Breakout? (Opinions welcome…)
3. A more involved game-from-scratch set of tutorials. For the second one, I'm thinking Asteroids. It's got some complexity to it, and gives me the option of doing a 2D and 3D game.
4. A set of tutorials on building a really simple UI. Nothing crazy, but enough to cover probably buttons, checkboxes, labels, pictures, radio buttons, maybe a slider, and basic layout.
If I can complete all of those, I'd call it a big success.
I'm also entertaining the possibility of doing another game-from-scratch tutorial set (not sure what, but something very different… maybe card based, or a simple RTS, or something). And I'm also contemplating doing some studying up on some pre-made UI libraries, such as this Empty Keys one that Liru pointed out to me in the forum.
Anyway… so that's the plan.
I'm hopefully going to be getting started on wrapping up the book stuff tomorrow. (So I guess that makes me a rebel in two ways.)
Other than that, I think I'm going to try to act like what I'm doing is making a normal game. So I'll probably do daily (or frequent) updates on here, and claim achievements, etc.
Pre-Competition: Try to finish the book stuff, so the competition can mostly focus on new tutorials.
Week 1: I'm hoping to get the Breakout tutorials completely done by the end of the first week + first weekend.
Week 2: Depending on what I learn about how time consuming these tutorials are to make, I'll hopefully be able to move on to Asteroids in Week 2. (I know I used to figure about 4 hours of effort per tutorial, and I'm actually eyeballing about 17 tutorials for Breakout, giving me… 68 hours of effort. Ouch.)
Week 3: Simple UI tutorials.
Week 4: Some buffer space for the other tutorial sets spilling over their allotted time, or if everything goes well, perhaps I can make a game of my own during this last week.
My Trello board for the competition: https://trello.com/b/d6fO8M4v/competition-6.
The Breakout Preview code: https://bitbucket.org/rbwhitaker/breakout-preview/
Here are the latest screenshots of my progress.
In this section, I'll keep a daily log of what's happened. I do this partly for accountability. If I know people are looking for it, I'm far more likely to get stuff done and show what I've done. I also do it partly because I like seeing how far things have come over time.
Plans for Tomorrow
Tomorrow I'll finally start writing tutorials based on this game!
I've got everything finished and cleaned up for the game. Tomorrow, it's on to the tutorials!
I spent my day trying to fix a couple of bugs and eventually decided that it wasn't worth the extra math it would take to do it correctly, especially considering the goals of this tutorial set. So I went with a simpler but less correct approach at the end of the day.
I've essentially completed Breakout, as the tutorials will cover. There are two things that I'm considering doing still.
- Music and sound effects.
- Making my collision detection code use a swept circle instead of just a circle.
I was originally going to skip the music and sound effects and just do that in the Asteroids tutorial, but I'm also nowhere near as far along as I had hoped I'd be at this point, and I think I might have to drop something. I think dropping a second game-from-scratch might be preferable to dropping the UI tutorial stuff that I was hoping to do. Any thoughts?
If I do drop it (temporarily, though let's be honest, it may be years before I come back to it, considering how long it's taken to get to it in the first place) then I think I might want music and sound effects added in, and maybe even some UI stuff. Make the game quite a bit more fully formed.
I didn't get much done on Saturday. (I'm writing this Monday morning.) I've forgotten what I even did. I think a little bit towards breaking bricks. For a day off, it was actually rather disappointing how much I got done.
- Created a project for a "preview" of Breakout. The intent is to have a project to use as a reference as I'm writing the tutorials. The final version may come out slightly different than the preview, but I don't want to spend four tutorials working down a path that I later discover didn't pan out so well.
- I got bricks drawing, and a paddle up and running, along with it being controllable with the mouse.
- Lots of bits and pieces of setup and framework.