Showing posts with label rubbish. Show all posts
Showing posts with label rubbish. Show all posts

Friday, 14 September 2012

And then things get artisy

I'm nearing the end of major programing, I still have several things I have yet to build and some parts of the code I'll have to rebuild for better performance however the majority of it is behind me. I got the stat bars art redone, still rough but it now is more along the lines of what I want. I also redid a lot of the buttons with roughs of what I'd like the final version to be. On the instructions page I did some basic color fills for the book, just so you can't see through it. I also updated the instructions page background and redid the art on the garbage pile, rabbits foot and skateboard.

Some bugs that I fixed included the savings box not being killed when the rest of the boxes were. I had an error where the first and second jump power were getting reset to 15, I found a place where I had hard coded that number earlier before I had tweaked with it. I had an error when the percentage that was being saved on the lives wasn't showing up, turns out my math was a little off. I had some trouble with hit detection and  the man hole however once that was working it wasn't a problem. I also has a bug where you could super-fall at a moving cart and either phase through it or go about half way before shooting back up, this was fixed extending the detection rage and changing a multiplier to match that of the max fall speed multiplier in super-fall.

Some things that I've added are manholes that appear in the later levels, they are open to different extents depending on the current level, their position on the screen is also randomly generated ever reset. I added in darkmatter which is needed to super-fall, and it can be purchased along with other equipment at the shop. I added in a falling animation to the manhole along with a rough running animation to the rubbish. Finally I added the feature of being able to continue if you currently have extra lives, this unpauses the level and spawns a new rubbish. This would allow people to not have to replay a 2-4 minute level if they did near the end or got a really sweet drop of good garbage.

Thursday, 6 September 2012

Carts hurt

Today I was mostly working on getting  the shopping cart up and running, but I also worked a little bit on the garbage generation system. While I was doing a test run I noticed that I was sometimes getting ten or more bad garbage in a row. I found this became frustrating  and boring very quickly so I knew I had to make it so that a good garbage would drop every few bad garbage, making sure there was always a goal on screen for the player to work towards. I had to partly rebuild my garbage generation system but it's defiantly for the better now. I was using a while loop to try and generate a piece of garbage, if the garbage selected was too expensive then it tried again. One problem with this was that only the good garbage had a chance of being rejected since the bad garbage doesn't take away from the remaining points for the current level. I fixed this issue by moving the while loop to inside the good garbage generation inside the general garbage generation function. This way if the good garbage was too expensive it would try for another good garbage instead of possibley spawning a bad garbage instead. I also put in a counter that, after four bad garbage have spawn makes it so it automatically spawns a good garbage next, just in case the random numbers keep coming back bad garbage.

For the shopping cart I have it so if your at the front and it hit, the cart bouncing back some and your rubbish is pushed the other way for a second. It also takes away one health when it hits. I get around having to make giant leaps over the whole cart I added in that if you land on the top of the cart it bounces you up to near the top of the screen, you can't jump any more after that but you can fall quickly if the down arrow is pressed. In the video that's posted the bouncing off the top of the cart hadn't been added yet.



The last thing I add is that once a jump is started you can only travel in one direction. After coding it though I didn't think it was as fun to jump around so I've commented it out for the time being, however I might change my mind after I've tweaked with the jumping some more.

Wednesday, 5 September 2012

Isn't Jumping Fun??

Today I worked some on the gravity levels, max fall speed and base jump power for the rubbish, I was finding that you couldn't jump high enough, and then you seemed to just float down. So after some tweaking I was able to find a level where there is still lots of room for upgrading your jump power but you still are able to go quite a lot higher. I also added in the functionality to the down button which allows the rubbish to descend rapidly from the air, faster then the max fall speed would normally allow, in case they need to hit a rat or grab a garbage that's below them. I think that I'm going to make an upgrade that allows you to do this instead of allowing the rubbish to do it from the start of the game.

