Tagged: development

My basecode For LD48_13 is largely the same as the past two competitions.  I have updated it a little:

  • Classes are now organized into the package net.lonestranger.common, game and network.
  • Network isn’t really too useful yet.  The only class that exists in it is called Report.  It’s job is to take a string of data and send it via POST to a website, where it can be digested as fit.  For example, sending scores back to a central repository.
  • You can take jpg screenshots by hitting F10.  They are named based on the current date/time and dumped into the working directory. 

Here is the link to download it.

I didn’t really list my goals in my declararion post a few days ago, so I’ll do it now.

  • Keep the same art style as last time.  I sketched things out on paper and scanned them in so I could colorize.  Keeping with bold colors and gradients is probably what I’ll do.
  • KISS – Keep It Simple, Stupid!  Making something too complex is just a recipe for a headache at 1pm on Sunday afternoon.
  • Make useful additions to the basecode that can be used in later competitions.  The screenshot stuff is an example of something I did previously that helps out a lot.
  • Finish most of the work by Saturday night so I can spend Sunday polishing.

Ok, time to finish work and then I’m off to Thanksgiving, The Sequel, but I’ll check in after 8pm Pacific tonight to see the theme I need to start thinking about.  I expect everyone to be in FULL CODE MODE when I get back.  😉

BlockOut v0.LD48_11 (4/20/08)I managed to cobble together a mildly playable version of my game in time for the end of the Ludum Dare 48 Game Development  competition this weekend. 

It’s a concept that I had been toying with this past week, jotting down some ideas and refining it along the way.  Quite simply, it’e the game Breakout, only with a twist.  In regular Breakout, you move the paddle back and forth on the bottom to keep the ball from falling off the screen.  At the same time, you are trying to use the ball to destroy all the bricks on the screen.  In my game the computer plays the part of the paddle and you instead try to defend a goal at the top of the screen by placing bricks. 

It’s a neat idea, but I by no means was able to implement all my ideas.  The number one thing that was lacking is multiple types of bricks.  This version only has two: normal and 2X Hit.  As you can probably guess, normal takes one hit to be destroyed and 2X Hit takes two.  I wanted to add more bricks that did weird and interesting things when the ball hit it, like explode or eat it. 

You build your wall of bricks by buying them from money you’ve earned while playing.  So far, the only two ways you can earn money is to play, where you get one credit every so many seconds, or when the computer misses the ball with the paddle and it goes off the bottom of the screen.  Eventually you’ll be able to get money by doing other things.

One thing that doesn’t seem to work very well is the collision.  The ball seems to react well when it hits the top or the bottom of the bricks, but if it hits the side of two bricks, it can sometimes bounce in a way that causes it to go ‘inside’ the wall.  I have a few ideas on fixing that but I didn’t have enough time to implement them.

The AI could be improved, letting it think ahead instead of having it just react to the current position of the ball.  If I project the location it will be at when it gets to the bottom, I could have the paddle waiting for it.

There are no skill levels implemented.  Smarter AI, less money and multiple bouncing balls would make it more challenging and could be set to differing degrees.

I also didn’t do any sounds for it, as the compo requires that all resources be generated within the 48 hours and my recording soundcard is not quite working.  I will create some for the post-compo version of the game.  Same for music.

I tested it on the Sun JVM 1.6.0, though it should work on on JVM 1.5.0.  It will not work on the JVM 1.4.2, as it requires System.nanoTime() that was introduced in JVM 1.5.0.

I programmed it in Eclipse 3.3.2, and used Photoshop for the graphics.

You can download the game here or the source code here.

[update: changed the above link to the .zip file.  The jar just wasn’t handling some class-pathing stuff well and I don’t have time to troubleshoot it right now.]

The LD48 #11 Game Compitition starts in about eight and a half hours. The theme has yet to be decided, but it seems like it will most likely be one of the following: Minimalist (+28), Endless (+24), Defense (+22) or Flood (+15). My personal wish is to get Defense, as I’ve been thinking about a good concept this week for it. I haven’t been able to come up with anything decent for Minimalist yet, and Endless and Flood shouldn’t be too hard to design about. I don’t think we’ll get too many Tower Defense entries for the Defense theme, but even if we do, there has got to be at least one of them that does something in a new and interesting way. 

