Search This Blog

Monday, January 31, 2011

Gears of Gubble

Yes,  I know,  this is supposed to be a brand new game,  but hey,  I had this gear model lying around left over from Gubble,  so it seemed like as good as anything to test Blender object importing in Action Jump:



Click here to try out the latest:  ActionJump 0.006

The game really hasn't changed any since version 005 except that there are some copies of a gear object in there now.  It took me a while to get collision detection working.  Turns out that the collider would throw the player off the ledge due to round-off errors,  so I had to apply the old sledge hammer:  Set the player z coordinate to 0 every frame (it's x for left right, y for up and down,  z for in and out).

The collision detection is still somewhat of a placeholder anyway,  so I'm not too concerned about the funkyness that allows you to go under the gears by just pushing.

It's pretty amazing that the gear model I'm using here is the exact 3D Studio model that was used in the original Gubble 15 years ago.  Back then we were using 3D Studio Max 1.0.  Some years ago I switched over to Blender because it's good and free,  and because it can import those old models.

Well,  that's it for today.  Who knows,  maybe we'll have sound tomorrow.

-- fxl



Sunday, January 30, 2011

My new boss: You

That's right,  you're my boss.  It's often said that the customers is the boss,  but for this project it's literally true.  

Today there's no new version of the game,  just some reflections about the first week.  The goal of the project is to develop a brand new game.  And the development process will be laid bare for everyone see,  as long as they have an internet connection.  And lest we forget, we want innovation, fun and excitement.

Back in the early eighties when I started with game development it was pretty easy to be innovative.  It was easy to think of things that hadn't been done before.  I'd know if it was new because I played all the major games,  and many of the minor games.  This is impossible today with thousands of new games getting released every year,  and that's only counting commercial releases on the consoles.  This is where you, my new boss, can help.  I'll be relying on you to warn me if my forthcoming innovation claims are valid.

So what happened during the first week?  I started with a blank slate and now we have a playable prototype.  It feels very early,  but many basic elements are there already.  It's not a real game yet and it's too early to tell if it's going to be fun.  There are no known major bugs,  and I've yet to see it crash.  The framerate is 1000/sec on my desktop PC with a cheap graphics card,  so there's no performance issues.

Was there some real innovation going on?  Well,  not so much in the game itself,  but this kind of blog is something I haven't seen before. It feels like a very new way of working,  and so far so good.  There's not that many readers yet,   but it's pretty early.  It should help to get the game farther along.

There's some real dangers with revealing the development process publicly.  The biggest problem is how to handle it of someone posts a game idea,  the game idea gets used in the game,  and then when the game is a big success they sue for royalties.  So far this isn't a problem because nobody posted any game ideas yet.  So to nip this problem in the bud,  here's my policy on this:  If you contribute a game idea and the idea ends up in any of the posted versions then your name will be listed in the credits.  I'll be crediting your real name or a handle if you prefer.   You also get one free copy of any future paid versions of  the game and all sequels.  You don't get any cash.  Sorry,  but I just can't see administering real royalties for this.  If you feel that you deserve royalties for your great idea, develop your own game,  but please don't post the idea on this blog.


Knowing that I have to release most every day,  and that a whole bunch of people will be looking at every released version encourages a very solid development style.  It's really necessary to fix any bugs immediately,  and to test the game before every release.


I'm really looking forward to next week.  Stay tuned for more new versions of ActionJump!

--  fxl











Saturday, January 29, 2011

Lives, Waves and Moving Platforms

One by one the basic elements of a classic platformer are getting thrown in there.  With apologies to Mario I've added a flagpole at the end,  sort of:


You can play it here:  ActionJump 0.005

Once you get to the end of the level the next wave starts immediately.  After about seven waves you can stop playing,  you've seen all there is to see.  You can now lose lives if you fall into the abyss,  and your score increases by 1000 every time you touch the flagpole.  At this point it's common for somebody to say "ship it",  sort of a joke about how the clueless marketing department wants to ship anything that looks like a game.

Well,  we started shipping four versions ago, in a way.  This prototype game is definitely playable now,  but there's a bunch of things missing such as sound (that's right,  we still don't have any sound),  enemies, or a main character, theme, story, I could go on and on.

