Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411489 Posts in 69371 Topics- by 58428 Members - Latest Member: shelton786

April 24, 2024, 03:24:37 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsBadminton Warrior - 2D action adventure platformer
Pages: [1] 2
Print
Author Topic: Badminton Warrior - 2D action adventure platformer  (Read 6148 times)
ralphyua
Level 0
**


View Profile WWW
« on: October 24, 2018, 01:09:57 PM »

I thought I would join in the fun and start a devlog for the game I've been working on for the last two years.


Imagine if Mega Man had to defeat Dr. Wily using only a badminton racquet. That's the premise behind Badminton Warrior, a 2D action platformer reminiscent of the 8 and 16 bit games of the past. Clear, drive, and smash your way through 16 levels of challenging enemies, traps, and puzzles on your journey towards facing the ultimate evil in sports, the Bellighost.





The Story

AJ, Jing, Mindy and Ral go out to play badminton one day when a dark, hooded figure appears out of the sky and kidnaps Mindy. Unable to play a game of doubles now, Ral becomes determined to rescue his friend. A mysterious old monk then materializes and gives Ral an enchanted badminton racquet, explaining that his ancestors used it to defeat their greatest enemies. Ral sets off on a quest that will bring him from the highest mountains to the depths of Hades en route to his ultimate destiny... becoming a badminton warrior!



Features

• Unique gameplay where you damage enemies by hitting projectiles at them with your racquet, but you cannot damage anything with the racquet itself.

• Sports themed levels, enemies, and bosses.

• Crazy cast of characters including a hockey player who thinks he is a god, a lacrosse player running an insane asylum, and a basketball player who turns a championship trophy into his wife.

• A humorous, outrageous story that does not take itself too seriously.

• Great sounding 8 bit music and sound effects.



Combat

As stated in the features, you fight enemies by smacking projectiles back at them. You can do clears, drives, or smashes. Each technique is accomplished by holding a direction on the controller while hitting the swing button (The exception is the drive technique where you can just hit the swing button). What makes this game unique is that you cannot damage the enemies with the racquet itself. This requires a little thinking when trying to tackle different enemy types.


Simple example of a drive shot.





Here is a clearing shot.





Last but not least... the SMASH!




Trailer






Links:

Website: https://www.badmintonwarrior.com

Twitter: https://twitter.com/BadmintonWars



Who am I... Why am I here?

My name is Ralph Wong, and I am the sole developer of Badminton Warrior. Around two years ago, I was sitting at a place called Hacker Dojo when a stranger introduced me to Unity. From that point forward I was hooked on video game development and have been doing it ever since. Working day and night, seven days a week, I now have a pretty complete beta version of the game finished. It has been a rewarding yet isolating experience. I hope to interact with people on this forum and hear their thoughts on my game.

Let me know what you think!
« Last Edit: November 03, 2018, 10:28:17 AM by ralphyua » Logged


Try it on Steam
Follow on Twitter
Devilkay
Level 2
**

Hi! First game-dev experience!


View Profile
« Reply #1 on: October 24, 2018, 10:59:21 PM »

still no demo to try?
Logged
ralphyua
Level 0
**


View Profile WWW
« Reply #2 on: October 25, 2018, 02:32:15 PM »

The demo is coming soon. Unfortunately, I cannot put it up until my Steam store goes through its two week "Coming Soon" status. I will let people know when it is up, though.
Logged


Try it on Steam
Follow on Twitter
ralphyua
Level 0
**


View Profile WWW
« Reply #3 on: October 25, 2018, 03:09:24 PM »


This boss took me awhile to complete. I think it may be the only rhythm gymnastic boss in the history of video games. Corny Laugh If I am wrong, somebody let me know. I named her Memei in reference to one of my favorite cartoons growing up, Robotech.

When trying to figure out what attacks she would have, I watched rhythm gymnastic videos and saw that they used a ball, hoop, ribbon and clubs. Liking all the disciplines, I decided to give her all four different types of attacks, which I think keeps players on their toes. The battle I most wanted this to resemble was the one in Mega Man X4 against Magma Dragoon. That has to be one of my favorite Mega Man battles of all time. You were always guessing what attack he would use next and had to react accordingly.

