Original Post

I’ve decided that since I have absolutely no experience whatsoever playing RPGs, that I am not a good candidate of programming one, so instead, I’m going to work on a fighting game (while I also have no experience playing a fighting game, I’d figure it’d be a lot easier programming one than an RPG.) So here’s my latest brainchild: Insect Combat. Right now, it’s just a warning screen and a title screen. The only two characters I’ve thought of so far are Gi-Ant and Behe-Moth. Any other punny names you guys can think of would also be appreciated.

Attachments:
399 Replies

Since stag beetles are insects that are actually pitted against each other in fights, I think you should include one in your character line-up. Sadly, I don’t have any clever names for you.

Looks interesting. Any particular reason you chose insects?

No, not really. It just seemed like a funny thing to me to see various insects fighting it out. The two punny names I thought up of weighed heavily on the decision.

I think this is an interesting game concept and I can’t wait to see what you make of it (but being an entomologist – my interest is somewhat skewed). I wish I had some programing experience so I could offer help. If this idea amounts to anything, it might be the homebrew title that finally pushes me to order a flashboy. (Not that Blox & Blox2 aren’t fantastic games)

An entomologist, eh? You would have had a field day with my old house – it was filled with ants in the summertime. Well, anyway, I thought of a third fighter: Rumblebee. And if anyone wants to take a crack at designing the head shots on the choose fighter screen, be my guest, as this is what I have so far:

Attachments:

Here’s the latest version. Notice that you can choose your opponent as well. Also notice that your opponent cannot be the same as your fighter. This is as far as you can go, though, if you press start after choosing your opponent, the game starts over. Just four more punny names left to think up.

Attachments:

Here are some silly name suggestions for you 😛

lousy (louse)
e-snail (snail)
robocock (cockroach)
bookworm (worm)
wassup (wasp)
superfly (fly)

  • This reply was modified 15 years ago by DanB.

Maybe the title and character screen could use some 3D effects? Like this:

Changed the look of the title screen. I also am limiting the number of characters to 6, unless there are any objections, in which case, I will up it back to 8.

I was a little bored, so I took it upon myself to help design some new graphics for your fighters 😎 Feel free to put them in the game if you like them! 😀

Attachments:

I like them, I put them in the game, they’re much better than the ones I had. If you could make a new image for the title screen too, that’d be great. My next step is to make backgrounds for the fighting places (i.e. a beehive for Rumblebee, a scene with an anthill in the background for Gi Ant, etc.)

Attachments:

Cool. Maybe I’ll make a title screen later. I think your next focus should be on the actual fighting mechanics and gameplay, fancy graphics should be the last step when the game works.

In order to code fighting gameplay, I’d like to have some fighters designed. I want the insects to walk like humans (on two legs) and have their other legs (or wings) available for punching. I want them to take up a little less than half the screen so they can jump (or fly) over their opponents. As you can see, I wasn’t very good at drawing, so I would really appreciate it if someone were to design the characters for me. I’ll work up a little demo with Killipede so you can see what I want.

Here’s what I was thinking along the lines of character design. Press start to get past the choosing the CPU opponent screen to see Killipede. Up, down, left and right move him, while start goes back to the beginning.

Attachments:

Nice. Will there be any character stats shown in the character select screen? The characters could differ in attacks, speed, jump height, etc.

For example, one character could be an offensive one, having strong attacks, but wouldn’t be very fast and couldn’t jump over the opponent, while a defensive character would be the exact opposite. Just a suggestion.

And maybe there could be a dedicated jump button. Using “up” to jump is annoying.

Now you need to implement gravity. Maybe this could be done like this: if a character’s Y position (at their legs) is higher than the ground level, decrement it until they’re equal. Then jumping could be done like… I don’t know, let’s demonstrate it with some code: (NOTE: not tested, and I might have forgotten something, this is just a very rough draft. ALSO, under no circumstances use those variable names – replace them with something more descriptive!)