On the technical front,  Unity3D is working out very well for this project.  It's time to create some real 3D objects using Blender.  So far I've been working exclusively inside the free version of Unity3D (version 3.1) with a little bit of image editing using Gimp2.  So next I'll be using Blender to make some game objects that are more interesting than cylinders, boxes and spheres.

-- fxl
  
    

Friday, January 28, 2011

Jump Bug

Just as I'm posting this I realize that there's a bug.  Only one?  No,  there's more than one...
It's Friday,  and well,  it's been a busy week.  Normally I'd fix the bugs before releasing,  but I'm out of time,  and the bugs are minor,  so why not.  There's going to be bugs during development,  despite my best intentions.

The most obvious change is that we now have a title screen.  Here is it:


Which brings us to the first bug.  The instructions fail to mention that we now have jumping too.  You can jump by pressing the space bar.  Click here to try it out:  ActionJump Version 0.004

The second bug is that the TM isn't lined up with the Game Title on the Title Screen.  This kind of pickyness is what separates the amateurs from the pros (insert cool smiley face graphics here).

Which brings us to the whole issue of Trademarks.  I'm not a lawyer,  so please do your own research on this rather than taking my word for it.  I now have a trademark for Action Jump, the video game.  How did I do that?  I released it to the public and used the "TM" letters to let everyone know that it's my trademark.  That's all there is to it, no expensive registration or legal fees required.  Of course I'm risking incurring the wrath of other companies who might think that I'm infringing on their trademark.  A quick Google search tells me that I'm probably OK.  I have yet to find another video game or software product with this name.  There is a company out there with that name and URL,  but they are in a different trademark category.

It's similar to Bentley Bear.  The Bentley car company would have a trademark infringement claim against Atari if it weren't for the fact that Bentley Bear isn't a car.  By the way,  Bentley Bear was originally called "Bear Braveheart" (my idea).  This was several years before the famous movie came out.   Atari decided that "Bear Braveheart" was politically incorrect (yes, really)  and thus the name change.

Am I going to work the weekend?  Yes.  I can't wait to make the game playable.

--  fxl







 

Thursday, January 27, 2011

Collisions

We now have some action in ActionJump.  The camera is following the player and there's some simple collision detection.  We're still not jumping, but the player is falling from one ledge to the next, and it's starting to look and feel like a game:


Here's the link to today's playable web version:  ActionJump Version 0.003

The collision detection between the player and the ledges doesn't quite work the way I want,  but it's a good start.  There's still no game structure,  such as scoring, winning,  title screen, etc.  so maybe it's time to put something like that in there.  As we work on the controls we'll want to tell the players out there how the controls work,  so a small intro screen that tells us how the controls work would be good.

If we're going to fall off ledges we need a lives system so the game doesn't just end when you fall off.

Using a rigid-body physics engine in a side scroller is probably overkill and could introduce performance problems on the phone versions,  so we might have to put in an efficient 2D physics engine eventually.

In case you're wondering what that weird background is doing in here,  it's what happened when I was playing around with the artistic effects in Gimp2.  It's just a single placeholder texture.

So next time we'll have better controls and a title screens with an explanation of the controls and a lives system.

-- fxl

Wednesday, January 26, 2011

Scrolling

Yes,  we now have ads interspersed with the blog postings, and on the right.  Do you like them,  are they evil, or do you just ignore them?  Let me know.  This is an experimental blog,  so your feedback is appreciated.

Meanwhile in ActionJump land,  we now have scrolling,  a blue background,  and a test brick texture for the ground:


You can try it here:  ActionJump Version 0.002

I also made it 800x600 so you can see the details better.

The controls are still the same,  left and right arrows move the player left and right. There's no collision detection yet.  I'd say we're still in hello world mode.  We should have something playable any day now,  really.

There's two ways to make games:  iteratively or design and implement.  I prefer the iterative method,  also called "extreme programming" or "agile programming",  which I've used every since my first software project in 1973.  It's pretty simple:  Design a small change,  implement, test,  and repeat.  That's all there is to it.  Testing is critical.  If you find any problems or bugs,  fix them right away before adding any new features.