In general for my boss battles, I prefer having two equally skilled combatants dueling to the death. I know a lot of games try to make bosses gigantic to enhance that David and Goliath feeling, but I often find them to be less enjoyable. For example, I usually have a lot more fun facing the robot masters in Mega Man than the gigantic Dr. Wily bosses at the end. That doesn't mean I don't have big bosses for Badminton Warrior. The Axolotl dragon is huge. But I tend to lean more towards that mono e mono confrontation.
Logged


Try it on Steam
Follow on Twitter
ralphyua
Level 0
**


View Profile WWW
« Reply #4 on: October 29, 2018, 11:32:52 AM »

Football Bot Boss


Thought I would talk about one of the first real bosses I created for the game, the football bot boss. Just looking at it, he seems pretty simple to do. However, I ran into difficulties trying to get his head to run in sync with the rest of his body.

The boss is formed of three objects:

• Helmet
• Head (Big Eye)
* Body

I did this because the helmet and head can take damage, but the body is invincible. It was pretty simple to have the helmet deactivate itself after taking a certain amount of damage and then have the head activate, which would then take damage until the boss was destroyed. The tricky part was getting the head and the helmet to stay glued to the body when the football bot moved around. I tried a few methods, and the last one worked the best.

Method 1
For those who use Unity, you are probably familiar with the animator. You tell the animator what state to go to, and it plays a specific animation based on the currently active state. So the first thing I tried was animating the body and head together. The body animation would be just a series of frames like a normal 2D sprite animation. The head would also be normal 2D animation but a positioning animation was added to keep the head in the proper position. This was especially important for when the football bot was stomping because his body moved so much. If you set the animation states at the same time, they should run in sync with each other... right?

Result: Unfortunately, I found that this method only worked some of the time. Too often the frames would not play exactly in sync causing the head to detach from the body for a frame. It was definitely noticeable and annoying.

Method 2
I then tried using animation events. In Unity, you can place events within your animation clip that will call functions on particular frames. Therefore, I created an animation event that moved the position of the head whenever it reached a frame where the head needed to be moved. For example, I created an event for when the football bot stomps forward calling a function to move the head forward as well.

Result: This method worked better than the previous one, but it still was not perfect. I would say 90% of the time I got the correct result. 10% of the time his head detached. I attributed this to the animation event not always being called on the right frame.

Method 3
This was the final and best method I used. I watched a video on Youtube that talked about using interfaces to create a state machine. I much prefer this method to using enums because it is so much easier to visualize for me. It does require more code writing, but I think it is worth it because of how it simplifies things. I believe this is the video:





So using this method, I created different states for the different positions of the body. When the football bot lifts his leg to stomp, that is one state. When the football bot lunges forward and does his stomp, that is another state. I then created the equivalent states for the head. By using this state method, I was able to lock in the sync between the head and the body. When the body changed state to stomping forward let's say, the head also changed state to being in the forward position. Because the state changes were called in the same update, this eliminated any drifting that often happened with the animator.

Well, that's all for me on this update. I hope somebody found it helpful. If you have an even better idea for keeping sync, let me know. This is only a method I used that worked, but I'm sure it is not the definitive solution.
Logged


Try it on Steam
Follow on Twitter
QOG
Level 3
***



View Profile WWW
« Reply #5 on: October 29, 2018, 02:14:17 PM »

Seems like a fun game, I like the variety in the bosses.
Logged
TenginE
Level 0
*


View Profile
« Reply #6 on: October 30, 2018, 03:34:21 AM »

Do you have any tips to offer a fellow solo Unity dev?  Smiley

This looks great btw, I really like the sports theme and the central mechanic seem's fun!


Logged
ralphyua
Level 0
**


View Profile WWW
« Reply #7 on: October 31, 2018, 10:40:02 AM »

Seems like a fun game, I like the variety in the bosses.

Thanks for the compliment! I worked pretty hard on this the last two years. I just hope people will enjoy it as much as I do. There will be a playable demo out in the next week, so I hope to get some feedback from the community.
Logged


