Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411423 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 18, 2024, 04:32:36 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsOUT NOW! Dynasty Feud - 2D Local/Online brawler
Pages: [1] 2 3 ... 7
Print
Author Topic: OUT NOW! Dynasty Feud - 2D Local/Online brawler  (Read 28775 times)
Eneko Egiluz
Level 1
*



View Profile
« on: December 04, 2015, 07:56:24 AM »





Hi guys! Welcome to our Devlog.

We would like to show you Dynasty Feud, a crazy 2D fighting game for 2-4 players, in which dynasties of different historical ages will fight until only one of them remains alive. What about a samurai jumping over a Viking ambushed by a cowboy? This idea came to our minds months ago and triggered this project we are now embarking on. Axes, bullets, katanas and anything you can imagine combined to bring fighting games to a new dimension!

These dynasties will be composed of up to 5 different members, and fighting skills, agility or size will vary drastically from one character to another, providing the game with a massive variety and ways of playing. There will also be ghosts, which will haunt players while waiting for the next character to appear. Vikings, cowboys, Japanese or Aztecs are some of the dynasties you may find in the game. We will know more about this in future posts.



In Dynasty Feud the gameplay consists of fast paced battles enhanced with some platformer mechanics. Each combat will be different; from archers to melee fighters, annoying snipers or fast characters are going to confront you in the battlefield.


Examples of some levels in Dynasty Feud showing how they change over the time (Sped up)

Levels will be dynamic, and your fighting style should be too. Are you that ranged soldier that stays in the corner of the level, waiting for the perfect opportunity to appear? Your cover may blow up! Each level will bring its different behavior, and mastering them will surely bring an advantage to your side. Be a master, and every opponent will kneel before you!




Aitor “Falven” Gomez: Designer.
Jon Sanchez: Programmer.
Eneko Egiluz: Programmer, Manager.
Juan Sampedro: Artist.
Aitor Tejedor: Programmer.
« Last Edit: May 24, 2017, 07:16:48 AM by Eneko Egiluz » Logged

Davi Vasc
Level 1
*



View Profile WWW
« Reply #1 on: December 04, 2015, 08:47:59 AM »

Nice art!
Logged

Davi Vasc - Video Game Composer
Website: www.vascmusic.com     
Twitter: https://twitter.com/VascMusic
ashtonmorris
Level 2
**


View Profile WWW
« Reply #2 on: December 04, 2015, 12:31:46 PM »

Great concept, I like where this is going  Ninja
Logged

Ashton Morris - Composer & Sound Designer

Roah * Bomblsinger * Goliath * Wings of Vi * Lemma * Bit Heroes * Star Command Galaxies


http://www.ashtonmorris.com

Twitter: https://twitter.com/ashtonmorris
Eneko Egiluz
Level 1
*



View Profile
« Reply #3 on: December 04, 2015, 03:25:09 PM »

Thanks! We will be uploading more during the following days! Smiley
Logged

Eneko Egiluz
Level 1
*



View Profile
« Reply #4 on: December 07, 2015, 08:50:05 AM »


Here we go!!

Today we want to expand on the design of the game. The main idea of the game is to be a fun fast paced platformer brawler, that’s our objective and what we are aiming for.

The standard mode will consist of up to 2 to 4 players each one controlling a dynasty of 5 members, the last one standing being the winner. Each member of the dynasty will only have one life (there are some exceptions), this means that there is no life bar, if something or someone hits the character he/she will die. So we can say that each player with its selected dynasty will have 5 lifes.

The 5 members of the dynasty won’t repeat, each one will be different, with a different set of attacks and movements. After one dies the next one will spawn. So knowing your family and the strengths and weaknesses of each member will become an important advantage in the game.


  • What happens if a player loses all their members too quickly? Should we wait until the match ends?
  • With so many different playable characters, wouldn’t it be difficult to learn how to play?
  • Did anyone say balancing?

To answer the first problem, we were thinking of having something to do when all characters were dead and that’s how the idea of the spirit or ghost came to us. A spirit related to the family that will literally haunt the player who has killed him. This is the Feud mechanic, once a player kills a member of another dynasty, that player will own the feud of the murdered family. Allowing the killed family spirit to bother and annoy the player that owns its feud, stunning, pushing or slowing the characters from that player’s dynasty. Until another player steals its feud or the player with the feud loses all its members.


