Hand2Hand

diligentcircle's picture

I've been working on a project called Hand2Hand for a little over a month now (the project started in mid-april). At this point, the coding of the project is very close to completion, and I need graphics.

About the game:

The game is partially based on the flash game, BoBoBo-Bo Bo-BoBo: Nose Hairs of Fury. It is a two-player game (though 1-player is possible against an AI), with each player having their own first-person view very similar to said flash game. Each player has two "arms" which can be moved freely into any of 9 quadrants (in a 3x3 grid). Arms automatically block in the quadrant they are in. By pressing a "punch" button, one for each arm, the respective arm will punch the quadrant it is in.

Each player has a certain number of hitpoints (indicated by the players). Once a player loses all hitpoints, the game ends and the other player is declared the winner.

Unlike Nose Hairs of Fury, Hand2Hand offers no advantages to any player and includes no strategy. Therefore, the winner is determined solely by reflexes and hand-eye coordination. To compliment this design, the game allows the speed of punches to be adjusted, effectively speeding up or slowing down the game.

As alluded to in the last paragraph, there are no differences between characters. Different characters merely act as different looks, much like Super Mario War.

I still don't have any character graphics, so coding is being put on hold until I can get graphics for at least one character. The game is very close to complete; once I have some character graphics, I suspect adding the finishing touches will take no more than a couple weeks. An alpha version will be officially released once I have at least one full character (including both graphics and sounds), one background, and one music track.

Here is a link to the game as it stands now.

http://www.box.net/shared/dti5isqh2s

The link above contains the Python source file as well as some others. It may not be exactly how the game stands on my end, but it is enough for you to get an idea of what the game looks like. To run it, install Python 2.6 or 2.7 (www.python.org) and Pygame (www.pygame.org), then run hand2hand.py with Python.

The game will be released under the GNU General Public License, version 3.

Game Art Needed

For all art, any license is acceptable as long as the license allows the art to be distributed with Hand2Hand.

Character Sprites

What I need most is characters for the game. As mentioned before, there is no difference between characters, but a good selection of different possible characters will make the game look nicer.

For graphics, I will accept any style, but for the most part, an anime or cartoon style is preferred. All character images must be PNGs with per-pixel alpha transparency. Any size is fine, but it must be a 1:1 aspect ratio (that is, square). I would recommend a size of at least 400x400 pixels.