I also added in a very basic cart which only appears after level 7. So far all it does is spawn on the right side, roll across the screen then kill itself once it's off the left side of the screen, however I plan on making it so if your rubbish gets hit by the side of the cart they take 1-2 damage. I was also thinking of allowing the player to bounce off the top of the cart if they are currently falling, this would add more strategy to the game along with extending the amount of time a player can stay up in the air, however they wouldn't get their jumps back.

Tuesday, 4 September 2012

Select Your Side

Today I've spend about 3-4 hours working on my game, I've gotten the double jump working, bad garbage can now hit and kill rats, and the level selection page is working.

For the double jump, I was having a hard time getting it to do what I wanted, but after taking a look at the code I've been trying to use I realized something, it would be far easier so just delete the guts of the function and start over. After looking back I saw just how complicated I had been making it, when in reality I was able to cut down between 5-10 lines of code and get it to work perfectly.

When I wanted to get the garbage to his the rats as well as the rubbish I first didn't think it would have to be done any differently then the hit detection I have for the garbage hitting the rubbish or the rubbish hitting the rats, however after did some thinking I had to consider that all the garbage and rats only has two targets they were looking for, one is the single rubbish and the other is the non-moving ground. This was easy enough to do if I just kept track of the rubbish's current x and y, along with it's height and width, but since there could be multiple rats and bad garbage I had to think of a different way. I ended up making a 2D array, with each position containing a smaller array containing information about that particular bad garbage. It has it's current x and y positions, it's width and height, if it's been removed from the screen(I used a Boolean) and it's name. This allowed my rat, every time it tried to move, to scan through this array using a while loop, checking to see if it was currently colliding with any bad garbage that was still on screen. The rat kills itself then modifies the array referring to the garbage that hit it, so when the garbage updates it see's that it's collided and shouldn't be on screen anymore so it kills itself.

The level selection page wasn't that much extra work because I've been coding this game so far so it works off what the current level it, so all I have to do when a different level is selected, is to then assign stats.currentLevel to the number of the button clicked. I did have a few problems trying to catch the event that was dispatched when a level was clicked but I was able to fix this by having my map page listen for the buttons on it, then dispatch it's own event to the main page controller when something was clicked. In order to place all the different level buttons using code but without taking too much time I ended up using 2D arrays again with a while loop. Each array inside the main array just contains the x and y position of each level button, this way all I have to do is change those two numbers, which are all in one location, in order to get the buttons to move around. I'm starting to use arrays more and I have to say they really cut down on not only the lines of code that I have to write, but it also makes it easier to go back and make changes later, if you arn't a big fan of arrays I'd really suggest finding a few tutorials and trying to slowly incorporate them into your projects, before long you'll hopefully find them as helpful as I do.


Wednesday, 29 August 2012

Mini me

I've been working on getting the mousetraps to work, killing a rat if it's ready when the rat walks past it. I also have it so once the trap has been released, a counter starts that doesn't allow the trap to be rearmed until a given amount of time has passed, which can be reduced by upgrading the mouse trap speed stat. Another thing that I worked on is getting it so the hit detection area for the garbage isn't based upon hard-coded numbers, but instead based upon where I place the top and right hit points, the bottom and left are based off the origin. This allowed me to remove the generic background I had been using as the basic hit box, and instead have the invisible hit box suited for each different shaped garbage. I also scaled down the size of just about everything, from the garbage and mousetrap, to the rubbish and rats. Lastly I've added in a background to the level that changes depending on which level the user is currently playing.


This is a video taken before most of the work was done described in this post.


This is a rough animation I did for the instructions book.

Friday, 24 August 2012

SO MANY RATS

So I've made some major strides with my Rubbish game over the past few days. I had a lovely fatal error that was causing my flash program to crash whenever it encountered the problem, the really annoying part was it was randomly happening and since it was crashing flash I couldn't even read the traces to find out where the error was located.

