Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411276 Posts in 69323 Topics- by 58380 Members - Latest Member: bob1029

March 28, 2024, 11:23:58 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsDungeon Clash
Pages: [1]
Print
Author Topic: Dungeon Clash  (Read 3300 times)
dspencer
Level 3
***


View Profile WWW
« on: May 02, 2010, 04:26:02 PM »

Dungeon Clash

WIP
Features:
  • Turn Based Multiplayer Action
  • Strategic Dungeon Crawling
  • Epic Battles
  • Magic Spells

Dungeon clash is my take on a Fire Emblem/Battle for Wesnoth type of game. I never felt like either of those games got Multiplayer right (I haven't played the new fire emblem games, but the at least the GBA ones didn't even have a map!), so this game is hopefully going to do just that!

The premise is that each player controls an opposing adventuring party, both attempting to loot the same dungeon. When this happens, there is only one course of action: attempt to completely obliterate the opposing party. Each party consists of some combination of character classes (For now, Warrior, Rogue, White Mage and Dark Mage), which can all move and attack, and use special powers. Each character would have 2 or 3 moves, in addition to move&attack. Either they will be a specific set for each class, or each class will have a larger set for which you choose a subset for each unit on the table. These moves will be freely used - however, they take a while to recover from using, and they require you to be in position beforehand, which makes the not ideal for every turn use.

Example moves -
Slide/Slice: The rogue passes through an opponents square while dealing minor damage.
Ankh: The white mage fires a long distance projectile which illuminates darkness for all players.
Shove: The warrior brusquely shoves a unit away from him, by one or two squares (or perhaps as far as possible?). This deals damage if its an enemy unit.
Teleswap: The dark mage is able to swap positions with an enemy unit, instantly.

I'm unsure about how turn taking is going to take place. Right now, I have two options.
1) Your turn, you order your guys to move. Some moves have multi-turn cooldown, which makes you think twice about using that move.
2) Each unit has its own "cooldown" counter. Whenever a unti has its cooldown at 0, it can make a move. Each move increases the cooldown a certain amount (moving might increase it two per square, for instance). When no units are able to move, every unit decrases its cooldown by 1, until some unit is ready. Thus, your quick unit might be able to attack a few times before the warrior recovers from his power attack. I like this setup more, but its more complicated. It works better as a cost for the special abilities, I think.


I've begun coding this; it still has placeholder graphics (read: colored squares) for the moment, but I'm going to start developing the graphics manager in a few days, so hopefully I'll throw some screenies up when that is done. The game is based around the multiplayer aspect, so I'm coding it with that in mind.

EDIT:
A very quick mockup of the map on the players turn.

