PDA

View Full Version : Bio Force Ape Developer's Journal



Pages : 1 [2]

Baloo
09-03-2009, 12:18 AM
So is the butter man going to be in this game?

skaar
09-03-2009, 12:50 AM
So is the butter man going to be in this game?

A well reasoned and thought provoking question.

dao2
09-05-2009, 01:50 AM
So is the butter man going to be in this game?

of course he will

and he will be tasting communism

udisi
11-14-2009, 04:51 PM
necro bump for a status check. how's this coming along?

adaml
11-18-2009, 10:56 PM
Is there going to be an ending? Don't want any spoilers, but was wondering if the ending was going to be like a 1985 type ending or an early 90s ending :)

NayusDante
11-18-2009, 11:07 PM
Is there going to be an ending? Don't want any spoilers, but was wondering if the ending was going to be like a 1985 type ending or an early 90s ending :)

WITH HIS HANDS COVERED IN BUTTER
OUR HERO WONDERS
WILL HE FIGHT AGAIN
YOU ARE WINNERER
THANKS FOR PLAYING

MachineGex
11-18-2009, 11:12 PM
I have been thinking about this game and thread, I am glad someone bumped it up. Lets get a little bit of an update....please!

darkslime
11-18-2009, 11:19 PM
I'm really excited about this game, give an update mang!

XYXZYZ
11-18-2009, 11:20 PM
YOU ARE WINNERER


:above me:

badinsults
11-19-2009, 02:31 AM
necro bump for a status check. how's this coming along?

Progace has pretty much been AWOL for the past month and a half. He hasn't been in #vbender in 48 days! I don't think anyone knows where he is.

Ed Oscuro
11-19-2009, 03:07 AM
WITH HIS HANDS COVERED IN BUTTER
OUR HERO WONDERS
WILL HE FIGHT AGAIN
YOU ARE WINNERER
THANKS FOR PLAYING
I think it's "wiener" for the proper transliteration of the announcer girl voice (Galaxy Fight maybe?)

Anyway, I fear that Proggy has eaten the big buttery stick in the sky. :bawling:

portnoyd
11-19-2009, 06:24 AM
Progace has pretty much been AWOL for the past month and a half. He hasn't been in #vbender in 48 days! I don't think anyone knows where he is.

He's been seen on XBL. He better get his ass back here. I paid him for something 2 months ago and he hasn't sent it.

Ricochet
11-19-2009, 08:48 AM
Progace has pretty much been AWOL for the past month and a half. He hasn't been in #vbender in 48 days! I don't think anyone knows where he is.

Those who look into the buttery abyss sometimes have it look back at them. What's left of his dribbling consciousness is sandwiched somewhere on the 6502 stack, and there may not be enough bio-flatuence this time to pop him back where he belongs.

We can pray.

NayusDante
11-19-2009, 08:54 AM
Hopefully, he'll pop on here in the next day or so. I'd hate to think that the butter was a lie... There will be butter, I'm confident in it.

ProgrammingAce
03-18-2010, 07:03 PM
That ProgscammingAce is such an acehole...

Alright! So today's a lesson on physics. Short version: physics in video games suck.

Ok, so they don't so much suck, but they definitely aren't realistic. The rather obvious explanation for this is because realistic physics aren't fun. Let's say we wanted to give Bio Force Ape realistic jumping physics. Even assuming Mr. Ape is twice as strong as a normal human, he could probably only jump up to half of his own body height. In the game, that would work out to about 16 pixels. That's not even enough to let him jump over the little yellow squid thing.

So we bring in game physics and make the ape jump around like a bouncy ball on crack. There is a right way, and several wrong ways to do this. Let's start with the fail.

The simplest way to have something jump is to subtract a value from the player's height (or x value in this case) for so many frames, then add it back in for the same number of frames. So for example, you subtract 5 pixels per frame for 10 frames, then add 5 pixels per frame for 10 frames. This looks like crap. The player goes straight up and back down at a 45 degree angle, there's no arc, acceleration, or any kind of real physics, but it's really easy to cod. I can't even really think of a game offhand that used this kind of jumping.

The second kind of jumping physics is also the wrong way of doing it, but it's what you see in the Bio Force Ape demo we released last year. The way this works is using somehing called a lookup table, which is just a fancy way of saying an array of numbers. The lookup table uses pre-calculated values based on actual acceleration to deturmine the number of pixels the player should move per frame. So what you'd see is a blob of data that looks like this: 4, 3, 4, 3, 3, 2, 2, 2, 1, 2, 1, 1, 0.