// jump & gravity idea, by HorvatM, 12/31/2009
// if code is too fast, use timers for delaying w/o affecting the rest of the game
// variables for jumping & gravity
// NOTE: their value is not defined - define it yourself

char y;       // character's Y position
char j;       // flag: is the character in the middle of a jump, and in what position?
char p;       // jump power - how many pixels the character travels in one go - must be at least 2, otherwise it won't work b/c of gravity
char m;       // character's max. Y position - how much can the character jump
const char g; // ground level constant

while(1) // main loop
{
  if(vbReadPad() & K_A & y==g & j=0)  // begin jump if A is pressed and we aren't already in the middle of a jump and if we are on ground level
    {
      j++;  // j becomes 1, which means true
    }
  if(j)  // if j is true, i.e. more than 0, which means we are in the middle of a jump
  {
      if(jg) y--;  // gravity
  // code for movement, AI, etc. goes here
}

Of course these are all just my suggestions. I don’t want to annoy you in developing your game.

  • This reply was modified 15 years ago by HorvatM.

Up isn’t for jumping, it’s for moving up on the floor. Imagine a parrellelogram on the bottom of the floor, and it’s 3D movement, like how the up button goes up in NBA Jam. I was going to have A be jumping, while B, and the left and right buttons under the controller be for attacking.

OK. Here is a background (without the floor or anything) for Rumblebee, made by gamma correcting the HONEY.BMP background from Windows 3.x, converting it to 4 colors, and tiling it. The image is sized 384*224, like the VB’s display. If you want it to be longer (for scrolling backgrounds), tell me.

It’s intentionally dark so it doesn’t attract too much attention and lets the player concentrate on the characters.

Attachments:

I made a couple of sounds that might be appropriate for the game. I’m also allowing anyone to use the Rumblebee background if they find it useful.

Jump: http://www.vr32.de/modules/newbb/viewtopic.php?topic_id=3724&forum=9
Land after jump: http://www.vr32.de/modules/newbb/viewtopic.php?topic_id=3725&forum=9

No offense HorvatM, but that jump code is pretty simplistic. This is not a commentary on your programming skills or anything else; I’ve seen something like it in far too many games/demos. Everyone needs to learn somewhere, right? Also, like your post, this is just my suggestion and can be taken or left.

The problem is that gravity, and the fight against gravity that jumping entails, are both accelerations rather than velocities. Acceleration, as I’m sure you know, is a change in velocity over time. Gravity is a constant force attempting to change the velocity of all objects. If it is resting on the ground, an object’s velocity remains zero.

Rather than messing about with a flag that determines the direction of an object’s velocity vector, one can simply use the sign of the number holding the velocity itself (since we are only interested in the Y component of said vector). Since coordinates on the VB’s screen(s) increase away from the upper-left corner, -Y velocities/accelerations should probably mean “up,” to make the code easier to grasp.

Another signed number can hold the gravitational constant. This will be added to the velocity value each frame. The velocity will in turn be added to the object’s Y position, which will be constrained by the floor.

To jump, simply apply another acceleration force in a direction opposite to gravity which only persists while: A) the button is held down, and B) some amount of time has not gone by. This time value in B depends on how high you want your object (e.g. fighting bug) to jump. This and the acceleration force will have to be selected by experimentation and will likely vary by the fighter.

I’m sure HorvatM’s code can easily be altered according to the above. This system, while a little more math-intensive, will give a much more realistic motion to the fighters. It should, of course, also be applied to the victims of upper-cuts and the like 😉

Hope that helps

PS: Thanks for uploading those sounds, HorvatM. If you (or anyone else) want a whole lot more sounds that are free to use, I wholeheartedly recommend http://www.freesound.org/. You can, of course, find a user named RunnerPack on there 😉

RunnerPack wrote:
No offense HorvatM, but that jump code is pretty simplistic.

I know it is. I’ve never written jump/gravity code before that – it’s my first attempt.

 

Write a reply

You must be logged in to reply to this topic.