16 February 2013

Back on the Horse - Project Sketch Fighter!

Sketch Fighter

It's been a busy couple months since I last wrote on this site, and this is an edit from a previous, more silly post. I've returned from Ghana a few months ago and have been in Ithaca focused on work, but I've made far too many excuses where this game is concerned. Now is the time for me to finish.

I've decided to get back on the horse, so-to-speak. This project has been a long-time coming, and I need to get on it now. The name of the game is project Sketch Fighter. As of right now, I've fully designed the engine (in C# Mono Framework) for the Tactical Mode grid, fleshed out the 1v1 Mode engine and designed the artistic media (includes the writing, artwork and music).

As of right now, though, I have little confidence in my GUI skills (hence the text-based screenshot down yonder). Therefore, I'm looking for someone with some C# GUI skills who can help me implement this idea fully and make a free game app.

Note: if you're reading from Reddit, read the mechanics and see if it's something on which you'd be on-board.

Step 1 – Designing a game & engine concept

I've been fondling the idea of designing a fighting/strategy game for years on end before actually writing any sort of code for the thing. Right about now, I'm going for broke on Sketch Fighter (the name I've adopted for this project). Interestingly enough, the game-genre itself has evolved from a traditional fighter to something two-pronged.

In this game, you choose from a dynamic set of characters to form a team of three. Another player also chooses three, and the two teams battle each other for dominance.

As you can see, without a GUI, this looks...well, you be the judge. But, there's Goku!
Each player has certain stats that matter in both the Tactical Mode and the 1v1 Mode.

HP (Hit Points): hit points, your basic health measurement
VM (Vitality Meter): used for Bursts; starts empty and fills as you use attacks/get hit.
RM (Rush Meter): used for attacks; starts full and depletes as you use attacks, slowly refilling (at different rates, depending on your class)
GM (Guard Meter): used for guarding and Tactical Mode buffs; starts full and depletes as you guard attacks and use buffs (at different rates, depending on your class)

Here are all player's stats.



Tactical Mode

A standard match in Sketch Fighter begins in the Tactical Mode (in this section, I've completed all of the characters' stats and movesets) is a 2-D Final Fantasy Tactics-esque project, wherein you play as a three-person team against another human-controlled three-person team in a battle for dominance.

Tactical Mode Options

Melee - perform a basic physical strike. Some characters' melee attacks link to other melees or can be combo'd into other types of moves.
Guard - simple guard. While guarding, you lose far less HP than you ordinarily would but at the cost of GP.
Skill -  any special skill that's not a melee.
Burst - any special skill that requires Vitality Meter.
Item - uh...use an item. (items have a limit to the number of times they can be used).
Undo - undo any move you've made. You cannot undo moves if you've already completed the max number of moves you can make or use a technique that depletes the moves you can make, so think carefully about where you're moving before making the move.
Rest - rest and recover an abundance of GM and RM. While resting, your are more vulnerable to opponent's attacks.
End - end your turn.

The special feature comes in the form of the Rush option (the section I haven't designed yet but will be using M.U.G.E.N. to design). When next to an opposing unit, use Rush to engage that opponent and enter the One-on-One Mode and duke it out Street Fighter style!

1v1 Mode

In 1v1 Mode, two players fight against each other on a horizontal plane in a 2D match. Each player has a unique move set, each with different impacts. If another allied unit is next to your unit currently in combat, he can tag in and the units will switch places in the Tactical Mode board.

Attack/Move Options
Basic Movement - basic movement options. Ever play a 2D fighting game? Yeah, that. Forward/Back on D-Pad to move. Down/Down-Back/Down-Forward on D-Pad to crouch. Hold Back on the D-Pad to guard mid/high/overhead attacks. Hold Down-Back on the D-Pad to guard low/mid/high attacks. Press up/up-forward/up-back to jump. Tap forward twice to perform a dash. Hold forward during the dash to continue into a run. Tap back twice to perform a back dash. Tap forward while recovering from a whiffed/blocked attack immediately before getting hit by an opponent's attack to perform a Saving Grace and maintain 15% of otherwise lost HP.

Normals - perform Normal attacks by pressing A (left punch), B (right punch), C (left kick) or D (right kick) on the gamepad. Pressing a directional button with a Normal will, in some cases output a different Normal. Normals (except Throws) consume Rush Meter. Some Normals can link into other Normals, Specials, etc.

Specials - more unique techniques can be performed by pressing special inputs (e.g. Quarter Circle Forward or Quarter Circle Back) on the D-Pad plus an attack button. These are much more dynamic for each character but tend to consume more Rush Meter. Some specific specials can be cancelled into Bursts or Vitality Specials.

Bursts - powerful Specials that consume Vitality Meter. Most Bursts tend to consume 2 bars of Vitality Meter and are larger than life, though they leave a player vulnerable.

Vitality Bursts - unique Specials that utilize VM. Unlike EX moves of SF and KOF fame, each character has three sets of VBursts: Alpha (VM consuming but less massive Bursts that generally consume 1 bar of Vitality Meter), Beta (a new mechanic and an additional Vitality Burst) and Cetan (a single, powerful VBurst that consumes generally 3 bars of Vitality Meter).

For those who play fighting games, think of it this way:
Normals = Tekken style
Throws = Street Fighter 3rd Strike style
Specials = King of Fighters style

Just like any 2D fighter, you have different hit-sections, running (some characters only have dashes), Okemis (forward recovery, back recovery, delay recovery, attack recovery), and as mentioned before, each character has a unique array of mechanics, particularly in the Beta VBurst section.

Here's a bit of a move set - Floyd, the central character to be specific.




(Standing) C
(Standing) B
(Standing) D
(Standing) Forward + A
(Standing) Forward + B (and a random strand of hair)
(Standing) A
Dashing forward/back ... pretty wonky right now, but whatevs.
The tricky thing about this part of the project is...I have 32 other movesets. That means there's occasionally a move overlap. I need to do my best to keep each character and playing style unique. Street Fighter, great series as it is, has about 50 billion "shoto" types per game. At least in Mortal Kombat, the clone ninjas have unique moves...but I digress. Within this stage, the next step is to make a basic sketch of how each move would look. I didn't post the other movesets because: 1) I'm focusing on Floyd for the moment; and 2) you didn't come to my blog to read, because reading is for sissies. If, for some bizarre reason, you're interested in seeing the other movesets and helping critique them for great justice, hit me up.

Anyhow, next I turn them into sprites and M.U.G.E.N-ify them.

 

Step 2 – writing, artwork and music


Writing

The plot is quite simple. I plan on adding more as it goes on, but I kind of want it to be campy. This is going to be the intro blurb to the game itself.



120 AF (After Fall - somewhere around 2163 AD)

Post-World War III, the seed of a new, wiser generation of civilization has formed. Hard work is prioritized over greed. Racism has been deemed illegal, and nationalism is discouraged over global community. Fresh water is brought in from aquifers deep underground various places of the world (I have my friend Lonnie Gardner to thank for that idea). Decades of aeration and sound landscaping has allowed for a return to agriculture. The center of this great society, called Squallhaven (or Sqvalhagren, the haven from the squalls in Nordespeak) has become synonymous with security, safety and society. However, much is going on underneath what was once the rubble of the Old World. Three players till tell the story of this massive vehicle's undercarriage.

Floyd Tiryaki (the dude with the electricity in his hands) - a Squallhaven immigrant who is hunting government men for unknown misdeeds.

Terrence Lee (the guy behind him with the burning arm) - a special agent of Geiger, the official national security force of Squallhaven, whose job it is to undermine any anti-societal/Anarchic movements in the land, of which there are quite a few.

Isabelle DesMarais - leader of a criminal organization simply called the Underground, rife with coyotes, identity thievery, weapons smuggling, and murder.

unbeknownst to all, events surrounding these three players will shape the country in ways no one could see coming. How, you ask? You'll just have to play the game.

---

The land of Squallhaven is based in present-day Iceland, which was relatively untouched after the nukes fell. I'm still doing quite a bit of research on Icelandic weather patterns, nuclear fallout and its affects on the landscape at specific impact points, namely Western Europe, the Americas, North/South Asia, and East Asia.

Artwork

See all my previous posts. There's a ton of it.

Music

I'm using all original tracks for this game. Here's a sample of my musical stylings.


That's what I have thus far. Everything else is in the air at the moment, so I'm holding off on any other posts until I move on from this one.

14 February 2013

On Never Backing Down

Yeah, you know how I suck at keeping track of...y'know...communicating things that are going on in my life. My bad.

As you've probably seen if you know me, I'm one of those "I'll do anything to help someone in the right" types. Now, that's not to say that I think I'm Black Goddamn Dynamite...I thought of that shit before I wrote on the blog!

Moving on, a few weeks ago near Clinton St. (and Wegmans <3 ), some clearly plastered deadheads were giving a lady at the bus stop serious lip that was several degrees past charming, to say the least. By all means, stepping into the situation was right, but things weren't going to cool it down unless I said the right words. Neither their drunkenness nor my self-admitted self-righteousness had the inclination to back down, and we got into some [French].

No matter what Hollywood shows you, don't expect a 3-on-1 fight to be some Walker, Texas Ranger spin kick theater; brawls rarely are. I was pretty lucky none of them was carrying a bottle or another weapon, or you might be reading the archives of my account Blogger years after my timely passing. Having a fighting sense definitely helped me, as I managed to at least keep them honest with some punches and shoves for a bit, but I came out of it with a fractured rib. Also, I might lose teeth 1, 2 and 32, since I don't exactly carry a mouth-guard around for every episode of When Chauvinists Attack. The injuries are on me (literally and figuratively) for stepping in and doing something about their actions. It's interesting - my master always taught me that the best thing to do when someone starts a 3-on-1 is run or make a really good turtle position, and he's probably right. In this situation, though, getting a strong hit in definitely contributed to them leaving, despite having the clear upper hand. By all accounts, I probably shouldn't be joking around with this. If one them had been armed, provoking him with an elbow to the face surely wasn't going to get me invited to their Christmas dinners. Pretty sure I gave at least two of them a broken something. Two of them will definitely remember me, I'll say that. As I'm not dead or hospitalized, it wasn't worth the trouble of filing a police report or going to the hospital.

The sad part is, this isn't even the first time something like this has happened. Definitely the first this year, that other intervention at Silky Jones notwithstanding, since no one got hurt that time. As far as I'm concerned, Ithaca is not a dangerous place, which forces us to think - maybe there's a sudden influx of jerks in the world; maybe friction is my homeboy.

However you peel the onion, the opportunity cost in this case - quite a few good training sessions and (possibly) a few competitions - has me recognizing that pride is my Achilles Heel - Achilles Rib, in this case. Obviously, these three dudes needed to show their machismo, and the best thing to do when they got confrontational would probably have been to placate them and assume crash positions when the plane is tanking, but I wasn't going to say or do anything that was going to give them any sort of validation, because the cockless peacocks were strutting.

Regardless, it's less painful and expensive to watch action heroes shoot bad guys with his son, yelling "Yippie-Ki-Yay mother Russia" on a glorious big screen (no, but really, probably going to be a terrible movie. Apparently, a sixth is in the planning. God help us all).

On the other hand, well...apart from Regal Theater's prices presenting its own pretty sound counterargument, I'm still glad I got involved in the situation. If someone's being an asshole, you owe it to that person to let him know; if someone's being given a hard time, you owe it to that person to lend a helping hand. Plus, there are times when you can tell a situation is going to get bad, and this was one of those times. I'm glad the woman got away okay, and at least the goons were distracted enough while she left. We've all been in that shitty position before, and not to be a quote-whore, but I believe King Jr. said, "he who passively accepts evil is as much involved in it as he who helps to perpetrate it. He who accepts evil without protesting against it is really cooperating with it." (Oh hey, this is the Internet, I can look up the quote and get it right!) Lord knows I can take a hit and keep fighting, and I didn't break a limb, so it's okay. My not-so-lovely face is still intact (aside from the teeth and my cheek), so again, not complaining.

On a random note, I learned how to play the first half of Suite No 2 in C minor BWV 813: Allemande while sitting on my rearo recovering a few weeks ago. I hate that only comic book villains listen to classical music...this music is quite boss, if I may say so myself.

My busted-up ass has also been attending the classes I mentioned before. Professor Washington, who teaches one of my courses, expects quite a bit from me, and in my opinion, it's good to have the bar raised from the start - means you have to perform at the top of your game. It's interesting - Cornell University professors possess some unique qualities as a community that Ithaca College community do not, and vice versa. One might say it's a result of boards hiring to their strengths (or weaknesses, in some case), but I say it's more of a communal phenomenon.

The Hallabbey Shuffle plot research and writing is going quite well. I'm finally beginning to string together a few great engine concepts, which I won't (completely) detail in my next post, probably a few weeks from now. Hey, most of my ideas probably suck, but I want to protect myself in the case of the good ones.

Since mid-February, I've been trying out a social media blackout. It seems to have increased my work efficiency in all facets by multiple degrees, so I might stick with it. Like I mentioned before, actions are best employed in balance, and social media is sort of critical for...erm, being social, so I'm coming to the end of my dry run. Hopefully, I don't sign on and realize I've missed some miraculous event. If so, it's nothing personal, I swear. Never really been someone to share stuff that goes on - starting this blog was a means to change that, and today it serves its purpose.

Oh, also...not that I'm actively searching, but I do hope to run into any of those clowns again. I'd love to throw down 1-on-1 in a legit match.

(added 2/19/2013) P.S. Cornell Fight Team fucking rocks. I'm glad to hear everyone kicked some serious shell at the tourney! Go for the kill at RPI!