Friday, February 11, 2011

So true....

Why I don't play MMO's anymore...

Read the text.

Wednesday, January 12, 2011

Terrain

This post was supposed to come after part 2 of my game design post.  However I apparently can't be bothered with that now, I've got code to write!  I'm doing no less than 3 active projects.  Well, those plus some brainstorming and ideas floating around, and all that outside of work, family and church responsibilities.  (I'm now teaching the 6 year olds sunday school.  So far it's pretty fun!)

First, I'm working with a friend on some iPhone software to control hardware that he built.  He's gotten an older iPhone 3G to control a comcast cable box and his TV.  So we're probably going to go into business together to sell attachable hardware that acts as a TV remote.  We'll see how that goes, we both expect to make little money off of it.  I think it's hobby money for him and mostly a favor from me, but if it makes enough to cover our initial costs I'm ok with that.  I mean how many people can say they have helped build hardware and software that attaches to an iPhone?  =)  That's project one.

Project two is a bit more public so far.  You may not know that Garmin opened up their own geocaching website, opencaching.com last month.  I'm looking to do with it's capabilities what I intended to do years ago.  When the iPhone first allowed 3rd party apps on the app store and I thought I could work with geocaching.com to make an app.  What was the point you ask?  I had a plan to make geocaching software that is easy and seamless to use.  That doesn't require a computer.  Something you can simply use when you think about it.  You can prepare offline if you'd like, but no real preparation needed.  Open up the app and use it.  It's been pretty fun so far to do and with this project I'm feeling like I'm (finally) hitting my stride with iOS programming.  Maybe I'll even port it to android.  Well, probably not, but it would be fun.  You know, with all of my extra time.  Doh.

Lastly is the project I'm most excited about.  Mostly for my geeky self, but still something new and exciting that I've never done before.  Well, not anything other than plain text.  That's making games.

The end goal is to take the initial design of what I and a friend came up with in high school.  Slycrel.  (I really need to post about that too don't I?  I need a blogging secretary)  For starters though we wanted to make a simple dungeon crawl.  Since after some discussion we realized that to make the entire game at first...  well, it likely wouldn't get finished.

So I pulled out my favorite 2d graphics engine for iOS cocos2d.  There are lots of games made with this free engine already and I've used it before in some small side projects.  I then found some great tutorials on how to build a world out of tiles.  It turns out that there's a really cool free application that you can download to make 2d tile-based maps and cocos2d uses it. There are 3 parts to this tutorial and I followed all 3, doing some heavy modifying to the third.  That was new year's day, and I had a lot of fun doing it.  I now had a ninja game where a ninja went around collecting cactus roses and bird enemies flying at him.  My kids have a good time with it.  What's cooler than ninjas in the desert throwing ninja stars!

I then set out to do something harder.  I am not content to simply make maps and levels to go through.  I want the computer to do the hard work.  So I set out to learn about how I would go about making a tile map entirely within the program that uses it.  The initial answer was to generate some XML files that looked the same as what was output from the tiled app.  I wasn't happy with that.  So I did the next best thing -- I made a template for my maps in tiled, that I could use to generate in my program.  I also made my own tiles with simple graphics that I swiped from some earlier slycrel projects as well as solid colored tiles to have something definitive.

After a bunch of debugging and general grumpiness, I was able to not only throw together a map, but add crude roads and trees on top of it!  nice!


Uh...  great!  Clown barf!

I should back up and explain what the tiles are above.  Blue is water/ocean, brown is dirt/earth, green is grasslands/plains, the odd half-circles are hills and the grey represent mountains.  On top of these are two different kinds of roads (straight and a bend) and trees.  Not particularly map-like.  It's...  well, random.

Really it looks like nothing, but I had my foundation.   My friend and I discussed ways to do this and he found an excellent article online about something called height maps.  Shortly thereafter he made a height map implementation in java and sent it my way.  After much pain with 2 dimensional arrays (sorry, TMI I'm sure, but that was the lion's share of the time embarassingly enough) I finally got it working.  I modified his code a bit by porting it to objective-c for use on the iPhone and made it return percentage values for the height map.  I then took the above templates and used the height map we generated (as percentages) to populate the tiles based on height, or in this case, elevation.

Here, i'll give you one of the better screenshots of my efforts.  It looks almost intentional!


I'll try to get around to my part 2 post here in a few weeks.

I better run, lots to do.  More later!  =)

Thursday, December 23, 2010

THought I previously posted this...

... but I can't find it here. So I'd like you all to go to this link and read a few of these.

Your day will go better, I promise. =)

Merry Christmas!

Wednesday, December 22, 2010

Minecraft

If you build it they will come.

Or something.

Check it out if you're into legos and building stuff.  It's pretty cool from a tech point as well.



Part 2 of the last post is coming, but probably after Christmas.

Which reminds me, Merry Christmas!

Tuesday, November 30, 2010

Game Design Part 1

Ever since I was little I've loved playing games. When I was small we used to play games like candyland, checkers, aggravation and (probably a little later) rack-o, war and other card games.










I was introduced to video games at age 5.  It was in the fall and we were in Sears.  My dad pulled me aside and showed me the atari 2600.  I was glued to it and we got one for Christmas that year.



Since mid-elementary school, I've been programming with the intent of making games.  I started with basic on the commodore 64.  We figured out that pressing ctrl and break at once would sometimes take you back to the basic interpreter where you could view the basic source code and make modifications to variables.  You could then continue the game with your (usually fatally flawed) modifications.  Later at the library, there were computer magazines you could check out for a week at a time.  I still remember trying to type in the game "canfield" in GW-Basic.  I never got it to completely work, but I did figure out some errors in the printed magazine and got it to kind of run.  I remember having no idea what the asterisk, slash or parenthesis did, though I eventually figured out it was math related.  I found the issue, this is apparently January 1988 that I was working out of.  I think the cover helped as well, I was also interested in astronomy at this time.


In this era I was also enamored of the Grail Quest series of books and began shamelessly plagarizing by using the contents of the first Grailquest book I owned and making it into a GW-Basic game.  I never got very far but I sure did have a good time with this series and learned a ton about programming. I did ghastly things like changing the screen background color randomly as well as randomly changing the text color.

In that era I played around some with my good friend's Apple IIgs and was introduced to all sorts of good games (and good times!), playing hardball 2 while waiting for the bus, zany golf, space quest, monte carlo and others.

Later on in high school I did some BBS programming which I briefly mentioned at one point.  Did I ever actually do a post about slycrel?  Maybe another day.  I enjoyed playing Doom and Doom 2 with the guys at school along with master of magic, civilization and others.





One of the guys I played with from school was the principle's son.  There was a policy of no gaming on the school networked computers, but my friends went so far as to create a key logger that got us admin access.  We played both sides of the fence, keeping other kids out (sanctioned) and playing games ourselves (unsanctioned).  I got a preliminary knowledge of novell netware 4 doing that, which was very interesting to me.  I've never used it since, but conceptually it was a big deal, my first real networked IT experience.

After high school I had just about given up on gaming when I found half-life.  Half-life gave me faith that the rest of the world wasn't stupid and that good games were still out there.  I decided to not give up on gaming at this point and still have some hope.  College was just around the corner, and who knows where I would end up.

(To be continued...)

Thursday, October 28, 2010

Wednesday, October 20, 2010

Check this out

This story is kind of like a lottery winner story.  Makes you want to go out and buy a ticket.

I should really get back to my project.  Because I'm as much of a gambler as anyone out there.  =)