•September 15, 2009 •
Leave a Comment
I’ve been working on ruby tower defense a lot recently. After some nights of coding, I’ve come to the realization that it’s a really bad idea to code while tired. My syntax errors seem to multiply, many problems are difficult for me to wrap my head around, and the solutions I come up with aren’t usually all that great.
I’ll come back the next day, look at what I’ve coded, and refactor like hell. But I’m still finding it hard to resist that itch to do “that little change” before I go to sleep.
So take it from me, never code tired.
Oh yeah, I wrote this while I was tired…
Posted in Development Log, Tips
Tags: coding, programming, sleepy, tired
•September 10, 2009 •
Leave a Comment
I was thinking about points in games recently and game to this realization: More points are more satisfying, even if the score is just multiplied by 100. My score in Super Mario always seemed to have at least two trailing zeros at the end. (I went to check, and I can get 100 points for squashing a lowly Goomba!) It’s also much more fun to brag “I got 1,000,000 points!” than “I got 1,000 points!”
I think that can be applied to the real world too. I remember a math teacher I had changed his grading system mid-year; We used to see something like 20/20 on homework, it went down to 3/3. Though it really counted for the same part of our grade, seeing 20 is much more satisfying than 3.
What are your thoughts on points in games?
Posted in Thoughts
Tags: games, points, strange
•September 6, 2009 •
Leave a Comment
“Excuse me, sir? Its been a while since your last post, and we figured you owed them an explanation.”
I concur, Mr. Post-Opener.
I’ve gone back to school, shrinking my free time by about 9+ hours, and leaving little time for game development. Much of the programming I have done hasn’t been in Ruby, since I’m learning C++ in school (though once I start making Ruby C-Extensions, it’ll come back around!) The rest of my programming has been on 2 toy projects, both in Ruby, both using web technologies, and not related to game development…
I have, however, created the basis for a platformer game as an excuse to test out the git server I set up at my house
. If I find the time to get enemies and guns up to snuff, it may see the light of day.
As if programming wasn’t enough, I’m also trying to learn Inkscape to make my art a little less horrible. All this crap together makes for one overwhelming situation, and I’m almost certain I’m trying to do too much at once!
I have some ideas for posts I want to write, but I feel a little guilty about writing about game dev, when I’m not actually making games…
P.S. C++ sucks! What the hell? Why do so many game programmers use it??? Sure its fast, but Ruby isn’t very slow! Might have to see if D is any better, its supposed to be anyway…
Posted in Development Log
Tags: school, status, update
•August 22, 2009 •
Leave a Comment
I was thinking, just a short time ago (Yes! Thinking! I know its dangerous, but I was being careful, I promise!).
I remembered reading once that immortality would be bad (if deployed across the whole race) simply because there wouldn’t be a need for children. I only ever understood the implications of this now: If there ever became a lack of children, technological advance would stagnate (Imagine, a world where a new iPod doesn’t come out every six months!). Advance would stagnate because people would never do the “impossible”, they’d just continue accepting things as they were (Imagine a world with no new LOLCATS!). Children think without limits, because they know no limits. This then means that they can attempt to do the “impossible” (or something close to it) and succeed, but only a child could do it simply because they do not know it is impossible. So it becomes important to realize that, if you try and think without limitations, it is possible for you to find a way to succeed. Sometimes you will succeed simply because you were the only one to think without limitations. Just be sure you are balancing what can be done realistically, without leaving you mind enslaved by impossibility. That could be impossible
What this means for programmers is simple: Want to make a game engine, OS, super-awesome-script-that-will-pwn-all-the-noobs? Does it seem impossible? Don’t think of it as impossible, you’re only limiting yourself. There is a way.
Posted in Thoughts, Tips
Tags: immortality, impossible, thinking
•August 17, 2009 •
1 Comment
Rubytris is a very nice tetris clone. Its written in Ruby, and uses the Gosu library.
To show you my tetris skills
and what the game looks like :