Try it on Steam
Follow on Twitter
ralphyua
Level 0
**


View Profile WWW
« Reply #8 on: October 31, 2018, 11:57:55 AM »

Do you have any tips to offer a fellow solo Unity dev?  Smiley

This looks great btw, I really like the sports theme and the central mechanic seem's fun!




Thanks for the kind words. Do I have any tips as a solo developer? Hmmm... I definitely have some thoughts about it.

Thoughts on being a Solo Dev

The Good:

  • Work at your own pace: When I start a project, I like to go full steam ahead without taking many breaks. Partners can slow me down sometimes.
  • Creative Freedom: You don't need to clear an idea with anybody. You just do it (Now I sound like a Nike commercial).
  • Learn A lot: Because everything falls on your shoulders, you tend to learn how to do everything.


The Bad:

  • No one will help: Everything falls on your shoulders so there is nobody else you can turn to. This is a reason I chose Unity over other engines. I found many tutorials and forums that helped me answer questions. However, that pales in comparison to having teammates you can go to.
  • No consistent feedback: You don't have anyone to consistently bounce ideas off of. Designing in a vacuum can be tricky. You know what you like, but how can you know how others feel.
  • Loneliness: You can feel isolated at times. Solo development can be a lonely experience, really lonely experience. You can offset this by starting things like a Devlog, and hopefully people will respond so you won't feel so alone.(Like you did with this dev log, so thanks for that) Grin
  • Motivation: This can be a double edged sword. If you find a teammate where you motivate each other, it will obviously be a good thing. However, if you are constantly being blown off by your teammate, this can drag your motivation down as well.


After going through this process (And the process is ongoing), I guess I have these tips for game devs.

Tips:

  • Don't go it alone: For the next game I do, I definitely will want to find someone whom I can partner up with. The benefits of having a good partner far outweighs the disadvantages of doing it solo.
  • Be proficient in multiple disciplines: If you're like me and don't like getting slowed down by other people's schedules, learn how to do multiple things so that you can keep working even if your partner becomes busy with life or a day job. That way your partner can help off load you instead of you being dependent on your partner to move on.
  • Drop bad partners quickly: This is a lesson I learned the hard way. I was working on this one project for six months where my partners were not getting anything done. They were not bad people, but definitely not dedicated. I should have parted ways with them after seeing the initial warning signs. Within the first few months if partners do not return your text within a timely manner (one or two days), cancel meetings due to "family obligations" or "other commitments", show up to meetings with nothing accomplished since the last time you met, then it is time to move on. DO NOT GIVE PEOPLE THE BENEFIT OF THE DOUBT. If a partner has shown to be dedicated for a few months, then slacks off here and there, you have to give some leeway since most of us do have other responsibilities. However, if a partner starts slacking off early on in the project, chances are that behavior will not change, and those partners will drag you down.
  • Take a step by step approach: Developing on your own can feel overwhelming. Break your project down to smaller steps. Then keep breaking them down until you have a step that can be accomplished in a day or two. For example, the smallest step should not be something like, "Finish final boss battle". It should be more like, "Finish boss flying animation". This way, the task for the day is clearly defined, which allows you to focus on it. You also feel a sense of accomplishment at the end of the day instead of feeling like you have a million other things you still have to do.
  • Remind yourself how lucky you are: Many times I got up in the morning dreading what I had to do that day. At first I would say to myself, "Today I have to implement this feature..." or "Damn, I have to make this functionality work". Later, I started to say to myself, "Today I GET to implement this feature... I GET to make this functionality work". A big part of motivation and happiness in general depends on how you look at the world. I just watched Miss Saigon last night. It is an amazing musical, and I urge anyone who hasn't seen it yet to go see it. I bring this up, because the musical really captures the desperation of the Vietnamese people during the time of the Vietnam war, the hopelessness and fear so many of them felt. Most of us do not have to deal with that in this current period in history and should feel grateful that we can pursue the things that we love (such as video games). Keeping this basic perspective is probably the single most important advice I can give to you. It helped me get through many days and will probably help me get through many more.