The worst problem right now,  aside from the fact that it's not playable,  is that the camera isn't following the player.  So next time that'll be fixed, I hope.

-- fxl

Tuesday, January 25, 2011

Hello World for Action Jump

Well,  here it is.  A totally simple game,  with the wrong controls,  and no scoring or title page.  As promised,  here is a screenshot:



The yellow ball is our player placeholder graphics.  That weird texture below the player is a test to see if textures work. You can move the player left and right using the arrow keys on the keyboard,  which is not the real controls yet,  but hey,  it's version 0.001.

You can try it out at this link:

http://www.actionjumpgame.com/WebPlayer/WebPlayer.html

If you don't have the Unity Web player installed on your system you'll need to install it,  but it's quick, safe and easy.  This web version works on PC's and Macs, but you're out of luck on an iPad or iPhone since the Unity player is incompatible with those as of now (January 2011).

I had to call it something,  so I'm using "ActionJump" as the temporary name.  Most non-sequel video games start with some kind of placeholder name.  It's often not until the end of the project when name is finalized.  If you're lucky then you can keep the first name.  Just in case,  I did a quick check using Google and found that there are no famous video games using that name.  So far so good.  I kind of like this name,  but only time will tell if it's a good name for this game,  or even if I can legally use it.

Normally we don't need to think too much about the name this early,  but because I'm letting the public in on the development it's necessary to at least not call it Halo or MegaMan.  It's tempting to call it Gubble 3 and be done with it,  but this is not yet another sequel.

I'm using www.actionjumpgame.com as the host for ActionJump.  This is a new website,  and the only thing on the site is the ActionJump game.

My next goal is to get the game to a playable state with the controls like I described them yesterday.

-- fxl








  

Monday, January 24, 2011

How to start

When making a new game,  how do you start?