What the game looks like right now (next step is getting placeholder art in so I don't forget what color means what!)

Notice the directed path Smiley

Completed
Basic Program Outline
Control flow for one move (many stubs involved)
Setup OpenGL for rendering


Currently in progress
Polishing the course of action for a single unit move.


TODO:
Finish up networking stuff
Artwork
Title screen/prebattle stuff
Making actual character classes
making actual abilities

« Last Edit: May 03, 2010, 06:48:21 PM by dspencer » Logged

Cocytus79
Level 0
***


Pathetic man-child


View Profile WWW
« Reply #1 on: May 02, 2010, 06:02:01 PM »

Great idea. I haven't played Battle for Wesnoth in many, many years so I don't recall much of it, but I'm a HUGE Fire Emblem fan.

Any possibility of having the dungeons have monsters that are hostile to both parties ? Seems like that would introduce a nice element to the game.

Looking forward to seeing more of Dungeon Clash  Gentleman
Logged
Mincus
Level 0
**


View Profile WWW
« Reply #2 on: May 02, 2010, 06:34:06 PM »

Sounds interesting.

I'm unsure how your 2) idea for movement would work in a multi-player environment though, would each player take a turn to move a character? Or would the cooldown be purely for non-movement moves, such as attacks?
Basing the cooldown timer on 'turns' taken instead of 'when no character can move' might make more sense. I remember when playing Battle For Wesnoth that it's fairly common to have some characters sat defending that you don't want to be forced into returning to when there's a lot of things going on elsewhere.
Logged

dspencer
Level 3
***


View Profile WWW
« Reply #3 on: May 02, 2010, 08:49:42 PM »

@Cocytus79 - Yeah, possibly. Monsters were one idea which I've currently tabled in favor of just starting with more "core" mechanics. Additionally, I might eventually add items (the rogue gets a bow, and suddenly attacks at a range) and possibly traps. Traps would be visible on explored map - it would just be about forcing your opponent to go there to hit your guys, or tricking them into going there before they've seen that a trap is on the tile.

@Mincus Yeah - basically, the game would determine who was the next character to move, and the correct player would choose what that character does. I don't like the idea of everyone on the same team moving "at the same time" - both in terms of realism, although thats not really applicable here, but also in terms of flexibility. Balancing could be tighter with this setup, rather than having everything take some multiple of one turn.

I've been iffy about it, but since I think it could be cool, I'm going to implement it. Hopefully, when playing the game, it will seem intuitive. If not, I can always go back and change to a more solidly turn based system.

For instance - you see the warrior do a heavy attack on you, so you send your rogue in to hit him. Since he is probably cooling down for a while, you can get in two hits, before darting out and behind a corner.

(The inspiration for the system comes from MUDs, with a "balance" based action system, where doing an action puts you off balance for some time).
Logged

dspencer
Level 3
***


View Profile WWW
« Reply #4 on: May 03, 2010, 06:52:54 PM »

Did a quick edit with some images. Moving is actually working now; its not animated, but thats a task for a different day. The "artwork" in the mockup was done extremely quickly. I'm no artist, but I can manage a *little* better than that. I intend to do so, for when I actually put it in the game.

On that note, getting some art up in there is the next step. I already have the image loading function, so I basically just need to create an interface for using different images and it should be set.
Logged

muku
Level 10
*****


View Profile
« Reply #5 on: May 04, 2010, 12:43:04 AM »

This sounds like a really nice thing, do keep us updated. Since you mentioned Wesnoth, what is your stance on randomness in the game? Also, I guess there won't be a single player mode?
Logged
dspencer
Level 3
***


View Profile WWW
« Reply #6 on: May 04, 2010, 09:28:26 PM »

@muku
The randomness sort of turned me off of Wesnoth. After winning some games I definitely should not have won, and losing some I definitely *should* have won, I decided that there is way too much there; I think that if I thought differently I probably wouldn't be making this. Anyway, I plan on some randomness as it stands, but I want games to be decided on strategy, not blind luck.

Single player mode is something I'd like to do, eventually, but multiplayer is the primary target. Given the structure of the game, though, single player should be much easier to add on than it would be to go in the other direction.

Update - totally re factored some code into a different location (specifically, the Graphics Manager actually does the drawing now, which will be important for animated sequences and the like). Futhermore, I added support for images. I've quickly whipped up some filler, as you can see in this image:



My artistic skills once more shine through, especially at 1:00 in the morning. Regardless, there you go. I think my next goal is going to be getting some animations out - I'm a little apprehensive about some aspects of that process, so getting it over with will be nice.
Logged

dspencer
Level 3
***


View Profile WWW
« Reply #7 on: May 07, 2010, 05:48:19 AM »

Woo!

Animations work perfectly. For the rest of my time, I shouldn't have to deal with anything for animations for sprites. You can't tell from the picture, but the soldiers have an idle animation now.

I restructured the logic for taking a turn; now, whenever I want to add new option for what you can do during a turn, I just need to create a new class and change 1 line of code in the "start_turn()" logic, which is definitely preferable to having to write a new case for the do_turn() logic.



On that note, I implemented a very basic ability - you can now spawn walls anywhere on the map. If you look at figure A. and notice the squiggly line below the guy, that is the button for that ability. You also have the option to WAIT and to move.

Next thing to do... Probably deal with the GUI more. I want to have an info panel for the currently selected unit along with one for wherever your mouse is (the unit there, or a description of the ability.

Also - anyone who is actually reading this: what do you think of the UI? I'm trying to keep it minimal, with no outside menus, just a bunch of icons that pop up around each character when its their turn. The icons themselves will change, specifically I will make them have their own specific style that is distinct from the tile-map's style (and they will have a rollover effect). Does this sound intuitive? Does the sidebar with other info sound good? Ugly?
Logged

dspencer
Level 3
***


View Profile WWW
« Reply #8 on: May 07, 2010, 12:55:58 PM »

Real quick update - standardized the interace for buttons, allowed buttons to be animated, and finished implementing the generic "Ability" button. As an example, I've created the teleswap move (swap positions with another unit).

Next step should be animation sequences - for instance, when a character moves, rather than them just jumping to the end of their path, they should take a few frames to go between each square.

And, I think I'll upload (for Mac users, at least) a build next time!
Logged

dspencer
Level 3
***


View Profile WWW
« Reply #9 on: May 08, 2010, 10:58:35 PM »

Here we go:
indspenceable.com/Dungeon_Clash_Build_May_9.zip


Whats new:
Added graphics for a number of things. Changed how buttons look. Moves that only target an area show you what area you can target. Possible actions now include moving, waiting, teleporting, and attacking. After you move, you can attack. Lots of things are animated, or at least partially animated to show that they can be.

Right click cancels an action.


I think i'm going to add a message bar, so you can see what you are hovering over.

EDIT: OOPs I put the wrong build in there. fixed.
« Last Edit: May 09, 2010, 05:50:22 AM by dspencer » Logged

dspencer
Level 3
***


View Profile WWW
« Reply #10 on: May 28, 2010, 04:37:20 PM »

BIG DELAY HERE. End of the semester happened. This conviently coincided with me realizing that I needed to restructure a big portion of the game logic to get animation type things to work the way I wanted to.

At this point, though, I've completed that refactoring job. Now there is a *delightful* Event_Dispatcher which moves events around, and only the information that needs to be sent to other games will be sent. The next step seems to be getting some sort of networking set up... right now, it knows to listen on sockets, but that is about it.
Logged

dspencer
Level 3
***


View Profile WWW
« Reply #11 on: August 09, 2010, 05:05:51 PM »

I don't know if anyone still cares about this, but posting about it is good for my motivation. Game is coming soon. After starting to work this summer, realized ruby makes much faster development.

Also, using ORYX's fantastic tiles.
Logged

dspencer
Level 3
***


View Profile WWW
« Reply #12 on: September 02, 2010, 02:43:00 PM »

Been pounding away at this for a while. But its looking good! As I said last post, I've migrated to ruby (w/ rubygame and eventmachine libraries) which has made development a breeze.

Current features:
1) The game is actually networked! Right now, its just assuming localhost, but hypothetically it should work fine over LAN or even the internet.
2) The basic structure of the game exists. There is a selected unit, the owner of which is able to perform actions with it, which get distributed to all clients.
3) Structure is in place to make it very easy to add new actions.
Logged

QOG
Level 3
***



View Profile WWW
« Reply #13 on: September 02, 2010, 02:45:56 PM »

Been pounding away at this for a while. But its looking good! As I said last post, I've migrated to ruby (w/ rubygame and eventmachine libraries) which has made development a breeze.

Current features:
1) The game is actually networked! Right now, its just assuming localhost, but hypothetically it should work fine over LAN or even the internet.
2) The basic structure of the game exists. There is a selected unit, the owner of which is able to perform actions with it, which get distributed to all clients.
3) Structure is in place to make it very easy to add new actions.

looks pretty nice.  Smiley
Logged
Dozer
Level 0
***


View Profile
« Reply #14 on: September 02, 2010, 05:37:55 PM »

Only problem I see with it right now is that green is murder on the eyes. A bit too saturated me thinks. Plus, it's so bright that it hides the detail of the sprites within it. Maybe tone it down a bit Smiley
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic