Friday, December 30, 2005

Santa's Sweat Shop - Some Fine Tuning Required

It has been an eventful couple of days. I am really keen on the new idea of adding a Challenge Mode to the game. I think it really adds a new dimension to the game. I have come up with 5 or 6 challenges that are all based on the same gameplay engine, but have some of the tuning paramaters changed to meet the game mode.
I am not going to go into too much detail because you will be able to see for yourself in a couple of days. I need to use my time wisely now - to make sure I have tweaked all the parameters correctly and set challenges that are obtainable - but not too easy!
One obvious problem is that I am totally biased because I play this game a lot to test it out!! Hopefully I can get the right balance!

I have all the game saving done and I decide to not put in an "initials" screen, because in every game I ever play I usually put something like "AAA" cause I just can't be bothered - after all, who the hell else is playing my GBA?? I know not everyone will share this opinion with me, but this is definately one of the Bells and Whistles that falls off first!

I have done some revisions to the menus and the graphics to try to make it more "professional" - well you can be the judge of that shortly!

Wednesday, December 28, 2005

The heat is on in the Sweatshop!

We are now 3 days from the end of the dev competition!! Wow - time flies!

I have added in the user controls screen so that no external document is required to play the game - granted - this is a simple game! Also, I did some of the game save stuff when I thought of a great idea!

Since I don't have enough time to incorporate the crappy second level I have started, or to write a new one from scratch, I have decided to create a set of objectives within the existing gameplay.
Currently I have four objectives:
  • Gifts - get x gifts into the right sack before you run out of lives (this was the original gameplay objective)
  • Points - get y points. Since the gifts/points are not 1/1 this seams like a reasonable second objective.
  • Consistancy - place w gifts in the right sack in a row with no errors
  • Fast Free Life - get a free life with only packing z gifts


Although this has practically no effect on gameplay, it does give the user some goals and rewards which should make the game a little more playable/exciting.

As for the saving part, I am almost done for the 4 goals mentioned above except that I need to do a little reading on bit shifting to split up my numbers that are bigger than 8 bits. This shouldn't be too tough.

Aside from that - the other outstanding item is to create the level intro screens - which is a no brainer - but takes time....oh yeah, and I have to go to work for the next 3 days!!! Ackk it's almost 1am and I have to be at the office by 8am!
G'Night!

Monday, December 26, 2005

Another Level? Maybe not!

More than just a sweatshop? Well I spent quite a bit of time trying to create another level for the game. After trying out the core gamplay, I am not really impressed and don't find it to be much fun. So I think I am going to put it on ice for now and start working on the remaining "Must Have" items that are still outstanding.

1. Save High Score - definately MUST save the top score (or five!). It would be nice to input initials too.
2. Instructions on how to play the game - basic gameplay and some tips

Once of I have finished these two items, I will have to re-assess the time left and figure out what to do next!

Sunday, December 25, 2005

If the Music Moves You

Yes this post is all about the music!! I recently picked up a Guitar Port (made by Line 6) and if you play electric guitar RUN to the music store and buy this device! It is fantastic! It lets you hook your guitar up to your PC via USB and it has all kinds of different amplifiers and effects - you can make your guitar sound like the guitar in practically any song!

So, with my GP in hand, I decided to make the music to the game myself. Now, I need the file to be MOD, and of course, playing electric guitar is generally recorded as wav. So what I have done is cheat the system a bit.

I played my guitar and recorded it as 8 bit 11K WAV format. I picked a rythm speed so that I could easily divide my song up into 8 second chunks - then I import the wavs as samples into the MOD file using ModPLUG Tracker. Then I adjust the playback frequency to make the sample last the length of one pattern. It worked pretty well. I have a rendition of Jingle Bells (which consists of two patterns) and one of Auld Lang Syne (which consists of 4 patterns).

The obvious downside to this is the size of my ROM - but so far - I am still under a couple meg. I am going to try and get a couple more songs done to include in the game. I suspect that this method may also cause some performance issues - but I haven't noticed any problems in the gameplay.

Thats it for tonight...oh yeah... Merry Christmas!

Thursday, December 22, 2005

Left turn at the intersection of good & evil

As I mentioned before, I think my story line needs to change to reflect the overall look & feel of my game. This Santas Sweatshop is not at all believable!
To illustrate my point - here are a few screen shots of the menu, dialogue/story set up and gameplay. My artistic talents are best left in the code!
The menu is pretty straight forward, the gift box indicates your selection.

The dialogue screens can be sped up using A and skipped using Start. I am using the HEL Type function to type out the dialogue on the screen.