The family spirit will spawn after each member death, for around 5 seconds if there is still some member available in the dynasty. Allowing for a bit of payback and repositioning on the level, for the next member. If there is no other member available the ghost will haunt their killer forever.

So with the idea of the spirit we solved the problem of having a player idle waiting for the next match, and also how the next character will spawn, giving the player the ability to reposition itself, allowing for a bit of strategy.


So I will leave it here for now. I would like to hear your thoughts on the general design and the Feud mechanic, I think it has much potential. And if you have any doubt or would like to know something in particular feel free to ask.
Logged

Michael Klier
Level 1
*



View Profile WWW
« Reply #5 on: December 07, 2015, 11:08:21 PM »

Really like the Feud mechanic! But I feel there maybe should be a possibility for the player to counter those ghosts for short periods of time (like maybe a spell or sth. to make the stuns in-effective for a while). I.e. lets say two players are dead and are ganging up on one of the remaining two?
Logged

Sound Design, Audio Implementation, Music
Reel Twitter
Working on

Eneko Egiluz
Level 1
*



View Profile
« Reply #6 on: December 08, 2015, 03:21:40 AM »

@Michael Klier: Thanks for the feedback!. The example you suggested is something that happens right now in our tests, and I think that those moments are really funny. Yelling at your friends to leave you alone while trying to kill the last character standing, usually drives to hilarious situations. But it is also true that is not so easy to land a spirit attack. The spirits are harder to control. They retain some of the inertia of their movement so it is harder to change directions. As any other character, they need to land the attack on the member of the dynasty who has its feud, and those members have movements to evade those attacks like rolls or dashes it depends on the specifics of the character. And finally the spirits can not spam their attack like it is the end of the world, the ghosts attacks have a cooldown if I am not mistaken around 5 seconds, so it is more important to position yourself and wait for your moment than spamming like crazy.

In conclusion, it is not so easy to land a spirit attack, the characters have tools to evade those attacks unless you are really inmerse in a close combat. So we do not feel the necessity of adding a ghost disabler or something similar right now, at least as main mechanic for all families and characters, but I think that it could be interesting to give that ability to a specific family or character making them tougher against the spirits, so thanks for the suggestion. Of course we are still in a very early stage of the development and all of this might change.
Logged

Michael Klier
Level 1
*



View Profile WWW
« Reply #7 on: December 08, 2015, 04:34:17 AM »

In conclusion, it is not so easy to land a spirit attack, the characters have tools to evade those attacks unless you are really inmerse in a close combat. So we do not feel the necessity of adding a ghost disabler or something similar right now, at least as main mechanic for all families and characters, but I think that it could be interesting to give that ability to a specific family or character making them tougher against the spirits

Ah I see Smiley, thanks for the explanation! And yeah, having one char with an anti-ghost ability could potentially add to the strategy involved in selecting the order of the characters you choose Smiley.
Logged

Sound Design, Audio Implementation, Music
Reel Twitter
Working on

Eneko Egiluz
Level 1
*



View Profile
« Reply #8 on: December 09, 2015, 08:57:43 AM »


Hi everyone!

Let´s talk about the art of Dynasty Feud. One of our main ideas for this project is to have a large variety of playable characters, with many different set of animations and differents shapes and blocking.

Because of this we decided to go on with a style that allows us to quickly iterate over the animations yet have the tools to properly design all the characters. This is really important as the strong characterization through different archetypes is key in making our characters very recognizable.

Humor is another key point in our game, so when designing characters we always tend to think of silly stuff for each family time and origin and then mix it with their visual appearance. For example, one member of the western family is a guy customized as a cactus... LOL! we believe this kind of silly humor actually fits pretty well in this game.


So the style we are using for in-game art is mainly pixel art. In the following art posts we'll get into details of character creation and animation process, but mainly, the overall process is designing characters through high-res concept sketches, not only digital, but traditional drawings too, and then bring them into pixel art to test few more variations in there. Once the whole family members are done, we can start animating.



The characters and the effects are created in a 128x128 canvas, and most of the characters are 30-60 pixels tall. The background is pixel art as well, but has a little bit more resolution.