Rubytris Screenshot
Besides being tetris, Rubytris has a few things that sets it apart from the crowd. First, it has some very nice sound effects (I really like the sound when tetronimos drop. Is it weird I like a sound effect?). It also has many differently shaped tetronimos, including the standard set.
For you programmers out there, Rubytris has its code very well documented, so get hacking
Rubytris has some plans and ideas at the bottom of its README, so hopefully we can expect even more good stuff to come!
If you’d like to get the code for yourself: http://github.com/lobo-tuerto/rubytris/tree/master
Or if you use git, clone it from: git://github.com/lobo-tuerto/rubytris.git
Don’t forget that you need Gosu installed first: http://code.google.com/p/gosu (or just gem install gosu)
If you liked the game, you might want to follow the author’s blog.
If you would like your game featured, go to the Making a Game With Ruby? post and comment.
Posted in Game Showcase
Tags: game, review, ruby, rubytris, tetris
•August 3, 2009 •
Leave a Comment
The development of Block Bounce was a lot of fun. There was some frustration and some burnout, but at the end of it all, I’m glad I made the game.
Very disappointingly, Block Bounce took 7 months to complete. But that seven months taught me a lot. Each completed milestone was the result of a day (or a few days) of concentrated development. So it was not as if I was working every day for seven months. Motivation was a definite reason for the long development time. But I eventually discovered that all it took for me to get motivated was to start coding, and make some progress, and I would gain more and more steam until I finished a milestone. Then I would take a break. If I were to make it again, and concentrate my efforts, I could probably do it in a month or less. Even more time could’ve been saved if I hadn’t wanted to make a sprite editor (When something like The GIMP is more than suited for my needs).
Another huge problem with my code was that there were no objects, everything is drawn and updated in the main game loop. This caused a lot of problems, and a lot of duplicate code (menu stuff seemed to duplicate the most). This created most of my frustration, and also made me use many instance variables (The game itself was contained in a class, so it was as bad as using global variables). But in the end I learned my lesson; I won’t do something like that again.
On the brighter side, I felt that the menu art looked rather nice, considering it was programmer art
. I also really liked the level editor. It has a few problems, but overall it is really very easy to work with. Power ups were also implemented well. All you had to do was make the art and the code, drop them into the powers directory, and the game did the rest.
In the end, I’m glad its done, and I’m going to try hard not to repeat my mistakes.
Posted in Development Log
Tags: development, games, postmortem
•August 2, 2009 •
Leave a Comment
When I’ve read books and tutorials about programming (or just computers in general) they always claim to be free of jargon. Yet, I’ve only heard the word jargon in the context of computer books…
So does this mean jargon is jargon?
Posted in Thoughts
Tags: books, computers, jargon, programming
•July 29, 2009 •
Leave a Comment
# Run this script through rubyscript2exe
# After that you can run the executable like it was
# the ruby interpreter
# if you need a fixed rubyscript2exe (say for ruby 1.8.7):
# http://github.com/ryanbooker/rubyscript2exe
# Require all needed libraries here
require 'rubygems'
require 'rubygame'
unless ARGV[0] == nil
require File.dirname(RUBYSCRIPT2EXE::APPEXE) \
+ '/' + ARGV[0]
end
Posted in Tips
Tags: custom, interpreter, programming, ruby
•July 26, 2009 •
Leave a Comment
•July 26, 2009 •
Leave a Comment
I announced earlier that I was going to make a tower defense game. And if you’ve been able to figure it out by the lack of announcements, I haven’t made it. But what I have made is a quite wonderful (imo) game engine/back-end for it.
But as I still haven’t come up with a satisfactory design for Ruby Tower Defense, the engine was wonderful, but of no use. So, in an odd spurt of enthusiasm, I decided to write Block Bounce again in less time, less lines, and less confusion, using this engine. And in doing so I discovered some hard-to-track-down bugs. All of these bugs happened to be in the engine…Making it very frustrating when you want to make a game, but have to fix a game engine while you’re at it.
So what I took away from this was, if your going to use a game engine, use someone else’s, because you can leave it up to them to focus on the engine, while you focus on your game. And if you must use your own, never trust it, for it will betray you as soon as you turn your back.
P.S. If your curious, I never did finish with that rendition of Block Bounce, but I did have a bit more than the core gameplay and menu system in about 250 lines (original has about 650)
Posted in Lessons Learned
Tags: game engine, trust
Recent Comments