I have more metrics on the gameplay screen now. The number of lives left and gifts sacked are on the right. The numbers on the left track points used to earn free lives. The top number is the points collected, underneath it on the left is the number of consectively sacked presents. When it hits zero, your points/per package, shown beside it on the right, is doubled before it is added to the total.


I found and fixed the issue I was having with the gifts scrolling wildly across the screen and this morning on the bus - no game freezes!?!

I've been tremendously busy at work and putting in long days of C# coding but haven't lost my enthusiasm for this project at all!!

You comments, critisisms, & suggestions would be appreciated!!

Wednesday, December 21, 2005

It's the subtleties that get you noticed

It was another long night last night. Nothing major in terms of the overall gameplay was done, but I have added in some details. Things like a pause menu, updated some of the scoring variables, and tuned my random number generator.

I have a couple of wierd bugs that I am having a problem finding. They do happen, but I can't seem to find a pattern or a way to reproduce them.
    Problem 1
  • A gift will just start scrolling across the screen at very high speeds and never stop....although I found that powering off my gba fixes that!
I will comb through my game engine functions to see if I can find what may be causing this.
    Problem 2
  • Random occurances of freezing - usually happens after 3 or 4 games - everything just locks up...again, a pretty effective work around is to power off the gba!
This one is a little more worrysome - but suspect it must be running out of memory somewhere. I am going to review my init/destroy functions to make sure that all my objects etc are released properly. I think there are some debug tools that may help me if I can't find the problem through code review.

I am thinking of taking a coding break to start finding (or making) some music and sound effects. Also, it may be a good time to do v.2 of the graphics!

Monday, December 19, 2005

A little bit of house cleaning!

It has been a pretty intense week of coding and overall I am pretty happy with the progress!

If I look back at the schedule I have set, I think I am more/less on track. It looks like I am a little ahead, but I need to keep in mind that my graphics stink!!

No major change in the status, but I have done a lot of cleanup of the code that exists. In some cases, making it a little more modular and trying to reduce the number of globals.

I am thinking about how to educate the gamer about all the features of the game. My pet peave is having to read a text file or manual to understand how to play a game. In this whole last generation of gaming the need for manual has pretty much dissapeared - Yay! Right now, I am think of creating a few information screens as bitmaps and using the hel dynamic tiles functions to scroll/slide through the different screens when the user clicks on "controls" or "tutorial" on the main menu.

Sunday, December 18, 2005

Long night to victory!

Don't get me wrong - I did get in a few hours of sleep last night, but it was a long struggle to fix some of the problems I introduced yesterday!!

I tweaked my gameplay - so that now there is some motivation to get people to hurry along. As soon as a gift leaves the workshop it is worth x points. Each frame it is out of the workshop, and not in a sack - the value goes down. So the faster you get it in the sack the faster you get points. Once you reach y points, you will get an extra life.

Also, the zth consecutive gift placed in the correct sack earns you double points.

I was pretty happy with how that turned out and I am really gonna have to put in some time playing to make sure all the variables for x, y & z are set appropriately.

My biggest problem yesterday was that I incorporated a more substantial menu system, (ie Play, High Score, Credits, Controls), and made a goofy mistake somewhere that blew away all the text on my gameplay screen!! Anyways several hours in the wee of the night were lost search for my one fatal mistake. In the end I had to change "0" to "1". Ack!

Current State: Gameplay has been enhanced, one Severity 2 bug remains, and menu system has been created (though the content is low!)


Questions? Comments? Suggestions?

Saturday, December 17, 2005

Bug Fixing Fun

I don't have much of an update today for my GBA game for the 2005 Drunken Coders competition. I spent a couple hours this evening shoveling snow (20 cm today!) and a few hours BUG FIXING and no, it was not fun - in fact, it was quite frustrating!!

Actually the shoveling was metally soothing, but took a lot out of me physically!

Current State: Core gameplay elements are complete and mostly bug free! (haha - I know a couple Project Managers would get a real kick out of that statement mostly bug free!)

For the gameplay element, I want to encourage people to grab and throw quickly - so am thinking of a scoring/bonus system.

Thursday, December 15, 2005

Gameplay - New name?

Wow, I really went hardcore on the gameplay today. It is not very modular, which is bad, but my thought on that is that I can continue to optimize the code as I progress.

The basic premise remains:
  • Gifts are "thrown" out of the workshop

  • The elf needs to catch/intercept the gifts

  • The elf needs to throw the gift into the right sack

  • Score is incremented when a gift is thrown in the right sack

  • Lifes are decremented when a gift is missed, thrown in the wrong sack, or if two gifts collide (ie. you are holding one)