Luckily I had time and process of elimination by my side and after commenting out large, then progressively smaller chunks of code, I was able to find where the problem was located....i can only assume. The strange part was it had to do with my garbage spawning however the problem shouldn't have been one. To decide wither the garbage that was spawned was going to be good or dangerous I had a random number chosen, 1 or 2, using my randomNumber function. Then if the number was 1 I would make my isBad Boolean false, else i would make it true, I would then pass this along to my garbage class and it would use the Boolean to choose from the correct array of items. This should mean even if for some strange reason the randomNumber function was wrong and I got a number that wasn't 1 or 2, a garbage would still be created. If I always spawned a good garbage, flash wouldn't crash, and if I always spawned a bad garbage flash wouldn't crash, I just commented out the if statements and the randomNumber generation and hard coded in the true or flash in the setUp function of my garbage.

I was finally able to fix my problem by simply having the same code, but in my garbage class so the playScreen class would just spawn a garbage and then the garbage would figure out if it was good or bad, using the same method I was trying to use on the play screen. For some reason I haven't had a crash since even though it shouldn't make a difference wither I do the randomNumber and Boolean assignment inside garbage or outside and pass it in.

I was able to get rats added, with different amounts and types spawning depending on the current level the player is on. The rats move forwards and can only be killed if the rubbish jumps and falls on them. If a rat makes it all the way to your garbage pile alive, it takes the last item you caught, along with the number of points it's worth and runs off screen. Soon I'll be able to add a few more btns to the level select screen and I'll have my basic first five levels complete.

Friday, 17 August 2012

Let the trash collecting begin!

Over the past few days I've finished up the shop screen for now, adding in a pop-up window for buying your lives, stats and equipment. This shows what your saving if you've bought the bargaining chip and what the total cost is going to be. I've also made quite a lot or progress on the main game, the rubbish can now jump, can only move between two boundaries that I've set up, and he also has has health. Good and bad garbage falls from the top of the screen, so many good garbage fall on each different level, and the number of bad garbage that can fall is based upon that number. It currently counts down the number of good garbage left to fall, the amount you've caught and the ones you missed. Also when you get hit by a bad garbage your health goes down.

The level is finished once you either get hit and lose your last health, or once you've collected the last good garbage/let it fall to the ground. If you died or didn't meet the required good garbage points/ catches for that level then it only shows a 'try again' option and a 'level select' option, other wise if you've beaten the level then it shows a 'shop' and 'inventory' button as well.

I've also gotten some rough art done for the good and bad garbage, so it's easier to tell whats dropping while I'm building the game.

I'll update with pictures later.




Friday, 10 August 2012

Life's really just garbage

Today I worked on the lives page in the shop. I ended up adding several more stat boxes, one for current lives, cost of new lives your going to buy and the percentage saved with your bargaining chip. I also added a button for purchasing your new lives, along with several constraints. One constraint is the fact that you can't select more new lives then you currently have the garbage points to buy, and you each new life price is based upon the current number of lives you have plus the current number of new lives your trying to buy, this way someone won't just stock up on 100 lives at the start, it'll cost far too much, and the less lives they have 'floating' while they play the more points they'll have for buying stat upgrades and equipment.


Monday, 6 August 2012

New Game's a Load of Rubbish

Over the past few weeks I've slowly been starting on creating a new game, it's about a living trashbag and how it just wants to give other trashbags the gift of life! I've done some rough concept art and have also gotten about half of the menu working. Something that I'm doing differently with this game which I feel with help quite a bit is having most items have their own class. An example of is my general button class, I save myself a lot of lines by having the button set itself up after first creating it, then calling one function called startThis, it takes the x/y positions, the name of the button I want and the current movieclip that the button will be placed in. I have all the event listeners all set up by themselves for state changes and the only event I'm listening for is a custom event for when it's clicked. I hope to update this as I get more completed.