🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

A few more interface tweaks, collision tweaks

Published February 07, 2011
Advertisement
Today's progress includes a few more interface features including character portraits for the player and the currently selected enemy.

screen.jpg


Also I wrote a few more components to formalize the use of scrolling combat text. One component, the VitalsMonitorComponent, "listens" to message traffic that involves updating Food and Life levels, and queues a scrolling text alert when those levels drop below 10%. Damaging an object with the FloatingCombatText component (or damaging the player) generates relevant scrolling damage numbers, etc... I've tested the vitals components, the scrolling test, etc.. it all seems to be working just hunky-dory. Most of the initial placeholder combat is gone now, in preparation for building the "official" combat system, which is next on my todo.

Another big thing I did today was implement dynamic mob collision detection. Previously, mobs just phased through each other or through trees, but now it works, for the most part. I might need to polish a few things, but it seems solid so far. On the plate is to bring back pathing, and integrate it somehow with dynamic collision.

So, I guess it looks like I'm officially back on the gamedev bandwagon. Woot.

EDIT: Just whipped together a quick "test projectile" that throws a red ball at a targeted enemy for 4 damage per hit and explodes in a (you guessed it) poof of ugly smoke:
screen2.jpg


And that brings up something I've been thinking about today. For the most part, the two chief influences on the gameplay so far are Diablo and World of Warcraft (those being the two chief game influences in my life, post-Nintendo days.) So I'm a little divided on how I want to handle combat. My conundrum is this:

In Diablo, you cast a fireball and it flies off in whatever direction you launch it. If it hits someone, awesome, they get splattered. If it doesn't, it peters out off the screen, hits a wall, whatever. The point is, it isn't "meant" for any specific target, and even if you launch it in the direction of someone you have targeted, it won't necessarily hit that someone. Anyone in between you and your target will do just fine.

In WoW, you launch a fireball, and if you don't have someone targeted it won't even launch. If you do, it flies toward that person, tracking them as it goes. It will actually fly right through anybody in the way, ignoring them completely, until it strikes the target.

The way I see it, each method is suitable for different circumstances. The Diablo method is a "scorch the earth" policy, where, at least in 1 and 2, the end result is that anything that can twitch, crawl or run needs to be reduced to a pile of smoking bones as quickly as possible. There isn't any real target prioritization (except the occasional spectral hit-enchanted, I guess) so you just spew fire until everything falls down. The WoW method is intended for a system where target prioritization is key. Some groups have healers, they need to be taken down first, and a fight can be lost if you can't take the healer down where he sits at the back of the group. So that, I guess, is the heart of the dilemma: which kind of game am I making?

My first instinct is to go down the WoW route, and require targeted casts that ignore intervening targets. I'm looking at more of a survival-type game, where each battle is crucial, and where enemies tend to be more than just fireball-fuel. I'd love to hear anyone's opinion, though.
0 likes 2 comments

Comments

aleks_1661
You could also just make it dependent on the spell itself, have some that are great for 'sniping' specific targets, and some just for 'scorching the earth'

Or you could hybridise the two - In the case of a fireball perhaps you could have it attack the particular target warcraft style, but if it passes through other targets on the way, deal them a little damage as well (but without stopping the projectile). That way most of the damage is done to your specific target, but you can still deal some group damage as an extra bonus.

Perhaps another idea is that you have click and 'shift-click' to alter the casting between diablo 'fire in direction of' and warcraft 'fire at'?

I've been playing Magicka a bit recently and the casting system in that is quite fun with different modifiers to case the spell in different ways, shift click performs an area effect, normal click for targetted effect, middle button to cast on yourself. Perhaps some of that could inspire your solution.

Sounds like some fun things to prototype :)
February 08, 2011 12:36 PM
JTippetts
[quote name='aleks_1661' timestamp='1297168578']
You could also just make it dependent on the spell itself, have some that are great for 'sniping' specific targets, and some just for 'scorching the earth'

Or you could hybridise the two - In the case of a fireball perhaps you could have it attack the particular target warcraft style, but if it passes through other targets on the way, deal them a little damage as well (but without stopping the projectile). That way most of the damage is done to your specific target, but you can still deal some group damage as an extra bonus.

Perhaps another idea is that you have click and 'shift-click' to alter the casting between diablo 'fire in direction of' and warcraft 'fire at'?

I've been playing Magicka a bit recently and the casting system in that is quite fun with different modifiers to case the spell in different ways, shift click performs an area effect, normal click for targetted effect, middle button to cast on yourself. Perhaps some of that could inspire your solution.

Sounds like some fun things to prototype :)
[/quote]

I haven't played Magicka yet, but I'll have to play around with some of those ideas.

And yeah, this is the fun stage of development for me. Building engine code is boring, and doing final polish is boring-er, but this stuff is great.
February 09, 2011 03:29 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement