Customization is comming!!!


Acemace

 

Posted

[ QUOTE ]
[ QUOTE ]
Kruunch, the guy think it's so easy it can be done by sleeping programmers.

[/ QUOTE ]

I do most of my good programming in my sleep!

PS: Stars, can you change the title, "comming" is driving my english-inclined side crazy.

[/ QUOTE ]

Too late to edit, trying to do my best to correct it on every post i do but people keep replying to the OP or other posts in the thread and keeping it coming back!!!


 

Posted

[ QUOTE ]
[ QUOTE ]

So far, I am only expecting them to allow us to pick one color tint for all of your primary and another for all of your secondary. I doubt there will be much more detail. I doubt you will be able to customize every single power's color individually. I doubt you will be able to change the particle types and i doubt you will be able to hide particles. I also doubt we would get to customize epic pool tints.

If any of that becomes possible, the delivery will exceed my hype. If just uniform tinting of prmary and secondary becomes possible, the delivery will match my hype. So for me at least, it's impossible for the devs to disappoint me.

[/ QUOTE ]

^^^

I'd also like to add, some speculation has people believing we're getting full power customization in the forms of animations and such as well. Anyone believing this is setting themselves up for disappointment.

[/ QUOTE ]

I ironically think animation customization may be easier than tint. Right now the game supports a priority system for animations, if an animation is set to higher priority it will animate instead of whatever else you are doing.

The current fly animations work this way, they are higher priority than the standard fly animation. This allows you to activate the custom fly emote and your new emote overrides the default.

In theory, the devs can do some heavy interface tweaking where you can "edit" the power icons as if they were maccros. Imagine in theory that the icon for the power Punch simply executes the command /power_name Punch

Well, if you were to edit the text you may be able to set it to:

/power_name Punch
/emote slap

Now, the interface would not show you that but instead a list of possible attack emotes you would be able to use instead of the default punch.

Now here is the tricky, you got to make sure that the power only allow you to pick from animations that are just equally long as the attack's animation or shorter. If you decide to use a shorter animation you still would be forced to endure a pause after attacking.

As far as I know, things like glowy hands are attached to the skeleton themselves, and so are blast sources, so even if you changed the animation a fire ball would still come off your hand even if you changed it to a wave animation that puts your arm up. This last part is a bit of educated speculation, though.

This is all theoretically possible, but not sure how time consuming, i also doubt it will be part of I16 at all.


 

Posted

[ QUOTE ]

As far as I know, things like glowy hands are attached to the skeleton themselves, and so are blast sources, so even if you changed the animation a fire ball would still come off your hand even if you changed it to a wave animation that puts your arm up. This last part is a bit of educated speculation, though.


[/ QUOTE ]

This is probably the main reason I doubt they would customize animations. Some animations would simply not make sense on other powers. Then there's the whole debacle that would be animation cohesion with animation time, if someone used a long animation for a short recharge power for example. Just my opinion, but I think the Devs would have foreseen the whole can of worms they'd open up if they tried to implement customized animations.

That being said, if they do it, they've exceeded my expectations. I'm just saying people shouldn't get their hopes up for something like that based off of a teaser showing purple and blue imps. Filling in the blanks that severely will lead to much crying and 'need moar pleez!!!' later.

Still, I will happily eat my words if they make it happen.


 

Posted

[ QUOTE ]
Kruunch, the guy think it's so easy it can be done by sleeping programmers.

As for Hard Coding, depending what you are doing hard coding can mean different things. Some one that writes a script that gets stored into a file may consider this "hard coded" because the engine cant modify it in real time, while the programer that writes the engine would consider it dynamic and data-driven as it does not require recompiles.

However even then a change in hue of a power required a PIGG recompile even if not a .exe recompile. When BABs says the hue was hard coded he meant it in the way I just stated: there was no way for the game to change it on the fly.

Not to mention, even if it indeed was there the server now needs to send additional data tied to the character definition.

[/ QUOTE ]

Ooooo I get to be the geek for once!

Hard coding in programming means only one thing and one thing specifically ... a definitive value for a variable or equation.

Example:

Hard Coded: myInvinceColor = "red"

Soft Coded: myInvinceColor = getColor(invulnPFX)

Dynamic: myInvinceColor = getColor(colorOptionChosen)

The *only* difference between soft coded and dynamic is the source of the data which in itself can always be maleable from a programatic standpoint.

