By Kevin Ryan
Posted on June 24th, 2016
A Quick Note
A quick note before starting in about my game prototyping process… I’ve added this email widget thing that I can use to notify you when future posts are made to my blog. I’ve written about 80% of the next post which is about the early concept and development of The Incredible Machine. Enter your email over there to the right if you want to get notified when future blog posts are made. ——>
Getting Started with a New Game Engine
Quite a few years ago Jeff Tunnell and the folks at Garage Games gave me a copy of Torque Game Builder (TGB) so I could take a look at it and try it out. I then spent a few days creating a game prototype that I knew my son, Aidan, would enjoy. Digging in and finishing a little game prototype is a good way to get familiar with a game engine. That first prototype after a whole lot of work eventually became a game called Buggle which was released for the iPhone. It’s not currently available, but we may release an updated version of it someday. Here is what it looked like:
After this first prototype to get familiar with TGB, I then started work on the idea I had for Puzzle Poker. I started work on a Wednesday afternoon and by Thursday afternoon I had a prototype that played very much like the game in its current form. Here is the main game play screen of that very first prototype:
I did all the art myself and really didn’t care what it looked like. It just needed to be roughly the correct size and convey the correct information to the player. At this point in game development I am only concerned with the game play. I can see in my mind how the final artwork will look, but there is no point in spending time and money getting awesome artwork created if the game itself isn’t fun. I am very good at quickly drawing bad artwork.
As a comparison here is how that exact same screen looks as of today in the game:
That wonderful artwork was created by Alex Swanson. If you look between the earlier screen and the current one you will see lots of the same information. Besides the real artwork the layout has also been changed to make it more user friendly. I am still not 100% happy with the layout and especially the wording and it’ll be tweaked and changed as we move toward final release. Design is a very iterative process as we craft everything to be as smooth and polished as possible. Making fun can be hard work.
Menus and Flow Between Screens
Along with prototyping out the game play, I also immediately hook up the flow of all the game menus. Many of the screens will just be stubs with only buttons that hook the various screens together. This gives me a way to quickly see how players will move between screens and make sure that everything moves smoothly for the player. Here is the main menu screen for that first prototype:
On this screen each of the different buttons would take the player to a different screen, most of which had nothing more than a simple placeholder screen shot along with a return to main menu button. The play button would launch the game. Note the “Howdy” above. Originally Puzzle Poker was going to have a western theme – that went away over the course of development. Oh, and also at this point the game had a placeholder name of “cards” and the actual name wasn’t decided upon until much later. Again at this point in the development, the menus and flow between them, functionality takes a front seat and the look is very secondary. I usually I have a pretty good sense in my head how it’ll finally look, but that is not important at this stage of development.
For a comparison here is how the main menu in Puzzle Poker currently looks and works:
The exact same choices for the player are there, but it looks quite a bit different from the original quick prototype version. When I got around to implementing the GUI for all the different menus screens I decided to come up with a custom solution instead of using Torque’s built in GUI. I used sprites for each of the different choices and had them change size and rotate slightly when the mouse was over them. This gave a little more dramatic look to all the screens and also fit the overall game theme better.
One change you’ll notice between the prototype of the game play screen and how it currently appears is that there are now hint buttons present. My Mom got hooked on the game. When I first installed it for her, I was standing there giving her hints on how to play, telling her things like “try moving that card from here to there.” It occurred to me that I should put that in the game as a hint system. Someday I’ll write about how I implemented it. And that same hint system can be used for computer AI if I implement head to head play with computer opponents.
It is a good thing to watch inexperienced people play your game. You can see where the faults are, what isn’t obvious, and also come up with new ideas to make it better.
Steam Greenlight and Kickstarter
Puzzle Poker is currently on Steam Greenlight and also on Kickstarter. We’d really appreciate a vote for it on Steam if it is the sort of game you’d like to play. Just click on the graphic below:
If you’d like to support us on Kickstarter click below to go to the Puzzle Poker Kickstarter page:
By Kevin Ryan
Posted on May 5th, 2016
Designing in a Meadow
I used to do quite a bit of computer game design work at a meadow near Kaiser Pass which is up around the 9,200 foot level of the Sierra Nevada Mountains. It’s about 40 minutes from our home at Shaver Lake. This was back in 1997 and I would sit with a yellow pad sketching down ideas and hole layouts for 3D Ultra Minigolf Deluxe while my kids would run around and have fun. It was a good work environment.
It was a neat place for the kids because there were a lot of frogs and if we came at the right time of the year there were also tadpoles or big groups of frog eggs. I can remember coming up to the same meadow back in the 1960s when I was their age.
Because it is at such a high elevation it would get very cold at night so things could freeze over even in the late summer. Depending upon the winter there could also be snow patches until late in the summer too.
So I got to sit outside in a beautiful environment and work on my game.
Eventually I’d have to go inside and sit down at a computer in my home to get the ideas into a specific digital form. It has been like that for me lately in that I can get a lot of creative work done, or inspiration on how to solve a problem, while just walking through the forest or even just driving somewhere in the car. For the minigolf game the “sit down at computer and implement” step would involve creating models of each hole in 3D Studio Max. I’ll write about that process a few paragraphs down.
Raindrops and Opening Screens
The idea for the opening of one of my very first published games, Black Belt (not the Sega game of same name), came back in 1983 when I was driving home from college in Oregon to my parent’s house. Somewhere near the Oregon-California border it started raining big fat occasional raindrops on my windshield and the way I wanted the opening title screen for Black Belt just magically occurred to me.
So when I got back to my apartment in Eugene across from Beall Music Hall (which I recently learned is pronounced “bell” not “be-all”) I implemented the idea. It is nothing awe-inspiring or great or anything, but the genesis of the idea seemed pretty neat to me and I’ve remembered it. Ha, someone uploaded it on YouTube, so you can see the opening here:
I suppose writing is like that too in that you can come up with general plot ideas, characters, situations, etc. anyplace, but eventually you have to sit down at a computer (anyone still use a typewriter?) and write down the specific words that make up the story.
A Minigolf Hole
The drive up to the meadow at Kaiser took about 50 minutes and on the way we’d drive past the Shaver Lake dam and the marina. The road there curves along the lakeside and I suddenly saw an alignment of geography that could be used as a hole in my game. When I got up the meadow that day I sketched out a design for the hole while thinking of any technical challenges that various elements would cause. Here is a view of the area courtesy of Google Earth:
And here is the sketch of the minigolf hole:
At this point the next work on a hole would be done in my home office where if I thought the concept was okay and had enough fun elements then I would spend a few days creating a playable 3D model of the hole. I would putt around on it, making different adjustments so that it played well and adding and/or removing different elements. Fun to play and works? Okay, good, keep it. Otherwise it goes into the trash.
The 3D model that I’d make didn’t have any of the artwork detail, only the shapes need to make the hole playable. The following scans are from the artwork design document. There would be three views of a hole: overview, tee, and top down. The top down view also had a very general description. (Sorry, printed them in black and white back then):
After making sure that it played well the last step was to get a concept drawing done of the hole that could be used by the artists who would be rendering out all the artwork. I was very lucky because I worked with Don Carson on this project. He designed Mickey’s Toontown in Disneyland and a bunch of other stuff. Click here to see some of the neat things he has made. And some more here in Part Two. Really click – his stuff is awesome. His blog is here and is worth following. I always knew that the concept artwork that I’d get back from him on any of my games would be just amazing! Here is the concept he drew for this hole:
Unfortunately I can’t show you how this hole turned out in the game because it wasn’t implemented. My design had 18 holes and I got them all to the playable state and Don did concept artwork for all of them, but because of budget issues only 9 of them were actually rendered off and put into the game. The rendering of all the artwork took a long time. Below is the Moon Base hole so you can get a sample of what a final hole did look like.
We had musical themes for each hole and that really added a lot to the atmosphere. Chris Stevens along with Ken Rodgers creates the music and sound effect. Chris has gone on to win multiple Grammy awards. Hit the play button and you can hear the moonbase theme.
So we come to Dynamite Cows. I live high up in the mountains and will occasionally make trips to Fresno, the closest large town, to do shopping. When driving through the foothills I’d see lots of cows in the fields. One day for some reason the thought popped into my head, “How about herding cows with dynamite.” I actually spent some time developing a product from that idea. Here is the title screen. Sorry again, don’t have anything but black and white printouts with me now. I’m sure I have source code and nice real art backed up somewhere on a CD.
Here is a very rough first pass at a game play screen.
And here are a few of the cows. Wish I had a color version of these screens.
Mercifully (for end users) I never got past some very preliminary work on this one. It was fun for me though and sort of a joke. “Mooooves” “Cowleidoscope” – shakes head. It is the nature of the beast to have things that don’t pan out. If you never have failed projects perhaps you’re not challenging yourself enough?
I’ll end with this little story from a biography of G. K. Chesterton.
Restaurants and pubs, in fact, not newspaper offices, were much more likely places to find Chesterton writing his articles. Charles Masterman remembered one such Fleet Street restaurant where Chesterton used to write articles,
mixing a terrible conjunction of drinks, while many waiters hovered about him, partly in awe, and partly in case he should leave the restaurant without paying for what he had had. One day…the headwaiter approached [Masterman]. ‘Your friend,’ he whispered, admiringly, ‘he very clever man. He sit and laugh. And then he write. And then he laugh at what he write.’
That seems to be the key for me. Enjoy what you do so much that you can laugh as you do it. My work has never felt like a job.
By Kevin Ryan
Posted on March 18th, 2016
The other day I was rummaging through some old files on my hard drive and found some old scans from back around 2006.
At the end 1991 I left Dynamix (The Rise of a Dragon in Eugene Oregon) after being with the company from the very start as one of the four original owner-partners. Three weeks later Jeff Tunnell convinced me to come back and work at home on whatever I wanted. We talked about possible projects and then I went to the University of Oregon library and checked out some Rube Goldberg works and thought about design and how I could make Rube Goldberg type contraptions work on computers. I spent a couple of months of thinking and writing a design document for the game.
Once that was done, I set up a work desk in our cold basement on West Broadway Street in Eugene, Oregon, started working on The Incredible Machine. I would walk to the office about once a week to show everyone what I was coming up with.It was real nice to open my copy of Computer Gaming World about a decade and a half later (in 2006) and see this:
By Kevin Ryan
Posted on March 13th, 2016
I worked on Zoo Master during my senior year the University of Oregon in 1983. It was written for the 48k Apple II Plus in 6502 machine language. The Apple II was 1 Mhz so you would want to do coding tricks like unroll your loops for speed. Most of the instructions took between 2 and 4 cycles.
I think I remember the resolution being 280×192. The Apple II also had a interesting way of specifying pixel colors. If two neighboring bits were set then the color would be white otherwise the color would be either red, green, blue, or purple depending upon if the pixel was on a even or odd screen pixel location and also whether the 8th bit was set or not. Three zero bits in a row would give you at least one black pixel.
At the time I did not have an assembler so I wrote it by typing in all the instructions in HEX code into the Apple. The branch instructions in 6502 were relative to the current instruction memory location. So if I wanted to branch forward to an instruction 10 bytes ahead I’d use $0A and for branching backwards I’d use a negative number like $F4. For forward branches I had to estimate how many bytes my code would need to jump over and then go back and fix the branch instruction if I got it wrong.
Since I wasn’t using an assembler everything ended up being hard coded to fixed memory locations on the Apple. The upshot of this was that I had to write bug-free code because they would be a pain to fix. I actually did have a couple bugs where I ended up I having to JMP to a free memory area do what I needed to do and then JMP back using some NOPs to clean up in the patch area. Went against my structured code college stuff, but what else could I do. I think there was an assembler available for the Apple back then, but it was beyond my college days budget.
Funny how I can still remember what hex values correspond with which 6502 instructions – for example:
$20 – JSR — jump subroutine
$4C – JMP — jump
$60 – RTS — return subroutine
You had three 8 bit registers available to do computation with, but only the A register could be used for addition or subtraction. You could only increment (INX,INY) or decrement (DEX,DEY) the X and Y registers. There was an add with carry (ADC) instruction so you could do 16-bit computations easier.
I wrote this game for the technical fun of it. It was published by Earthware Computer Services, but never really sold. I actually played it online a few months ago somewhere online.
After Zoo Master came out I made my home town paper which made Mom and Dad proud.