What you'd do is start at the beginning and subtract 4 pixels from the player's height, then 3, then 4, etc... until you get to 0, then add it back on in reverse order. Depending on how you set the numbers, this can give a pretty decent approximation of acceleration.

Unfortunately, i must have been drunk when i wrote the code for the demo, because it sucks. The lookup table for jumping is 32 numbers long, the player starts on number 26, subtracts to 30, adds back up to 22, then ends back at 27. I don't have a clue why either... The end result is that the jumping looks ok until you get to the top of the jump, then things get all shaky and you fall back down. It looks "alright" in the demo, but I since i can't figure out why I did it that way, i couldn't fix it and I just rewrote the jumping code the right way.

Which brings us to the *correct* way to implement jumping. This is about as easy to implement as the lookup table, but performs better. You take the player's height (x location) and subtract a certain number of pixels (let's say 10). Then in the next frame you subtract 9, then 8, then 7, then 6... etc. Then when the number hits 0, you just add them back on until you get back to 10. This doesn't tie exactly to actual physics, you'd really want to change the value by a multiple of about 1.33 per frame, but it's close enough for government work. For something like Bio Force Ape, the jumping physics don't really need to be all that precise. Now when I actually implemented this jumping routine, the ape was jumping and falling way too fast. It only took 21 frames to run through the entire animation, far less then a second. So in practice, i only changed the player's height every other frame. This worked out much better.

In the next episode i'll either talk about collision detection, or disappear for 6 months again... i haven't decided.

ProgrammingAce
03-18-2010, 07:08 PM
I should clarify when it comes to lookup tables, they're not all bad. Lookup tables are a great tool to use if you're going to do time intensive calculations, like multiplication. The NES's processor doesn't do multiplication, so if you want to multiply numbers, you have to add them together a bunch of times. Instead of wasting the CPU cycles, if you have a good idea of what numbers you're going to multiply, you can store them in a lookup table. Like if you want the multiples of 3, you can store them in a table with 3, 6, 9, 12, 15, 18... etc. So if your game needs to know what 3 times 9 is, it can just grab the 9th value in the lookup table.

When it comes to acceleration, the method i posted above really is close enough to real world physics that a lookup table doesn't make sense.

ProgrammingAce
03-19-2010, 01:15 PM
I'm going to try to combine a few things here...

The final piece of the Competition Cart came in last night, the music designed by our own DJBeatMongrel. I'm hoping to have a sample available this weekend. Without being a direct ripoff, it has a very cheetahmen II vibe. I just set it as my ringtone this morning.

Just to go over some of the details we've already posted, the competition cart will be available for ordering on April 1st. We're not doing a pre-order, that *is* the release date. Copies will be available at the Midwestern Gaming Classic a few days earlier for those attending the show.

Once the cart is released at the MGC, we'll have some screenshots and other media available before the internet sale starts up.

We have not settled on a final price, we're waiting for production to start up to see what the costs are going to end up being. We should have that information early next week.

ProgrammingAce
03-22-2010, 10:44 AM
We've locked down the details of the Bio Force Ape competition. You can come by and play at the Robot Panic booth (the guys who have the giant robot). The competition will be open from 10:00 AM to 6:00 PM. The winner will be announced at 6:00. Come by and sign up to play.

ProgrammingAce
03-23-2010, 03:21 PM
Price announced, $35 if you buy it at the show. Online orders will be $35 + shipping.

ProgrammingAce
03-24-2010, 01:07 AM
http://programmingace.com/images/BioForceApe/buttermonster.JPG

Icarus Moonsight
03-24-2010, 01:17 AM
I can't believe it's not butter, but yet, IT IS! O_O

ProgrammingAce
03-24-2010, 06:24 PM
Ok, there seems to be some confusion as to what this competition cart really is:


Originally posted by: casperdj777

"show will include an extended demo of the full game". Im a little confused by this,so the carts coming out later july will be the same bio ape game but with less stuff right?or the game will have more levels but not the exstra demo game/other stuff?if the one in july has less stuff why would we want to wait untill then to snag the game.


The competition cart that's being released on Saturday only has part of the full game included, it's basically a demo. The comp cart has the first 2 levels of the game and one of the later boss fights (one out of the 5 bosses included in the final game). You also get a sample of what the mine cart level in the game is going to look like. The survival mode is based on, but not a copy of, the mine cart level in the final game.