For instance, according to BABs they are plucking values out of a PFX file (think config file). That file (apparently) is static. There are a number of ways of changing this mode which, as I pointed out above, is easy (as in not hard programatically) but can be tedious depending on the amount of systems using said file.

Here are a few alternatives to their system:

1) All data is stored in a database and the current systems that point to the PFX file get changed to point to a process (middleware) that retrieves the data from the database. (expensive in terms of licensing and possible hardware overhead to mitigate the amount of real time transactions against the database(s) but overall the best comprehensive solution for scalability and flexibility (this falls under the axiom of all data should be normalized)).

2) Build a process that generates the PFX files per request. (cheapest solution assuming the current hardware/network can handle the processing of thousand of files per second (not a large assumption as I currently work on systems that do this but an assumption just the same since I don't know CoH's back end)).

3) Build a process that stores the PFX values in memory as a temp/semi-temp object and point your existing systems to that process rather than the PFX files themselves. (best option performance wise and second best (possibly) expense wise (this would possibly increase RAM and/or server cluster size) with the caveat that memory/object management can be a bit tricky on large scales).

The question then becomes, how much time do they have to rewrite the current systems in place to point to the new process and write the new process itself.

Easy (even a sleeping Dev 1 programmer could think this stuff up) but probably very time consuming as major adjustments to an enterprise level production system tend to be (even for the "simple" changes).


 

Posted

[ QUOTE ]
Build a process that stores the PFX values in memory as a temp/semi-temp object and point your existing systems to that process rather than the PFX files themselves.

[/ QUOTE ]

The problem here is you assume that the PFX is just a list of values, or config file, while in truth it's a script file the game engine executes.

Once you realize the PFX is working as a script, and the engine is just reacting to it, you will realize that Hard Coding is the right term to use.

The system has always been able to take values into this that come from the player. Instead of scritping the PFX to read:

Render Particle In Red

to

Render particle in CostumeColorVector43,

Thats the hard coding that had to be changed and was noted would had been time consuming.

The part that was a true hurdle, though, was not this but the "effect on target". The effect playing on the target would read CostumeColorVector43 from the target, not from the caster. That was the biggest change that would had require reprogramming. At first sounds simple but the system also had no way of knowing the source of the script being played on the entity. As far as the engine knows, the script is for the entity's damage aura, fire shield, or the web grenade that was tossed on it. All look the same for the engine and there was no simple way to make the engine know the web grenade came from a different entity.

At that point you may realize the change is not as simple as it seemed at first, specially when you have to make sure performance is not affected. First thing that comes to mind is change the code to have the script trigger include caster IDs but not seeing their code I am not sure how much code would have to change due to intermediate pipelines.

/em looks up

Darn and I wanted to keep this one short....


 

Posted

Let me guess, COH/V must be getting ready for the competition!


 

Posted

A script file, for all intents and purposes is just a flat text file with values.

What those values mean to the processes that handle them is what makes it a script. In this sense, the processes (or engine if you will) doesn't care where the values are coming from, whether read from a text file, database, a compiled binary or data in memory.