I hope this helped. If anyone else has anything to add, please do. I'm always looking for solo dev tips myself.
Logged


Try it on Steam
Follow on Twitter
TenginE
Level 0
*


View Profile
« Reply #9 on: November 02, 2018, 06:25:02 AM »

Wow I didn't expect such a detailed answer, thanks!

I'm still at an early stage with my own project but can relate to a lot of what you've mentioned already, especially in regards to loneliness, motivation and that feeling when you look too broadly at your project and realise just how much there is to do Waaagh! so huge respect for getting to where you are!

The only tip I could share from my own experience won't be much use to you but might be for those just starting out:

  • Get your ideas tested as quickly (and easily) as possible: For example I started out using Construct for prototyping, and only now that I have something I'm happy to develop further am I moving on to a more complex engine (Unity.) Before then I was getting bogged down in the technical side of development, all while thinking of more and more ideas that I hadn't even tested for viability in terms of both fun and my own abilities/skills.

I'll see if I can think of anything else, but for now I'll just say thanks again, and good luck with the demo (I'll be giving it a go!) Hand Thumbs Up LeftGrin
Logged
ralphyua
Level 0
**


View Profile WWW
« Reply #10 on: November 02, 2018, 11:08:03 AM »

I sometimes get carried away with my answers.  Cheesy

I agree with your tip. It's definitely good to see if the basic idea of your game is fun or not early on. If the base is broken, there is no reason to build on top of that. I'm hoping to have the demo released on November 15, 2018. I'll make an announcement then. Thanks for your interest in Badminton Warrior. Hope you'll enjoy it.
Logged


Try it on Steam
Follow on Twitter
ralphyua
Level 0
**


View Profile WWW
« Reply #11 on: November 03, 2018, 10:55:20 AM »

Since today is screenshot Saturday, I thought I would post something about my game in my dev log. Yes, I know there is another thread for screenshot Saturday, but I like to keep everything within here. Hope that's okay.


The Wrecking Ball Bot



This particular boss I call the Wrecking Ball Bot. His two appendages are actually spiked tether balls. I watched a Unity tutorial on how to put a weight on the end of a chain and have it dangle realistically. I then wondered if I could create a tether ball in the same way that could be smacked around but still be constrained to the movement of the chain. I simply followed the tutorial, then had the badminton racquet apply a force to the tether ball whenever hit, and viola. I don't think I could have ever implemented this on my own. The physics would have been too complicated. Kudos to Unity for making it so easy.
Logged


Try it on Steam
Follow on Twitter
ralphyua
Level 0
**


View Profile WWW
« Reply #12 on: November 06, 2018, 10:33:20 AM »

Badminton Warrior Early Access releasing November 15, 2018!




Bouncing Basketballs


As the early access release date gets closer and closer, I thought I would post more about the game. When I set out to make Badminton Warrior, I knew variety in combat would be important. Therefore, I tried to make each level have its own unique gimmick. One of the more interesting levels is the basketball level where players can bounce balls back at their enemies. There are also parts in the game where the player must hit the basketball into hoops. These feel like mini-games within the level and are fun to figure out. Again, programming this would have taken me months to years on my own. However, with Unity's physics engine, I was able to do this in a couple of days using rigidbodies and colliders. Whenever I feel like complaining about gamedev, I have to remind myself that twenty years ago, making this game would have been prohibitively difficult for one person. The indie market may be saturated right now, but I'd rather have that ability to make good games than having a smaller market without that ability. Those are my two cents.
Logged


Try it on Steam
Follow on Twitter
ralphyua
Level 0
**


View Profile WWW
« Reply #13 on: November 09, 2018, 03:02:28 AM »


Badminton Warrior Early Access releasing November 15, 2018!



Teleportation

With the early access release date fast approaching, I thought I would post some more information about the game. Let's talk about teleporting! I remember the Galaxy Man stage in Mega Man 9. I thought the teleporting gimmick was a fun idea. However, I was a little disappointed in how they incorporated it into the stage. It almost seemed like an afterthought. I tried to make it so teleportation played a vital role in how the player engaged the enemy. Below is a simple example of what I mean.



By being on the right side of the pipe, the lacrosse bot can attack the player but is protected from the player's attack. If the player simply teleports to the other side, the player will take damage from landing on the lacrosse bot. However, by teleporting to the other side and hitting a projectile at the lacrosse bot first, the player can climb the ladder without taking a hit. Let's see another example of how players can use the teleporters to their advantage.


Here we have a shield bot on higher ground, and we all know from Obi-Wan Kenobi that you can never attack a person on higher ground and expect to win.  Roll Eyes  Durr...? Seriously though, the player cannot jump high enough to smash a projectile at the shield bot's head. If the player simply jumps up and drives the projectile right back at the shield bot, the shield will block it. This is where teleportation becomes key. Because the projectiles can even teleport, a smash will send a shot right at the shield bot's weak point.

There are more examples of this in the game, but I don't want to give them all away. Players will have to figure out different methods of fighting enemies and getting around obstacles for themselves. That's part of the fun right? Whenever I design a level, I always think to myself how this level will be unique and interesting to players compared to the last one. What new fun experiences or challenges will be waiting. One thing that irritates me is when a game repeats the same exact challenge over and over again in order to lengthen a game without actually providing any additional value. I am hoping that when people play Badminton Warrior, they will feel that none of the levels were created as filler.

Logged


Try it on Steam
Follow on Twitter
ralphyua
Level 0
**


View Profile WWW
« Reply #14 on: November 12, 2018, 01:26:28 PM »

Boss Fights

With the early access release coming this Thursday, I thought I would talk about one of the best points of Badminton Warrior... THE BOSS FIGHTS! The bosses for the first two levels are fairly easy. This is intentional to get the player comfortable with the controls and game mechanics. After that, the boss fights get much harder even in the levels marked as easy.  The player will be presented with eight levels they can tackle in any order they feel like. Can anyone tell I'm a huge Mega Man fan?


Right now there is no life system in the game. That means that players can continue at checkpoints to their hearts' content. This also means they don't have to replay certain parts of a level over and over again in order to get back to a boss fight. I know many old school games make players do this in order to increase the challenge and lengthen the gameplay time. I personally hate having to retread parts of a level just to get back to a boss fight. Because I made Badminton Warrior, I can take out all those things that frustrate me with other games.





Kirks Boss

Kirks is a hunter who prides himself on killing big game and hanging their heads on his wall. He is well equipped to tackle any sized prey with his armored tank, machine gun, and grenades. He eventually goes after the deadliest prey of them all... human beings. Based on the character from Apocalypse Now, he was a really fun boss to make.


Kirks has three different types of attack. His machine gun attack is fairly easy to dodge by simply jumping over it. The turret attack is a little more difficult to avoid since three shells are shot in succession, but if the player can smack the shells back at Kirks, it causes major damage. Conversely, if the player is hit by a shell, it takes away a good deal of health. The final attack is a barrage of grenades he throws. This is by far the hardest attack to dodge. The good news is that sometimes Kirks accidentally hits himself with his own grenade.




TickTocker Boss

I originally called this guy the Clockman. Then I decided to make him talk like a Smurf, where he would use the words "Tick" and "Tock" as if they had multiple meanings. Of course, it just made sense then to call him TickTocker. Because he lived in a clock tower, I thought of Big Ben in London. From what I understand, cricket is a big deal over there so I made him a cricket player. Additionally, Clockwork Orange was a famous British movie, and I based his look a lot on the main character of that film.


TickTocker also has three different types of attack. He will tumble around spinning his cricket bat like a weapon. He will tumble on the ground turning himself into a buzzsaw. And he will lunge at players swinging his bat like a sword. As he is attacking, pitcher bots will be throwing cricket balls at the players that they must dodge and use to counterattack TickTocker. His movements are extremely fast, but players can slow him down by hitting the three wickets on the far side of the room.




KingBaller Boss

I don't think it takes a genius to figure out who this boss is based on. Durr...? Living in a house made of gold, KingBaller rules over his property that is filled with money, cars, jet skis, yachts, and Olmec heads (I was thinking of the most useless, luxury item a person could have in their house, and the Simpsons came to mind). Isolated too long in his mansion of treasures, he has become delusional and actually believes himself a king. Within this level, various portraits of KingBaller show important events in his life. These portraits take a strange but humorous turn at the end, which I won't give away here.


KingBaller has several different attacks. He will run to the sides of the room and throw basketballs at the player. He will stop and bounce basketballs off the ceiling and floor. He will also attempt to shoot basketballs through the hoops which will cause spikes to fall from the ceiling. These spikes cause a great deal of damage. To prevent them from falling, players can use the jumping boards to elevate high enough to block the shots. They can also shoot basketballs into the hoops themselves and turn the spikes against KingBaller.

Well, that's just a quick rundown of three of the bosses. There are plenty more in the game, and each has their own unique characteristics and attack methods. Hopefully you found this update enjoyable and I look forward discussing the game with players after the launch. 
Logged


Try it on Steam
Follow on Twitter
ralphyua
Level 0
**


View Profile WWW
« Reply #15 on: November 13, 2018, 11:43:42 AM »

Badminton Warrior Early Access releasing November 15, 2018!



Gameplay Videos

I spent the last few days creating some gameplay videos for Badminton Warrior. It's my first time doing it, so I had a difficult time trying to figure out how to get OBS, Audacity, and iMovie all to work together. I'm not sure if people prefer gameplay with no commentary or if they like hearing me talk about the game while playing it. Guess I'll find out.


Tutorial






Stage 01 Gameplay



Logged


Try it on Steam
Follow on Twitter
ralphyua
Level 0
**


View Profile WWW
« Reply #16 on: November 14, 2018, 01:13:26 PM »

Indie Marketing Dev Log

Don't know if this will be helpful to anyone, but I have started an indie game marketing dev log for Badminton Warrior. When I started marketing, I watched a bunch of videos and read articles on what I should do. However, none of them went into specifics. Although I understand each game is different, it would have been nice to see some real life examples, to see what worked and what didn't work for a game, to know how long it took to get traction. Since I didn't find anything, I decided to do one of my own.


Introduction Video




My first impressions of the Twittersphere



Let me know your thoughts and experiences with marketing your game. I definitely could use any advice. Thanks.
Logged


Try it on Steam
Follow on Twitter
fall_ark
Level 2
**



View Profile
« Reply #17 on: November 15, 2018, 02:56:51 AM »

I have to say although the art and UI work looks on the weaker side there seems to be lots of heart in it. Will try the demo.
Logged

Chinese localizer and influencer. Translated Dead Cells, Slay the Spire, The Count Lucanor, Katana Zero, Dicey Dungeons, and involved in the localization of Reigns, The Curious Expedition, Desktop Dungeons, etc.
If you have questions about Chinese loc and publishing etc., find me at Twitter @SoM_lo
ralphyua
Level 0
**


View Profile WWW
« Reply #18 on: November 15, 2018, 02:17:45 PM »

Early Access and Free Demo Available Now!


Thought I would let people know that the game is finally out for people to try. You can download the free demo, and if you like it and want to be a part of shaping the game going forward, the launch price is only $5.99 right now.  Also, the game got featured on Indie Game Fiend, a channel I watch all the time for new and interesting games! BTW the dragon is not my game, but it is the first one to appear in the video.



Logged


Try it on Steam
Follow on Twitter
ralphyua
Level 0
**


View Profile WWW
« Reply #19 on: November 19, 2018, 02:48:30 AM »

Update: Changed Racquet Hit Detection Box

I've already made some changes based on player feedback. The delay between the time Ral starts to swing to when the hit detection box activates has been shortened. This gives the racquet a more responsive feel. Also, the hit detection box for the clearing shot has been moved back and over Ral's head. Projectiles shot at the player's head can now be hit upwards without having to move back first. More details in the video below.




Just wanted to let players know that I am listening to their feedback and making adjustments accordingly.
Logged


Try it on Steam
Follow on Twitter
Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic