Category: dev

[This is a crosspost from the Ludum Dare competition blog.  You can download my entry here.]

This was probably the best Ludum Dare weekend I’ve had.  My game was more than just a tech demo or an ‘unfinished’ idea.  Of course, they never are truly complete after 48 hours time; there is always something else that can be tweaked or added.  When all was said and done, however, my entry was a playable game.

Background

The theme was not one that I had put much thought into before it was announced so I really had zero ideas at Go time.  One thing that kept popping into my head was the Kroz series of games by Apogee software back in the late 80’s/early 90’s.  They’re all pretty much the same engine with a new collection of levels, but one was called Caverns of Kroz.  The object of the game is to take your hero through twenty or thirty levels to find or capture some relic.  Along the way you had to run, whip or out-maneuver swarms of monsters and solve puzzles.  I had always thought those games were neat, and it would be interesting to try and ‘recreate’ some of that nostaliga.  Caverns of Kroz didn’t have anything special that made it more caverny than the rest in the series, but I thought I could do better with actual graphics instead of ASCII art.

Kingdom of Kroz

Kingdom of Kroz

20090830_202424867

LoneStranger's Caverns

(more…)

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.  😉

The 13th Ludum Dare 48hr Game Programming competition starts this Friday, so it’s time to get the tools in order so there is less fussing when time is running short.  Also, my wife and I have been invited to Thanksgiving, The Sequel this Friday, so I won’t be home when the topic is announced.  I’ll try to check in to LD.com with my phone so I can at least start planning things out in my head.

So let’s take a look at what I’ll be using… (more…)

The next full fledged LD competition is still months away, but I was thinking the other day about concepts and ideas that I’d like to try.  If the theme is right next time, perhaps I’ll use one of these.

‘tabletop’ wargame – Something along the lines of Axis & Allies.  Simple combat and strategy.  Perhaps even as simple as the old Global War bbs game would be doable in 48 hours.  Global War was troops only, while Axis & Allies has many unit types. 

Economic/Military strategy – Like Nobunaga’s Ambition.  Might have to simplify the combat a lot in order to get it done in 48 hours.  It also would be difficult to balance and tweak the economics.

play by email game – There was a game a few years back where your Kung Fu fighter fought against another person’s Kung Fu fighter.  You would challenge them by sending them an email and then it would play the match, and send the results back to you and the main server.  After awhile you would level up.  It got kinda weird when you had multiple challenges out and leveled up after one of them, but I’m sure there is a way to work around it.

sidescroller – I’ve always sorta wanted to make one of these, but never really got around to trying it.  When I was in 3rd grade, my friends and I used to make video games–on paper–and it would be neat to actually do it.  I think I have one or two of these sheets back at my folks’ house, so next time I’m there I’ll grab them.

Driving game – I think if you break it down to the basics, and stick to simple features, you could do a driving game.  Wouldn’t want to overdo the physics.  I’m thinking a lot more like Outrun than Gran Turismo.

Sports – It would be neat to come up with some kind of new sports game that could be simple enough for a 48 hour compo… and also fun.  Combine two sports or come up with a new one. 

Any types of games you’d like to prototype if you had a chance and a compatible theme?

It’s time again.  Seems like just a short bit ago I was working on LD48 #11, and maybe it was.  The contests are on a much better schedule now which should help in participation. 

I’ve been keeping myself busy working on a reborn and re-imagined project from back in ’03.  I’ll probably release more info on that when I have something good to show off.  If we get a compatible theme, perhaps some of the work on LD48_12 can be reassigned afterward to my other project.  Honestly, working on that project the past week has kept my skills and mind frame in the perfect place for the LD48.

Last time around I had to take time out from the alotted 48 hours to attend a baseball game.  I won’t have that problem this year, though I am in the mood for a good egg and bacon breakfast at a local joint Saturday morning.  I hope to remember to take a picture of that for the food compo.

This time around isn’t going to be much different than last time.  I’m going to use mostly the same tools as before:

  • Java 6 SDK
  • Eclipse 3.3.2 IDE
  • Photoshop CS2
  • HP OfficeJet 6450 All-In-One for scanning doodles
  • No Fear Energy Drink (Go Boris Said #60!)
  • Everlasting Gobstoppers
  • mIRC for chattery
  • Killer Game Programming in Java and the base code I used from last compo.

The only thing we need now is a theme!

Good luck, and see you in 1 day, 9 hours and 48 minutes!

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.