The advantages of doing it in memory is that the same object can be shared by the caster and castee (to your point) and that is the solution to both sides of the equation (to BAB's point). This can also be handled a number of different ways.

Having said that, the devil's in the details and I'm sure it would be more time consuming then simply swapping a process but agian, tedium and not "hard".

When it comes right down to it, it's just a matter of expending the developer(s) and financial resources into making it happen ... a harder decision to be made with a dev team that is primarily maintaining to be sure.


 

Posted

[ QUOTE ]
A script file, for all intents and purposes is just a flat text file with values.

[/ QUOTE ]

But what happens when the script gets "compiled" into a binary format that is basically just byte code the game engine interprets? Not much different from the OS executing application code.

As you say: the devil is in the details and my real point was to note that it indeed is hard coded.

Other than that, I don't think I used the "hard" word in a difficulty context, the other points I listed were simply to note the challenges that had to be overcome before things were able to be put into place and perhaps those changes had to be fully implemented before the PFX modification could get started at all or run the risk of being forced to do the full PFX modifications all over again for some new engine requirement.


 

Posted

[ QUOTE ]
[ QUOTE ]
A script file, for all intents and purposes is just a flat text file with values.

[/ QUOTE ]

But what happens when the script gets "compiled" into a binary format that is basically just byte code the game engine interprets? Not much different from the OS executing application code.

As you say: the devil is in the details and my real point was to note that it indeed is hard coded.

Other than that, I don't think I used the "hard" word in a difficulty context, the other points I listed were simply to note the challenges that had to be overcome before things were able to be put into place and perhaps those changes had to be fully implemented before the PFX modification could get started at all or run the risk of being forced to do the full PFX modifications all over again for some new engine requirement.

[/ QUOTE ]

Scripts are generally compiled at run-time in memory (or temp binary). That's the definition of a programming script.

Without knowing more specifics about the PFX and engine structure I can't comment intelligently. My remarks were only based on BAB's information.


 

Posted

Can't tell about the PFX right now, but I can tell you the "Power Scripts" that tell the Power Engine what to do are indeed compiled to binary and get to our computers in binary format. They are not compiled in real time.

Would not be amazed if the PFX scripts are the same way.


 

Posted

[ QUOTE ]
[ QUOTE ]
BTW BackAlleyBrawler's comments about the "pipeline" to the powers are entirely non-sensical. Soft coding *means* dynamic (as opposed to hard coding where values are placed directly). Sort of reminds me of that 90 year old senator who was trying to describe the Internet by saying it wasn't a dump truck (boggle).

[/ QUOTE ]

[/ QUOTE ]

I've always used the term 'hard coded' to refer to anything that's explicitly defined in the source code and compiled into the executable. Most of the assets used by the various systems (powers, animation, VFX) we work with are not 'hard coded' but are what I've always called 'soft coded', in that they reference scripts and data outside of the compiled code. That jives with the wikipedia definition of soft-coding, take that as you will.
http://en.wikipedia.org/wiki/Softcoding

You might see this as still being hard coded, but as a developer I can change most of this data in real time, while the game is running, by modifying an external script...which is about as dynamic as it can be. Not really much difference between modifying a script or modifying a chunk of data saved on the character database through...say...the costume editor.


 

Posted

The only problem with soft-coding is having sufficient guards on the API to prevent bad values from making it back to the calling function (at which point the engine tosses an out of bounds exception or something and dies a horrible core dumping death.)


Tanker Tuesday #72 Oct 5 @Champion

"I am not sure if my portrayal of being insane is accurate, but damn its fun all the same."

 

Posted

[ QUOTE ]
[ QUOTE ]
[ QUOTE ]
BTW BackAlleyBrawler's comments about the "pipeline" to the powers are entirely non-sensical. Soft coding *means* dynamic (as opposed to hard coding where values are placed directly). Sort of reminds me of that 90 year old senator who was trying to describe the Internet by saying it wasn't a dump truck (boggle).

[/ QUOTE ]

[/ QUOTE ]

I've always used the term 'hard coded' to refer to anything that's explicitly defined in the source code and compiled into the executable. Most of the assets used by the various systems (powers, animation, VFX) we work with are not 'hard coded' but are what I've always called 'soft coded', in that they reference scripts and data outside of the compiled code. That jives with the wikipedia definition of soft-coding, take that as you will.
http://en.wikipedia.org/wiki/Softcoding

You might see this as still being hard coded, but as a developer I can change most of this data in real time, while the game is running, by modifying an external script...which is about as dynamic as it can be. Not really much difference between modifying a script or modifying a chunk of data saved on the character database through...say...the costume editor.

[/ QUOTE ]

This was my point ... the values you are talking about are not hard coded (Starsman's point) but rather are passed by reference from an exterior source and are dynamic. The confusion here I think was that in your summary post you indicated that the value exchange was inflexible:

[ QUOTE ]
Power defs are softcoded, but they can't be changed on the fly or vary between one player and another ...

[/ QUOTE ]

http://boards.cityofheroes.com/showflat....ue#Post10351446

Which seems to reference that your point of view was from a client side exchange. If player preferences (i.e. power color choices, effect type, animation, etc ...) are chosen from a finite pool and stored at the server level, then I assume the "hardship" is from a time consumption standpoint of testing all the various combinations. Would that be correct?

I was just trying to point out the difference between programatically "hard" (e.g. writing a production worthy 3D graphics engine from scratch would be "hard" for me as that isn't my day to day specialty) and programatically time consuming, which is what my assumption here is (and based on your summary post).

*EDIT* I just noticed your sig, which pretty much says it all


 

Posted

I think you took my programming in their sleep comment too literal or yout being obnoxious about it, either way it was a cheap way to insult me.

Secondly, you clearly havent heard of Insomniac studios which started with four programmers, their first game was a playstation success called Disruptor and then later Spyro followed by the acclaimed Ratchet and Clank series. FOUR programmers.... developed an ENTIRE first person shooter, with levels and all. Programming code is primarily easy to those IN THE FIELD. Dont act oblivious just to try and disprove me.


"If you can make a girl laugh, you can make her do anything"

"You're like Giraffe's, the way you look down on me, with your vegetarian scorn."

 

Posted

Finally!

WP/EM GREEN LANTERN RIPOFF TIME!


 

Posted

How I've always read BABs comments on customizing powers is that they're defined in external files called by the main executable. HE can change them via patch updates, but WE can't through lack of support for them being changed through the in-game systems. Furthermore, there is only one effect associated with each power, so even IF they could be changed, it would change ALL instances of this power in the game, regardless of whether it is used by you, by another player using different settings or by an NPC which should be using default settings. It's kind of like custom skins for UT - you can see them, but other people can't, and you can't see other people's custom skins if you don't have them installed.

Like his sig says - not necessarily difficult, just a lot of work someone has to do to implement this.


Quote:
Originally Posted by Arcanaville View Post
Samuel_Tow is the only poster that makes me want to punch him in the head more often when I'm agreeing with him than when I'm disagreeing with him.

 

Posted

[ QUOTE ]

I think you took my programming in their sleep comment too literal or yout being obnoxious about it, either way it was a cheap way to insult me.

[/ QUOTE ]

We did not take it literal, we took it as your extremely cheap way to insult the developers.

[ QUOTE ]

Secondly, you clearly havent heard of Insomniac studios which started with four programmers, their first game was a playstation success called Disruptor and then later Spyro followed by the acclaimed Ratchet and Clank series. FOUR programmers.... developed an ENTIRE first person shooter, with levels and all. Programming code is primarily easy to those IN THE FIELD. Dont act oblivious just to try and disprove me.

[/ QUOTE ]

Doom was made by one guy too all by himself. Unfortunately, we are no longer in such an easy era. A simplistic 3D square 3D world and sprite enemies were indeed easy to make. That game is a tiny spec in the universe compared to the size and complexity of the simplest of today's MMOs. Heck, I bet there are bucket loads of Xbox Arcade games that rival the game's complexity.

You are pretending building a skyscraper is easy just because some dudes put together a shack by themselves.

I'm not sure if you ever seen a line of code in your life, but programming is NEVER as simple as it sounds at first and you can bet that the complexity of the tasks, especially in the game industry, only get more complex every passing year.

I a programmer, I have seen code behind real games, and I have seen code behind engines like Disruptor. Heck, Disruptor engine are things you end up doing when you are done with reading beginner books like the classic Black Book To 3D Game Programming. My analogy of comparing building a shack vs. a skyscraper is not hyperbole.


 

Posted

[ QUOTE ]
Like his sig says - not necessarily difficult, just a lot of work someone has to do to implement this.

[/ QUOTE ]

Pretty much. There are thousands of distinct animations in the game, each with its own script, and going back and allowing all or even most of them to be parameterized by color is going to be a lot of work.


 

Posted

[ QUOTE ]
I think you took my programming in their sleep comment too literal or yout being obnoxious about it, either way it was a cheap way to insult me.

Secondly, you clearly havent heard of Insomniac studios which started with four programmers, their first game was a playstation success called Disruptor and then later Spyro followed by the acclaimed Ratchet and Clank series. FOUR programmers.... developed an ENTIRE first person shooter, with levels and all. Programming code is primarily easy to those IN THE FIELD. Dont act oblivious just to try and disprove me.

[/ QUOTE ]

Wow did this one rub me the wrong way.

There is a HUGE difference between writing a relatively simple FPS with a static map system, than writing an MMO that requires everything the FPS had, plus dynamic characters, maps, classes, terrain, and levels... combined with some rock solid network code, a system for modifying game details going forward to handle inevitable balance issues, scalable server code, not to mention tools for both your own design team and your users... and you also have to be cognizant enough going forward that any minor time saving (or slightly less forward thinking than anyone would've thought you needed) design decision you make is going to be scrutinized for years (as is happening right now)... and that's JUST the programming side, saying nothing of your art assets.

I wrote a simple FPS in college 7 or so years ago with 1 other friend. Trying to write an MMO with 2 people would take so long that you would be obsolete before you even got to the first milestone.


 

Posted

[ QUOTE ]
[ QUOTE ]
I think you took my programming in their sleep comment too literal or yout being obnoxious about it, either way it was a cheap way to insult me.

Secondly, you clearly havent heard of Insomniac studios which started with four programmers, their first game was a playstation success called Disruptor and then later Spyro followed by the acclaimed Ratchet and Clank series. FOUR programmers.... developed an ENTIRE first person shooter, with levels and all. Programming code is primarily easy to those IN THE FIELD. Dont act oblivious just to try and disprove me.

[/ QUOTE ]

Wow did this one rub me the wrong way.

There is a HUGE difference between writing a relatively simple FPS with a static map system, than writing an MMO that requires everything the FPS had, plus dynamic characters, maps, classes, terrain, and levels... combined with some rock solid network code, a system for modifying game details going forward to handle inevitable balance issues, scalable server code, not to mention tools for both your own design team and your users... and you also have to be cognizant enough going forward that any minor time saving (or slightly less forward thinking than anyone would've thought you needed) design decision you make is going to be scrutinized for years (as is happening right now)... and that's JUST the programming side, saying nothing of your art assets.

I wrote a simple FPS in college 7 or so years ago with 1 other friend. Trying to write an MMO with 2 people would take so long that you would be obsolete before you even got to the first milestone.

[/ QUOTE ]

While I agree in spirit I'd like to point out that DAoC was released with six core programmers and was considered one of the most solid releases of an MMO to date.

I'm not sure how many Cryptic had at release, but I never got the sense that it was that much more (this is not including skinners, data entry guys, support staff, etc ...).


 

Posted

[ QUOTE ]
While I agree in spirit I'd like to point out that DAoC was released with six core programmers and was considered one of the most solid releases of an MMO to date.

[/ QUOTE ]

Nevermind they licensed the Morrowind game engine (Gamebryo Element's NetImmerse) and still needed 6 guys to develop custom game systems on top of this already fully developed engine.

Cryptic's Engine is home grown and think one of the reasons why we still see their logo in this game despite CoH now being purely NCSoft's Property.

And editing for clarity: the topic here is about small teams making games from the ground up so games made out of licensed engines are irrelevant to the topic.


 

Posted

[ QUOTE ]
[ QUOTE ]
While I agree in spirit I'd like to point out that DAoC was released with six core programmers and was considered one of the most solid releases of an MMO to date.

[/ QUOTE ]

Nevermind they licensed the Morrowind game engine (Gamebryo Element's NetImmerse) and still needed 6 guys to develop custom game systems on top of this already fully developed engine.

Cryptic's Engine is home grown and think one of the reasons why we still see their logo in this game despite CoH now being purely NCSoft's Property.

[/ QUOTE ]

That has little to do with it. Most graphic engines in MMOs today are licensed.

Way to miss the point.


 

Posted

We've had a few very aggressively defended positions in this thread. Lets tone it back a bit guys.


-Mod8-

If you are using Latin in your post you are probably trolling

Have a question? Try the PlayNC Knowledge Base

 

Posted

I've been modslapped!

Sorry Mod08 ... I'll try to play nicer in the sandbox


 

Posted

Thats just my point, their not rewritting code for character models or building textures. My comment was directed toward the power customization. My comparison using an FPS, was that the FPS in said comment was pretty diversed, far more diversed than DOOM. And it only took four programmers. I didn't say just ANYONE can program, but rather that those with years of experience can do it quite easily. Apparently I offended you and Starsman.

The fact is, no one on this board (red names excluded) has developed an MMO, so we can understand the premise of it being "hard", but what you fail to acknowledge, is that most if not all MMO devs have years of experience and can handle programming. What YOU deem as hard, isn't necessarily hard for others. I cant just pick up a rig and all of a sudden develop an MMO with zero overhead. Well I could but it would be City of Stickman5000. My point being, don't get all flustered in nerd rage and understand that somethings aren't that hard to PROFESSIONALS.


"If you can make a girl laugh, you can make her do anything"

"You're like Giraffe's, the way you look down on me, with your vegetarian scorn."