In the other hand we are developing a hi-res style, basically for characters, with clean lines and flat color and shading. This art is mainly for marketing material, menus, HUD...


I hope, you guys find this post interesting. In the next posts we will deeply talk about the concept process, the animation, the high-res images, the background, the effects... anything related to art!
Logged

eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #9 on: December 09, 2015, 02:09:12 PM »

Looking good, all the best with development Smiley
Logged

Eneko Egiluz
Level 1
*



View Profile
« Reply #10 on: December 11, 2015, 09:20:43 AM »


CAMERA

Hello!

Today we will be tackling a more technical post, although this specific one is really related to design. We will talk about the first version of the camera we have implemented for the game. This will probably be improved and we will add more effects to it, but we will start from the basic. When we planned how the camera for Dynasty Feud should be, we discussed two completely different options:

Static: The whole stage fits in the screen and no movement is required at all.
Dynamic: The camera follows players and adjusts the zoom depending on the distance between them.

Below we can see the differences between them in Dynasty Feud.


As you probably have guessed since we are writing a post about the implementation of a camera we did, the option we finally selected is the dynamic one. Our main reason to go for that option is that the dynamic one fits better with the idea of levels that constantly transform.

So, let's start with the programming part:

LookAt position: To get the position the camera needs to look at, we basically need the center of every point of interest that is registered to the camera. This part is simple because it only requires for us to create a bounding box that includes all the points and the center of that box is where our camera should be looking at.

Code:
// Computes the center of interest between all the objects of interest
private Vector3 ComputeCenterOfInterenst()
{
    // If there are no objects of interest skip
    if (objectsOfInterest.Count == 0)
    {
        centerOfInterest = Vector3.zero;
        return centerOfInterest;
    }

    // Find the corners of the points of interest (create an AABB around them)
    Vector3 maxPoint = objectsOfInterest[0].transform.position;
    Vector3 minPoint = objectsOfInterest[0].transform.position;

    for (int i = 1; i < objectsOfInterest.Count; i++)
    {
        float xPos = objectsOfInterest[i].transform.position.x;
        float yPos = objectsOfInterest[i].transform.position.y;

        if (maxPoint.x < xPos)
            maxPoint.x = xPos;
        if (minPoint.x > xPos)
            minPoint.x = xPos;
        if (maxPoint.y < yPos)
            maxPoint.y = yPos;
        if (minPoint.y > yPos)
            minPoint.y = yPos;
    }

    objectsBounds.max = maxPoint;
    objectsBounds.min = minPoint;

    // the center of the AABB is the center of interest
    centerOfInterest = objectsBounds.center;

    return centerOfInterest;
}

Zoom adjustment: The proper zoom adjustment implies a little more work (not much more). To know if the actual zoom is correct, we have to compute the percentage of the actual screen that is filled by the bounding box that surrounds all the points of interest (the bounding box we computed for the center of interest), we call this screen occupancy. Actually the screen occupancy will be computed separately for the different axes, X and Y. The way to find this values its pretty straight forward, get the farthest point from the center of interest along that axis and convert that point from World coordinates to NDC (Non-device coordinate). That's it! You have a value that is 1 when your Points of interest are just in the corners of the camera and close to 0 when they are really close. Once this value is computed the only thing missing is to change the actual zoom, which is as simple as deciding the screen occupancy fits better at each moment and zoom in when the occupancy is smaller than the selected and zoom out when its bigger.

Code:
// Find distance between farthest point of interest and center of interest in X
Vector2 viewFarthesX = cam.WorldToViewportPoint(farthestXPoint);
Vector2 NDCFarthesX = Transformations.ViewportToNDC(viewFarthesX);

float screenOccupancyX = Mathf.Abs(NDCFarthesX.x - NDCCenterOfInterest.x);

// Find distance between farthest point of interest and center of interest in Y
Vector2 viewFarthesY = cam.WorldToViewportPoint(farthestYPoint);
Vector2 NDCFarthesY = Transformations.ViewportToNDC(viewFarthesY);

float screenOccupancyY = Mathf.Abs(NDCFarthesY.y - NDCCenterOfInterest.y);

// Get maximum occupancy
screenOccupancy = Mathf.Max(screenOccupancyX, screenOccupancyY);