One common way is to come up with a basic idea using words.  Something like this:  An FPS  (that's a first person shooter for you newbies) where you're a robot exploring the caves of Venus.  OK,  that's a pretty uninspired idea,  but you didn't think I'd reveal one of my many truly revolutionary new ideas just to illustrate this point,  did you?

Another way is to interatively develop a prototype and see where it leads.  In our FPS example,  you could maybe just make a box and move it around some terrain and tunnels.  We're shooting other boxes and make it fun to play.  Then later on you add the theme, story, etc.,  and maybe turn the box into a robot.

We could also start by sketching some stuff on paper to see what develops.  We could draw something that looks like a robot in a cave,  shooting same space bats and other strange alien creatures.

For truly new stuff I prefer the prototype method.  There's no substitute for getting a feel for the controls early on.  For me the heart of most games is the feel of it.  If we can get the basic movement and actions nailed down right away the rest can be added fairly easily.  Changing the controls later is often difficult and has too many repercussions.

So, my first decision on this as yet unnamed project is to build a prototype first.

The next step is to select our tools.  Can't build a prototype without tools.  This one's easy.  I know Blender, Unity3D and Gimp,  and they're all free and amazingly good.  It's especially amazing how good they are for the price.  Did I say they're all free?  The only catch (as of early 2011) is that Unity3D is only free if your company had turnover of less than $100K last year.  Yes, I qualify for the free version.  Blender and Gimp are open source and completely free.  I don't know what audio tools to use yet,  but I'll use placeholder audio for the prototype,  so I won't need anything fancy just yet.

The last step for today's blog entry is getting started with same basic decisions about the game.  Let's tackle these one at a time:

Target Game Systems:

     Hmm.  That's a tough one.  This blog thing is putting a bit of a wrinkle into this decision. There's a plethora of systems to choose from. In Unity I have access to iPhone, Android, Web, PC and Mac, and the big three consoles.  For the prototype using Unity Web seems the best choice because that'll allow me to easily deploy the various versions for you blog readers.  After the prototype is working and good I'll decide on the target systems for the commercial versions.  Right now I'm leaning towards iPhone and Web for starters.

Game Genre:

     The first rule here is simple:  write what you play.  I've played a whole lot of video games in my life.  If I had to list the major genres, it would be:  Platformers,  FPS, RTS, classic arcade, music games, sports, racing, Zelda.  It's kind of weird that I'm putting Zelda into it's own genre,  but hey,  this is my list so I can do that.  Looking at that list the Platformer genre is the obvious choice for me.  I've never developed a platformer even though it's my favorite genre,  especially lately with the resurgence of Super Mario and Donkey Kong Country.  As a side note,  if you don't own a Wii,  buy one and then play Super Mario Galaxy 1 and 2, Super Mario Brothers Wii, and Donkey Kong Country Returns.  These are the giants on whose shoulders I'll be standing.  ("If I have seen a little further it is by standing on the shoulders of Giants" Sir Issac Newton.)

2d or 3D?:

     Goodbye 2D.  It's very strange.  My first game, Crystal Castles,  was an attempt to do a 3D game without 3D hardware.  Now it's almost 30 years later and I still haven't released a real-time 3D game.  The only 3D games I worked on haven't seen light of day.

     The older platformers were all 2D until Super Mario N64 showed us how to do them in 3D.  Lately there's been a trend towards doing the old 2D style platformer gameplay but using a 3D engine.  This is a good way to get great looking graphics, keep the controls simple, and avoiding nasty camera issues.

     So,  to answer the question in more detail, real-time 3D but using a 2D side scrolling look,  very similar to Donkey Kong Country Returns.

The Main Character:

   I'm a programmer.  My art is pretty good for a programmer,  but I'm no pro artist,  so I'm not going to do a cute furry animal or human.  I could do a robot or maybe a square,  but I'm looking for something more innovative.   I'm going to have to put in a placeholder character into the prototype and decide on the real character later.  Maybe I'll let the character evolve just like the rest of the game.  I'll start with some geometric shape like a sphere,  and squash it when it bounces.

The Controls:

  Left, right, jump.  That's the usual platformer minimal control scheme.  The problem is that on the iPhone we don't have any buttons,  and simulating three buttons is one or two too many.  Having just one button is too limiting,  so I'll see if I can do the whole game with two buttons:  Action and Jump.  The Action button could be anything from "speed up" to "open door" to "jump left".  The meaning of the action button can change from level to level.  I'm visualizing the player keeping his left hand on the left button and the right hand on the right button.  This works on all of the platforms,  which is a big plus.

The Camera:

   It basically follows the player,  and possibly zooms in and out depending on what the player needs to see to play a particular section of a level.  It can also zoom at the beginning and end of a level for effect.

Player Physics:

   The player moves from the start of the level towards the goal.  He jumps when the jump button is pressed.  He accelerates (up to a max speed)  when the Action Button is down,  and decelerates down to normal speed when the Action Button is up.

The Levels:

   The prototype will just have some plain ledges and kill areas.  If you touch a kill area you die.

Scoring, Lives, etc.

   This can wait for another day.

Now What?

   Time to get started and built the prototype.  Next time I'll have a screen shot from Version 0.001.

fxl

Sunday, January 23, 2011

Games are my life

Yep,  it's true.  I've been playing and creating games all my life.  There's some serious games,  like math and programming,  and games just for the enjoyment of participating,  like skiing and playing piano.  There's also coin-op games like pinball and classic video games like Centipede and Crystal Castles.   And then there's the crazy world of being a video game developer in 2011,  which is a game in itself.  As you can see,  I have a very broad interpretation of the word "game".

This is a free-form blog.  The only rule is that I have to write something game related in it every day.  I got inspired to do this by watching "Julie and Julia"  a very good chick-flick,  even for guys.  In this movie Julie starts a blog about cooking her way through Julia Child's famous French cookbook.  It's a mammoth undertaking to cook over 500 recipes  in 365 days.  I don't have such a well-defined goal yet,  but there is a goal.

I'm planning to develop a brand new video game from scratch,  so some of this blog will be about that.  It's truly from scratch and mostly a solo effort.  I'll be doing the art, music, sound effects,  and of course the design and the programming.  It's sort of like an author of a novel looking at a blank page.  It's very exciting to know that anything is possible.  There's no name,  no publisher,  no boss,  just the vague notion that it's going to be something new and fun.

fxl