Here is a snapshot of a the game during play.
The controls work as follows:
  • A Button - When not holding a gift, it will accelerate the spead of an oncoming gift on the same horizontal level as the elf. When holding a gift it will shoot the gift towards the selected sack.
  • DPAD- Up/Down - move elf up and down
  • DPAD- Left/Right - move the target on the bottom.

You can see the yellow target is selected in this screenshot. It has a red ribben and silver border.

Anyways - I am pretty pleased with the progress today. The gameplay is buggy but nothing to worry about at this stage!

My background is pretty flat - if anyone has any suggestions on how to add some texture to the snowy ground, it would be appreciated!

As I started to play this game and let my mind wander, I am thinking of a different story line and a different premis - so don't be suprised to see a name change soon!

If you have any comments or suggestions I am happy to receive them! Want more details on something - just let me know!

Wednesday, December 14, 2005

Getting to the good stuff

Well, I've wrattled of version .1 of all my graphics for Santas Sweat Shop and I just couldn't wait to get into the gameplay engine so I decided to cheat ahead on my schedule and come back to the graphics if time permits.

Today I got started on the initialization of my background and sprites. Thanks to the HAM/HEL libs, this was pretty much a snap. What took some thinking was all the attributes that I needed to have on each of my sprites. (Position, speed, on screen, etc).

For my background I am using HEL's dynamic tile loading to create a bigger than normal background. This really isn't going to impact the gameplay, but it is pretty easy to do and I think it will make the gameplay startup a little more interesting - "scroll to position" instead of "cut to position".

Current Status: Main character is on screen with the backround loaded & scrolling to position.

Graphics - Santa's Sweat Shop

Ok, its a fact, I am TERRIBLE at doing graphics.


Exhibit A:bad graphics

I guess there is no point in providing more examples! I have done some thinking about the gameplay and basically gameplay will be from a top-down perspective. That said, I would like to have the view from a angle ~ so I can see the main characters face. I have no idea how to do this - so as you can see - my main character is perceived as he would be in a side scroller - but the camera is above!


Well some time to work on that - any tips would be appreciated!

Monday, December 12, 2005

Santa's Sweat Shop for the GBA

Ok, so a few things to get started with for the 2005 DrunkenCoder dev competition!

A couple considerations:
1. I only have 19 days to get this program done!
2. I work full time, and likely will have to work between Xmas and New Years

So I have decided to use VisualHAM as my development tool of choice and will take full advantage of the HAM and HEL libraries. (See my links on the right). I started out programming for the GBA with a couple of great tutorials for GBA programming with DevKitAdvance and DevKitARM. I managed to build a game and a bunch of my own re-usable functions, but they are a far cry from what HAM and HEL offer.

On that note:
A quick shout out to Peter Schraut (VHAM and HEL) and Emanuel Schleussinger (HAM) for their amazing work which is available to anyone at NO COST! Great job guys!

Back to business - I need a plan!
Dec 12 - 16: Create graphics (menu, storyline, gameplay background, & sprites) - I am not an
artist - see my sample menu screen. During this time I also need to nail down the gameplay details.

Dec 17-18: A whole weekend, ok, well some of a whole weekend - prototype the gameplay with no bells or whistles. User input, functional animation, and collision detection.

Dec 19-23: I will use this time to beef up the gamplay - add scoring and adjust complexity. Then I can start with the "fancy" stuff like, adding some animation, music etc.

Dec 24-27: I doubt my gameplay will be done, so I need to use this time to finish it off. Add in a start menu, pause during gameplay, maybe a highscore, and sound effects etc.

Dec 28-30: Well back to work, so my evenings will be spent doing TESTING and bug fixing. (I can test during my bus ride to work too!)

Dec 31: Well, hopefully a nice new year's eve!

hmmm... am I missing anything?

GBA Dev Competition

Drunken Coders are putting together a seasonal dev competition for the GBA, NDS and NES ending on Jan 1, 2006.
Since I have been doing some GBA coding for my hobby over the past few months, I think I may enter.

So my game is tentatively going to be called santaSweatShop based on a premis that you are an elf in charge of sorting the gifts that come out of Santa's workshop.

Competition & globablization has transformed our beloved jolly Santa into a ruthless boss that has no tolerance for mistakes. What's worse is that there are thousands of other elves with the same skillset as you that would love to have your job for a fraction of the salary!

The sweatshops are going to be tossing all the completed gifts to you and you need to organize them into the correct sack. As you get closer to christmas, the gifts come faster.

Sadly, your days of employment are numbered and inevitably you will be replaced - the goal of the game is to last as long as possible!

More details to come! Any suggestions / comments are most welcome!