The survival mode and the Volleyfish mini-game will not be included in the final game to be released in July. Volleyfish started as a prototype for what I'd like to do in our next game. If we do decide to expand on the idea, the game will be written from scratch and this volleyfish demo would never have been released. So instead of just throwing away the code, i thought it might be interesting enough to include it in the competition cart.

The survival mode was something I always had in the back of my mind as a bonus for the final game, but the logic for that mode turned out to be too different for me to shoehorn it in. I don't have the rom space to include a complete separate game mode in the final game, so it had to get cut early on, before any work was started on it. The Midwest Gaming Classic gave me an opportunity to code it up and test it out.

I tried to do a few interesting things with the demo that I wasn't able to do with the full game as well. The comp cart is the only place you'll see an animated cut scene, for instance. The comp cart has 10 different quotes from across the gaming universe that it'll spout out depending on your score in the survival mode.

Think of the competition cart as a "Disc 2" to a directors cut in a DVD release. If I had unlimited time, money, and rom space, these are some of the things i'd like to have included.

The competition cart is priced lower then what we expect a full CIB boxed release of the final game will go for. It is not a complete game, it is a special purpose cart that was created to run a competition. We added in some extra goodies in case people are interested in purchasing a copy for themselves.

ProgrammingAce
04-05-2010, 01:50 PM
Now that the competition cart is out, back to the developer's journal.

I'm going to start posting them on CinematicBazaar.com and cross linking them because it's just too much of a pain to try to reformat the articles across multiple forums.

So here's a lesson on data compression: http://cinematicbazaar.com/?p=80

jb143
04-05-2010, 02:01 PM
Good read as usual. I was considereing using a similar RLE encoding technique in the gameboy game I'm (slowly) working on. I should probally go back and add it since after reading your post, it looks like it would cut down on a lot of level data.

ProgrammingAce
04-05-2010, 02:13 PM
It cuts down on a ton of data, and it's really simple to implement. If you have your data in an array, you look for the flag, read one byte ahead for the tile number, then read another byte ahead for the loop number. Then just write the tile and decrement the loop counter until you hit zero.

ProgrammingAce
04-06-2010, 01:55 PM
Someone wanted to see how RLE compression is implemented, so i wrote up some psudocode. You should be able to adapt it to whatever platform you're using. NES, SNES, GBA, etc..

http://cinematicbazaar.com/?p=89

ProgrammingAce
04-15-2010, 01:00 AM
http://programmingace.com/images/BioForceApe/mycart.jpg

Where's your bandwidth now?

ProgrammingAce
04-16-2010, 03:23 AM
So I finally got sick of converting bitmaps with a pen and paper and wrote a script to do it for me.

This script takes a bitmap, splits it down into whatever size meta-tiles you want, then outputs it into tile data you can include straight into your source code.

It'll work with any size tiles you specify, the default is 16x16 but you can do 8x8, 16x16, 32x8, it'll even do 10x93 if you want it to. Just make sure your image is actually divisible by the tile size. If you split a 100x100 px image into 8x8 tiles, you'll get weird results.

As always, I don't presume this is the best method of producing these results. This script is linux only and requires imagemagick to be installed. You can probably get it to run under cygwin, but you're on your own for that.

I've included sample input and output if you want to try it out: http://cinematicbazaar.com/?p=111

There is one limitation to the script. If a meta-tile is only used once in the original bitmap, it won't be included in the data file. This was intentional to keep the script from counting the original bitmap as a tile itself. So make sure each tile is used at least twice and you'll be fine.

I'm going to drag linux kicking and screaming into NES development one way or the other... even if I do have to write all my own tools.

ProgrammingAce
04-02-2011, 03:05 AM
MGC made me kick my ass back into gear and finish the final bits for the homebrew. I had 30+ people come talk to me at the show asking me about it. I guess i didn't realize there was still that much interest.

As i've been saying for about the last year, the game is essentially finished. This is the complete set of bugs I'm aware of:

Bugs:
- Punching the rhino in the left corner kills the enemy instantly
- Background on the ant queen's level isn't implemented
- Ant queen's body doesn't display
- Colon in the credits is the corner of a box
- Music keeps playing on pause
- Jumping in the mine level locks the jump variable to true