Screen Occupancy = 0.1Screen Occupancy = 0.3
Screen Occupancy = 0.6Screen Occupancy = 0.9

Hope the explanation was somehow clear enough. Have a nice day and see you next time! Grin
« Last Edit: December 12, 2015, 04:12:46 AM by Eneko Egiluz » Logged

Eneko Egiluz
Level 1
*



View Profile
« Reply #11 on: December 15, 2015, 07:27:36 AM »

Hello again!

Today we have been working on the combat animations for the Vikings' leader. We named him Ragnar. A fast melee fighter with basic armor and a shield.
What do you think? Any other attack you would like to see?
Logged

Eneko Egiluz
Level 1
*



View Profile
« Reply #12 on: December 16, 2015, 08:27:46 AM »



The road so far.

Where do we stand in the development?

We have implemented two of the main families (the goal is to have 8 of them) Cowboys and Vikings, and one thematic level, related to the Vikings.

The Viking family is composed by Ragnar, the leader and stronger character of the family. He is an agile fast character, protected by his shield and dangerous in melee combat. The berserker is the old grandpa, a big warrior that can go literally berserk.
The archeress, tiny but deadly with a long range of reach. The axe-thrower bit slower but with tricky parable. And the shieldmaiden with a bit of everything fast, with melee and ranged attacks thanks to her spear. A pretty versatile family.

The Cowboys have the gunslinger, their leader, the fastest shooter of the wild west. The sharpshooter a deadly sniper if left alone. The gatling hard to control but with an immense destruction power. The old grandma, tiny and fast as hell throwing knifes  everywhere. And finally but not least, the mad uncle, that likes to play with dynamite and no one knows why but likes to disguise himself as a cactus.
             
The level is a journey across the sea in two big drakkars, sailing over day and night, who knows what the night brings.

And mainly that’s all, the level works, the characters works, everything needs tons of polish, but we are going forward and starting the next level and family.
Logged

Eneko Egiluz
Level 1
*



View Profile
« Reply #13 on: December 17, 2015, 07:39:53 AM »

The next family we will work on will be the medieval family. These are some variation of the pixel art models that our artist Juanillo did, based on the initial design.

Logged

Eneko Egiluz
Level 1
*



View Profile
« Reply #14 on: December 17, 2015, 09:19:18 AM »

And this is one of the characters animations that we are implementing, initially named as  lance-a-lot. If everything goes as planned  tomorrow we could show it in action.

« Last Edit: December 17, 2015, 11:59:41 PM by Eneko Egiluz » Logged

Eneko Egiluz
Level 1
*



View Profile
« Reply #15 on: December 18, 2015, 10:27:08 AM »

Everything went as expected and here it is lance-a-lot charging wildly, probably its best skill, with its armor allowing him to endure an extra hit. Not the best character of the medieval family but he has its tools to play with.



In between a bit of fighting with particles sorting, and bug fixing. Now the shield should do what it must, protect the user against a bullet hell. We have also added the outline to the bullets and projectiles, trying to make them more visible although we had our discussion internally if it hurts the art, being an excessive use of the outline.

Logged

Eneko Egiluz
Level 1
*



View Profile
« Reply #16 on: December 22, 2015, 07:25:07 AM »

More animations!
The Medieval family is getting bigger. Today we announce the Black Knight and the Jester.


Logged

thefoolishbrave
Level 2
**



View Profile WWW
« Reply #17 on: December 30, 2015, 03:50:16 PM »

This looks fun and simple enough to play with my gaming aptitude challenged friends :D when there is a more stable version I will be sure to give this a whirl with them.
Logged

Eneko Egiluz
Level 1
*



View Profile
« Reply #18 on: December 31, 2015, 04:33:04 AM »

Thank you! We'll be releasing new versions soon so that you can crush all of your friends. Stay tuned!
Logged

Eneko Egiluz
Level 1
*



View Profile
« Reply #19 on: January 05, 2016, 08:18:03 AM »

Happy new year guys!

Time to see The jester in action! She is a fast medieval character with a three-arrow crossbow.

« Last Edit: January 05, 2016, 08:28:20 AM by Eneko Egiluz » Logged

Pages: [1] 2 3 ... 7
Print
Jump to:  

Theme orange-lt created by panic