I am interested in any and all characters you can draw. This included known icons (like Tux), parodies, and even characters from anime and cartoons (but see the next paragraph if you wish to draw a character whose copyright you don't have the rights to). I will also accept completely original ideas. Since I would like to include as many different characters as possible, I believe it would be best for the artists to choose what characters they wish to draw. For example, if you're a big fan of Linux, you might draw the sprites for Tux, and if you want to make fun of Dragonball Z, you might draw the sprites which parody Vegeta.

If you choose to draw copyrighted characters (not including parodies or other use of copyrights that would be considered "fair use" under U.S. law), I will attempt to secure written permission from the respective copyright holders, but note that should I recieve no response, the art will be left as a separate download (an "add-on", in a sense) which will be immediately taken down should the copyright holders demand it (or respond to the request with a "no" at a later time). If the copyright holder explicitly denies permission, I will not officially accept the graphics at all; that is, I will not link to them or offer them as a download myself. This is something you should keep in mind when choosing the character you wish to draw.

If you would like some ideas of what to draw, here are a few:

  • Reference a meme. Muslamic Ray Guns (which is rather new) comes to mind.
  • Draw a cliché character (ninja master wolf, street thug, etc)
  • Do what SuperTuxKart does: draw representations of open source products.
  • Draw historical people, like Abraham Lincoln. People like Adolf Hitler and Joseph Stalin presented in a comedic way could be very entartaining, as well.
  • Haven't we all wanted to battle with dinosaurs as children? ;)
  • On that same note, modern animals could be an interesting addition, especially if it's a monkey.
  • Have you ever run into haunted electronic equipment? Neither have I, but they would be fun to play as (or fight against), don't you think?

Due to the nature of gameplay, character sprites need to be done in a split-sprite method. There are three main parts: the body, the left arm, and the right arm. It should be possible to take any body image, any left arm image, and any right arm image of the same character, stick them together, and come up with a good (or at least decent) looking image. In addition to these parts, there are also a few images which will be displayed by themselves, such as the death animation. These must look good on their own without other sprites applied to them.

All images for a given character should be exactly the same size; this is a simplification for artists to prevent the need for config files. You can think of each image as being a separate layer of the same image.

A quick note: After reading the next couple paragraphs, you might find this a bit overwhelming. Note that I will be very happy to accept anything you can do, even if it's in pieces. Also, to start, you may want to consider using "backup" animations, described a little further below, which will dramatically decrease the work you need to do to have a working character (of course, this should only be temporary, to be fixed later by yourself or another artist).

Character sprites consist of a number of separate "animations", about 80 in total. An "animation" is a particular set of images used for a particular purpose. It is possible to animate any of them, though many can easily just be single images. A list of all of these "animations" can be found in the following text file:

http://www.box.net/shared/py21j3hm3q

Images must follow a particular naming convention which is based on the "animation" names. They take the form "{anim_name}-{num}.png". {anim_name} is the animation name listed in the text file above. {num} is the image index, with 0 being the first and every subsequent image adding 1. For example, "foo-0.png" is the first image of the animation "foo", and "foo-3.png" is the fourth image.

If a particular animation name is found to not exist, the game  then looks for a backup animation, whose name is the beginning of the animation name, terminated by a dash ("-"). For example, if the animation the game looks for is "abc-xyz", then the backup animation will be called "abc". This can be useful in some cases.

It must be noted that the same images which are used for normal arms are also used for blocking. That is, there is no "block" animation. This is important to keep in mind when creating the "arm" animations.

While most animation names are pretty self-explanatory, some may be a bit confusing. I will explain those here.

The animations beginning with "fp" (i.e. "fprightarm-up") are "first-person" animations. These are images of the arms seen by the player wielding them, in much the same way that you see the gun you are carrying in first-person shooters. In contrast, the animations with the same name minus the "fp" (i.e. "rightarm-up") are "view" animations, which are seen by the other player.

"body-rightpunch" and "body-leftpunch" are shown in place of "body" when the respective punch is initiated. This can be used, for example, to change the character's facial expression. These are animated in the same way as "punch" animations; see below.

"recover" is the animation played after "hurt", i.e. the character getting up. Note that during both of these animations, gameplay is paused. It is best to keep these animations fairly brief so as not to be an annoyance to players.

Most animations play at a constant rate of 60 frames per second. The one exception is punch animations, which are stretched out over a time specified by the user. In all cases, any images which did not have a chance to be displayed (either because of lag or because the "punch time", as it's called, was too fast), the missing images are displayed to create a motion trail or "blur" effect. Therefore, it is best to use as many frames as you are comfortable creating for punch animations.

Character Sounds

Character sounds should of course be made to work with character graphics, or at least they should sound good with the graphics.

Character sounds are stored in the same directory as character sprites and are also named in a very similar way. That is, there can be any number of "indexes" of sounds for each sound. This might seem a bit confusing. Quite simply, whenever a sound needs to be played, an index is chosen at random and the sound of that index is played. As a review, the naming structure is in the form "{name}-{num}.wav", where {name} is the sound name and {num} is the index. For example, "foo-0.wav" would be the first version of the sound "foo", and "spark-5.wav" would be the sixth version of the sound "spark".

The following sound names are possible:

  • punch
  • block
  • hurt
  • die
  • recover
  • win
  • voice-punch
  • voice-block
  • voice-hurt
  • voice-die
  • voice-recover
  • voice-win

None of them are required. Most are self-explanatory. "hurt" is played when the character is hurt. "block" is played when the character blocks a punch. "recover" is played when the character recovers from being hurt. The sounds beginning with "voice" play at the exact same time as the sounds with similar names, but only one of them will play at a time, simulating the limitations of speech (as it would be rather awkward to hear someone say two things at once).

most of the sounds should probably be around .25 seconds long, though it depends highly on the sound.

Backgrounds

Backgrounds are much simpler than characters, since all that's needed is a single bitmap image. All background images must be bitmap images (i.e. PNG, JPG) without any alpha transparency.

Size doesn't really matter, but all backgrounds must have a 2:1 aspect ratio (i.e. 800x400 pixels). Also, each background should be split down the middle, so that it's more like two separate square backgrounds taking place in the same area which have been pasted together. The left side will be seen by player 1, while the right side will be seen by player 2. It is important for there to be no continuity (except for the theme of the background) between the left side and right side, as continuity would cause it to look like the two characters are standing next to each other rather than facing each other.

Music

Music tracks should be made to go with a background. Each track must be loopable, though a start-up track (which will be played once before the loopable part begins) is permitted. They should also play for at least 0:30, but not much longer than 1:00; remember that Hand2Hand is supposed to be relatively fast-paced and quick.

Cursors

The game uses some cursors to show the players where exactly each arm is and also to alert players of incoming attacks. These should probably be done by pixel artists. I have some working cursors which I drew up; you can find them in the download above.

Each cursor should be 32x32 pixels, with per-pixel alpha transparency enabled (so they should be PNGs). All cursors can be animated if you wish. Cursors are needed for: the respective player's arms, the respective opponent's arms, and a "warning" cursor displayed when the respective opponent is punching. I would also be interested in separate cursors for the left and right arms, but these are not necessary.

Other Graphics

Of course, a title screen logo would be a nice thing to have. It should be static and in an anime style. It should emphasize the "2" in "Hand2Hand", making it at least 1.5 times as big as the rest of the letters. The rest should be in all caps. All letters should be thickly outlined and give an illusion of a third dimension via shading or similar technique. Size should be something like 800 pixels wide.

It would also be nice to have a good-looking "Fight!" visual which would be displayed before a fight (like Street Fighter). It should be animated, to be displayed for about half a second. Frame rate should be 60 FPS. It should be flashy and in an anime style, with yellows and oranges used for the back. I'm imagining a sort of animated scream speech balloon, but without the tail that connects it to the speaker. Of course, I would be more than willing to see better ideas, but that's what I'm imagining. Size should be something around 400x150, though it would be perfectly acceptable to adjust the aspect ratio to make the text fit better.

To make the game look more visually appealing, I think it should also have a "block" animation which is played whenever an attack is blocked. It should by around 128x128 pixels. It should be mostly white. It would be one of those visuals you see commonly in anime which make it more obvious that a collision has occured. See Nose Hairs of Fury (attack the enemy and loock closely) if you don't understand what I mean.

Other Sounds

A humble selection change and selection choose sound would be nice. I would also be interested in a "Fight!" voice to play at the beginning of each fight (much like Street Fighter, but without the "round X" voices).

Other Info

I have a help request topic on GameDev.net, which can be found at http://www.gamedev.net/topic/599892-hand2hand-looking-for-graphics-sounds-and-music/. You can see any updates on the game's progress there.

In addition to replying to this topic, you can also contact me by sending an E-mail to onpon4@yahoo.com or onpon4@gmail.com.

If you have any questions about anything, please don't hesitate to ask. :)

Art In Progress

Here I will list any art/artists which is currently in progress (that is, who the artist is and what they're doing).

There are currently no artists working on art for this game.

Finished Art

I will put any finished art here when it gets done. This way, you won't waste your time on something that's been done before (unless, of course, you want to try to do it better or something).

There is currently no art finished for this game.