Fixed:
*** - The color black is gray in the minecart levels
*** - Daughter's sprite ends up in the left corner after the first level.
*** - Bug in the flapping animation of the terri dactyl
*** - Animation on the fart attack is reversed

jdheins
04-02-2011, 12:14 PM
Cool, i've been hoping you'd finish the project!

marvelus10
04-02-2011, 07:45 PM
Me too I would love to get a copy or a ROM.

kainemaxwell
04-03-2011, 01:22 PM
Congrats on getting the bug fixes done. Love to give this title a play also.

obesolete
04-03-2011, 01:33 PM
Sign me up for a copy! I think you've got more of a following on this project than you think...

exit
04-03-2011, 07:12 PM
I'm very interested in this as well, this is sure to be far better than what the actual BFA turned out to be.

NayusDante
04-03-2011, 08:45 PM
I would love a physical copy of the final to go next to my demo cart...

ProgrammingAce
04-03-2011, 10:56 PM
After a weekend's worth of work, i wrote a new song for the game and bugs stand at:

Bugs:
- Background on the ant queen's level isn't implemented
- Ant queen's body isn't displayed
- Jumping in the mine level locks the jump variable to true
- You can damage the unicorn when he's jumping over you

Fixed:
*** - The color black is gray in the minecart levels
*** - Daughter's sprite ends up in the left corner after the first level.
*** - Bug in the flapping animation of the terri dactyl
*** - Animation on the fart attack is reversed
*** - Punching the rhino in the left corner kills the enemy instantly
*** - Colon in the credits is the corner of a box
*** - Music keeps playing on pause

I did discover that the tool i used to generate backgrounds from bitmaps is missing (it was on an old laptop and i don't seem to have copied it off when it was wiped). It'll take a few days to rewrite it, i need to reverse engineer my assembly code to see how exactly it worked.

Arctic Feather
02-13-2012, 06:41 AM
Sorry to bump an old thread, but are you still working on this?

I missed out on the competition cart as I thought I would wait to get the full game. Hope I still can one day. :)

ProgrammingAce
02-16-2012, 05:57 PM
Sorry to bump an old thread, but are you still working on this?

I missed out on the competition cart as I thought I would wait to get the full game. Hope I still can one day. :)

The game's been done for a while, so there hasn't been any work on it. I did go through a few months back and fix a few small bugs that I didn't ever expect to get around to, but that was more housekeeping and didn't really have any effect on the game itself.

Since the real game showed up, i don't know that there's much interest in the homebrew. I would still love to do a CIB release, but I don't think sales would even cover costs at this point.

Robocop2
02-16-2012, 06:25 PM
I know you could count on a sale from me if it ever happens. I honestly cared more about your homebrew than I did the actual real game

Arctic Feather
02-17-2012, 09:17 AM
The game's been done for a while, so there hasn't been any work on it. I did go through a few months back and fix a few small bugs that I didn't ever expect to get around to, but that was more housekeeping and didn't really have any effect on the game itself.

Since the real game showed up, i don't know that there's much interest in the homebrew. I would still love to do a CIB release, but I don't think sales would even cover costs at this point.

I'd still be interested in buying a copy, I'd be happy with a cart-only release if that's cheaper.
You could always take pre-orders to cover the cost of making them?

If you made repros of the original game as well it would definitely get attention.

Miss Boris Yeltsin
03-01-2012, 11:42 PM
Me too I would love to get a copy or a ROM.

I, for one, urge ProgrammingAce to not dump this game, as it will undoubtedly decrease its potential value.

...:evil:

loempiavreter
05-04-2012, 07:06 AM
I would love to play the homebrew :) I'd buy one !

djshok
05-04-2012, 10:25 AM
I would love to play the homebrew :) I'd buy one !

http://www.nesreproductions.com/ ;)

obesolete
05-04-2012, 03:18 PM
http://www.nesreproductions.com/ ;)


That's not the homebrew, it's the actual Seta game.
I was the one who ordered it from Leon. He's down the road from me.

djshok
05-04-2012, 03:32 PM
Oh you mean there's actually 2 of them? Damn, that ape is popular.

slapdash
06-09-2012, 04:48 PM
Yep, two of them.

Hmm, you don't suppose "Bio" is Japanglish for "Duo", do you?

TheChristoph
06-18-2012, 01:53 PM
Where does the competition cartridge fit in here? I have a copy, but I've never actually played it. Is it based on the homebrew?