When all is said and done, and I’ve completed a game, I’ll post it here.  If for any reason I don’t get it done… well, I’ll still post something.

So if you have a (mostly) free weekend and you want to try your hand at designing and coding a game in 48 hours, come by the compo. Even if you don’t have the time, come by and check out the reports and progress of those who are.  You can also check my personal coding blog at LD.

zombies.jpgI saw a neat post on Playstation.Blog this morning about an internal event held by thatgamecompany called 24 Hour Game Jam.  The object of the event is to create a fun complete game in 24 hours on the PS3, with the specific goal being that they could play it in the office and even more importantly, it had to be fun. They start at 10am on a Saturday and finish up the next morning at the same time.  When 10am hits, that’s it, they are done. 

In this first jam, they created a game called Gravediggers.  The post includes a video with five people playing through a round.  The graphics themselves remind me a little of the original Joust game, with the brown floating platforms and blockish characters.   The players are represented by small rectangular blocks, and the playing field offers a lot of space to run around and shoot.  The object is to kill the rampant zombies with a gun and collect the heads to return them to the crypt for points.  Heads of the other players can be returned for extra points.  The side-view perspective shows generated terrain and two crypts randomly around the field.  The players hop from platform to platform, and over little hills.  They can also shoot through the terrain if they can’t get around it to score those zombie heads.

This reminds me of Ludum Dare‘s 48 Hour Game Programming Competition held twice a year (voting starts for the LD11 theme April 11th).  There are a lot of neat little games that come out this competition, many of them that look as good or better than the NES games we used to spend hours playing as kids.  They’re just as fun too.  Entrants are allowed to use a wide range of development tools and can create on any platform they wish.  The only caution is that if other people can’t play your game, they can’t vote on it, so most entries are done on Windows.  If you are an amateur game programmer, give the LD11 a shot.  If I can get a decent desk for my computer by April 11th, I may try to enter.  Trying to type with the keyboard on an endtable is not fun.  I submitted a sad entry for LD2, many years ago.  Sad enough that I won’t bother to show you.

Shake these two things together in a glass, add a little lemon–here’s my third topic.

Sony hasn’t moved forward with any kind of amateur software development kit for creating PS3 games.  Sure, it is possible to create games for the PS3 running on Linux, however, there is no formal tool package to make the process easier.  Requiring an install of linux in order to play these also doesn’t do anything good for widespread distribution to the community. 

I don’t have a 360, so I haven’t tinkered with their system but based on what I have read, Microsoft seems to be doing a good job with their XNA community development project.  Everything from providing the tools, developing on a PC, MSDN reference, and the end-user distribution is fairly well thought out.  Of course, Microsoft has been giving out development tools for years now, whereas Sony has only been distributing professional tools directly to the game developers.  They have been touting how much easier the Playstation EDGE dev kit is for developers so perhaps a stripped down version of it would be the answer for the amateur side.  

These little amateur games fill a niche in the games industry but they haven’t really penetrated console systems.  How many hours are spent each day playing silly little Flash-based games.  It doesn’t take a three year cycle to create an interesting game people will spend hours playing.  All you need is a simple concept implemented in a way that is fun.  Bejeweled and Tower Defense are good examples.  PixelJunk even took the Tower Defense idea and twisted it enough in an attempt to get Japanese players to like it.

While we’re at it, I think I’ll mention that Microsoft is expanding their XNA in version 3.0 to allow development on their portable Zune system.  I don’t know about the technicalites of the PSP hardware and how software is run on it compared to the PS3, but I think that Sony should not forget the PSP when working on their dev kit.

There are more high-profile things that people might like Sony to work on, including Home and better in-game communication with our friends.  I agree, these things are important.  In fact, Home has arcade machines in some of the spaces, and I think that is an opportunity for people to create mini-games.

There are many aspiring game developers who could use this kit as a valuable experience for a future job.  There are also people who don’t want to submit themselves to the grind that is the professional development cycle and they can use it as a way to express themselves in a less-demanding manner.  There is no reason why Sony shouldn’t spend the resources to get a dev program going.  It really is the ultimate in user-generated content.