Welcome, Guest. Please login or register. Did you miss your activation email?

Poll

Which ability-use system would you prefer for a sidescrolling beatem'up?

Button Input System (akin to Mortal Kombat - down-forward-punch)
6 (54.5%)
On Button Press (ex. Hold left trigger and press Y)
4 (36.4%)
Other (please specify in comments)
1 (9.1%)

Total Members Voted: 11

Author Topic: BFF: a tale of two best friends against the world. [Update #5]  (Read 4983 times)

0 Members and 1 Guest are viewing this topic.

Gobbles

  • Full Member
  • ***
  • Posts: 132
    • View Profile
    • Email
//============= Update #5 Is here! ===================//
Another week and another few lines of code completed. Was a rather slow week due to prepping for my kiddos first days in school so not a whole lot of fun features were completed, but I'll give a rundown anyhow.

With the setup of some basic AI and collision completed I decided it was time to set up a proper entity manager and hierarchy system to manage the lifetimes of all my entities in each level. Entities consist of all persistent objects hanging around in the level. So far these only include characters, enemies, neutrals and summons, but later on I plan to add support for smashables/throwables as well.

With the basic setup now complete, going forward should be a breeze and it brings me one step closer to having a working demo of the first level complete. This actually leads me into some more design I hadn't planned for. How do I handle levels?

There are number of ways to I've considered doing this, although I havn't landed on one single decision yet.

-I've thought about using just massive levels, they tend to be simple, easy on the art and very easy to script. Player only goes forward and handles each event as they come. Also this tends to be much more resource heavy as I need to account for the entire level. (Think turtles in time, battletoads, etc)

-On the more dynamic side, I thought of doing each level as a series of 'rooms'. Although this does break immersion on outdoor levels, this greatly reduces the need for resources in memory as I can switch out what I need when loading that specific room. Also when it comes to scripting it would be a bit more difficult then massive levels, but still fairly easy.

-Of course there's always the idea of taking the previous two and mashing them together. Make it so outside is one long level and have branching rooms the player can go down. Increases complexity in almost every direction but adds more variety for the player.

-Branch away from only having a forward moving game, could I make the levels open explorable? Allow the player to walk back and forth, exploring their surroundings and looking for any secrets/alternative routes? At this point am I going too far down the road of scope creep and expecting too much for this game?

I still have a lot to decide, if you have any comments or ideas, don't be afraid to share. I always love hearing new ideas!



Meet two more new enemies for the first level. The SJW (Social Justice Warrior) and the White Knight!
Watch out! While they look relatively weak and harmless, these buggers tend to travel in packs and work in numbers. 1-2 might be no problem for any hero to handle, but should they call on for more help from supporters, their numbers can quickly escalate to unmanageable amounts.
« Last Edit: August 27, 2014, 06:44:49 pm by Gobbles »

Geheim

  • Full Member
  • ***
  • Posts: 201
    • View Profile
    • Email
Re: BFF: a tale of two best friends against the world. [Update #1]
« Reply #1 on: July 23, 2014, 11:22:18 am »
I voted for #1, although you could implement both and let the player decide in the menus?

Higgins looks amazing, did you make him yourself? To ask some questions the project is in a too early stage, so I will wait a bit :)
Failing to succeed does not mean failing to progress!

Doodlemeat

  • Guest
Re: BFF: a tale of two best friends against the world. [Update #1]
« Reply #2 on: July 23, 2014, 11:45:53 am »
Since I am in love with the smash bros I have to vote for #2. I think it will be more skillbased.

Gobbles

  • Full Member
  • ***
  • Posts: 132
    • View Profile
    • Email
Re: BFF: a tale of two best friends against the world. [Update #2]
« Reply #3 on: August 05, 2014, 07:15:17 pm »
New concept art add in, let me know what you guys are thinking!

Gobbles

  • Full Member
  • ***
  • Posts: 132
    • View Profile
    • Email
Re: BFF: a tale of two best friends against the world. [Update #3]
« Reply #4 on: August 13, 2014, 04:07:55 am »
Another week, another update.

First the pictures to capture interest:



Quick rundown, first we have the thug, our generic bad guy in the first level. He's got a mean punch but fortunately all his muscles are in his body and not his brain.

Next we have a few quick concepts, A beefed up Thug and the Thug Boss. You might ask why he's all messed up.. but that's secret for now.

So onto the main blog post. I've been hard at work getting all the components into the game and setting everything up. I'm on track right now to have the first level demo-able by End of September. That's my goal as of right now and hopefully nothing gets in the way of that.

This past week has been spent on setting up for the enemies. As of today I have started working on the AI for at least some basic enemy behavior. I think I have a basic concept for the thugs which I'll break down here:
  • Prepare
  • Seek
  • Assault
  • Retreat
  • Stumble

So here we have some pretty basic states.

Prepare: This is the enemies most basic state. Almost akin to an idle, the enemy prepares to attack the enemy, waiting and maintaining a short distance from the player

Seek: The Enemy seeks out the player, rush in, leads to Assault

Assault: The Enemy takes a swing at the player, leads to Retreat

Retreat: Used after an Assault, the enemy backs out back into Prepare.

and finally,

Stumble: Special state for when the player lands an initial blow/staggering amount of damage on the enemy, will allow physical attacks to gap close easier and allow ranged players to interrupt Assaults and special attacks.

That's all for now, hopefully soon I'll have a video up of player vs enemy interactions, if even at the basic level.

I'm no expert on this stuff, so if you see something that would work better, just shout it out, I'm always open to suggestions! Until next week.


Gobbles

  • Full Member
  • ***
  • Posts: 132
    • View Profile
    • Email
Re: BFF: a tale of two best friends against the world. [Update #4]
« Reply #5 on: August 21, 2014, 07:06:00 am »
Update #4 here (a day late, but it made it none the less)

So it was another AI week, and boy oh boy do I love AI. I've always had a passion for figuring out what makes the baddies tick, the mentality behind mobs and swarms and how to push the boundaries of making entities in games feel more real.

So far I've been using state machine for all my AI and animation needs, stack based FSM's to be exact and they've been working quite well. So I'm not too sure why, maybe it was the countless articles that were popping up on reddit on BT's, but I thought about switching it up to BTs to control my mob behavior. So I spent a few days and did my research and surprisingly there's quite a bit a good information out there.

BT's are actually quite cool and they certainly have a lot of merits, but in the end I decided to not go with them. What I realized is they serve a more specialized role and are amazing if you need to really conserve memory, but ultimately my stack based FSM system will allow me some excellent control over behaviors and debugging, albeit being much more verbose.

So while I wouldn't say the week was wasted, it was definitely much more relaxed. At the end of the week I decided to pick up the pace by beginning to work on the first boss in the game. I really enjoy working on the 'Corrupted Thug' named Todd - he's just that perfect level of douchebag mixed with badass and I feel the look is just right for the game.

A little info about Todd:
-Being the first boss, I wanted to make him challenging, yet simplistic in comparison to the rest of the challenges to come in the game. I decided to go with a Big, dumb, slow and a very strong boss. In the picture below you can see the size comparison to one of the main characters and he just towers over you. Feels intimidating and I love it.

-Todd's attacks will hurt.. a lot. This boss is about massive hits that are all meant to be avoided. With the starter characters, anywhere from 3-5 hits at full health will take you out.

Attacks will include:
    A ground slam (most basic attack) that hits directly in front of him.
    A Leap assault, watch his shadow to dodge the attack - aims for a random character
    Summon henchman - summons 1-3 henchman, based on total life left
    Tornado Attack - with outstretched arms, Todd will spin in circles and bounce around the screen, attempting to hit the players. His fastest attack (although not very fast)
    Charge - Charges at a player to attempt to grab them and deal a massive amount of dmg. Has a long charge to warn the player.

I might include more behaviors based on health remaining at a later date, but these are my initial goals I want for the Boss.



Thanks for reading once again, until next week.

Gobbles

  • Full Member
  • ***
  • Posts: 132
    • View Profile
    • Email
Re: BFF: a tale of two best friends against the world. [Update #4]
« Reply #6 on: August 27, 2014, 06:43:30 pm »
Another week and another few lines of code completed. Was a rather slow week due to prepping for my kiddos first days in school so not a whole lot of fun features were completed, but I'll give a rundown anyhow.

With the setup of some basic AI and collision completed I decided it was time to set up a proper entity manager and hierarchy system to manage the lifetimes of all my entities in each level. Entities consist of all persistent objects hanging around in the level. So far these only include characters, enemies, neutrals and summons, but later on I plan to add support for smashables/throwables as well.

With the basic setup now complete, going forward should be a breeze and it brings me one step closer to having a working demo of the first level complete. This actually leads me into some more design I hadn't planned for. How do I handle levels?

There are number of ways to I've considered doing this, although I havn't landed on one single decision yet.

-I've thought about using just massive levels, they tend to be simple, easy on the art and very easy to script. Player only goes forward and handles each event as they come. Also this tends to be much more resource heavy as I need to account for the entire level. (Think turtles in time, battletoads, etc)

-On the more dynamic side, I thought of doing each level as a series of 'rooms'. Although this does break immersion on outdoor levels, this greatly reduces the need for resources in memory as I can switch out what I need when loading that specific room. Also when it comes to scripting it would be a bit more difficult then massive levels, but still fairly easy.

-Of course there's always the idea of taking the previous two and mashing them together. Make it so outside is one long level and have branching rooms the player can go down. Increases complexity in almost every direction but adds more variety for the player.

-Branch away from only having a forward moving game, could I make the levels open explorable? Allow the player to walk back and forth, exploring their surroundings and looking for any secrets/alternative routes? At this point am I going too far down the road of scope creep and expecting too much for this game?

I still have a lot to decide, if you have any comments or ideas, don't be afraid to share. I always love hearing new ideas!



Meet two more new enemies for the first level. The SJW (Social Justice Warrior) and the White Knight!
Watch out! While they look relatively weak and harmless, these buggers tend to travel in packs and work in numbers. 1-2 might be no problem for any hero to handle, but should they call on for more help from supporters, their numbers can quickly escalate to unmanageable amounts.

 

anything