Graal Forums

Graal Forums (https://forums.graalonline.com/forums/index.php)
-   NPC Scripting (https://forums.graalonline.com/forums/forumdisplay.php?f=8)
-   -   Why do scripters make everything overly complex? (https://forums.graalonline.com/forums/showthread.php?t=134266342)

Hiro 04-29-2012 12:40 PM

Why do scripters make everything overly complex?
 
As the title says, why do scripters seem to make everything they script so complicated to the point of it never being released? Even when given as much time as needed to make something work, it never seems to see fruition.

Excuse my ignorance, especially if this sounds as if I'm insulting anyone, but what is the deal with there only being a handful of competent scripters left working on Graal who actually accomplish what they set out to script? Is it as I presume, a problem with being overly complicated with what someone is trying to achieve instead of keeping it simple? Or is there some other flaw in the collective minds of current or would-be scripters?

Crow 04-29-2012 12:55 PM

Quote:

Originally Posted by Hiro (Post 1693284)
a handful of competent scripters left working on Graal

Because Graal, as a development platform, is incredibly unattractive.

Gunderak 04-29-2012 12:55 PM

Is this regarding my house system? lol..

ffcmike 04-29-2012 01:28 PM

Quote:

Originally Posted by Hiro (Post 1693284)
a handful of competent scripters left working on Graal

Probably has something to do with advanced scripting itself being a more difficult and ability demanding practise, as opposed to something which is open and realistically accomplishable to most normal players.

Through a large amount of time, practise and some degree of intelligence, it is possible for those with no prior coding knowledge to pick up the basics and explore more advanced coding. When it comes to trial and error however, which was the case for myself at one point and presumably most others, you don't get such code perfect the first, second, or third time. Coding isn't really about piecing things together until they merely work, and therefore it's easy for practising scripters to run into problems and grind to a halt.

Those who are educated in coding are likely to be aware beforehand as to how things should be scripted in a certain, as you say complex way, which can be necessary to avoid bugs, keep CPU usage down, be easier to implement new modules, as well as be easier for other coders to work with in future.

Hiro 04-29-2012 01:46 PM

Quote:

Originally Posted by Crow (Post 1693285)
Because Graal, as a development platform, is incredibly unattractive.

Well if you've read any of my posts you know how I feel about Graal being a "development platform." Worse idea ever.

Quote:

Originally Posted by Gunderak (Post 1693286)
Is this regarding my house system? lol..

Dude I haven't been on Graal in months. I have no idea who you are, what your system is, or how it works.

Quote:

Originally Posted by ffcmike (Post 1693291)
Probably has something to do with advanced scripting itself being a more difficult and ability demanding practise, as opposed to something which is open and realistically accomplishable to most normal players.

Through a large amount of time, practise and some degree of intelligence, it is possible for those with no prior coding knowledge to pick up the basics and explore more advanced coding. When it comes to trial and error however, which was the case for myself at one point and presumably most others, you don't get such code perfect the first, second, or third time. Coding isn't really about piecing things together until they merely work, and therefore it's easy for practising scripters to run into problems and grind to a halt.

Those who are educated in coding are likely to be aware beforehand as to how things should be scripted in a certain, as you say complex way, which can be necessary to avoid bugs, keep CPU usage down, be easier to implement new modules, as well as be easier for other coders to work with in future.

So it's just a plateau problem?

By what I mean, it's hard to reach the more advanced levels of scripting development because it's just hard and unintuitive to the point where most people quit during the trial and error stages of learning?

Doesn't seem like an issue that can be fixed, since that would just be the nature of the language. More documentation would be a step in the right direction I suppose, but whenever I've looked at what is available, it doesn't seem all that practical.

Maybe it's just the sort of ideas I've always had for a server are just simple. Everything I would want a Graal server to offer seems like it would be very easy for any competent scripter to create in no time at all - in terms of what would be scripted. Then again, I've always wanted to run a classic server more focused on level development run progressions, rather than flashy systems for managing a myriad of other flashy NPCs adding upon an even flashier combat system (or something).

Skyld 04-29-2012 04:07 PM

Quote:

Originally Posted by Hiro (Post 1693293)
Maybe it's just the sort of ideas I've always had for a server are just simple. Everything I would want a Graal server to offer seems like it would be very easy for any competent scripter to create in no time at all - in terms of what would be scripted. Then again, I've always wanted to run a classic server more focused on level development run progressions, rather than flashy systems for managing a myriad of other flashy NPCs adding upon an even flashier combat system (or something).

The problem in my experience is that people create complex ideas which can't be implemented with simple scripting. The "mudlib" is a classic example of this problem that I see over and over again; people want to make really complicated systems that are probably quite powerful in practice, but the reality is that nobody else can understand half of what these systems do or how they work, and therefore are difficult to expand and maintain. I get really frustrated with watching some of the advice that people give on these forums because it is often just unnecessarily overcomplicated, and as a result, new scripters don't want to learn it.

As much of the problem as anything is that Graal scripters also just don't seem to know how to exist within the confines of the game environment. The NPC-Server isn't a general purpose web application server, it runs scripts for a game environment. I don't know why more people don't see that.

Fulg0reSama 04-29-2012 04:25 PM

Quote:

Originally Posted by Skyld (Post 1693298)
The problem in my experience is that people create complex ideas which can't be implemented with simple scripting. The "mudlib" is a classic example of this problem that I see over and over again; people want to make really complicated systems that are probably quite powerful in practice, but the reality is that nobody else can understand half of what these systems do or how they work, and therefore are difficult to expand and maintain. I get really frustrated with watching some of the advice that people give on these forums because it is often just unnecessarily overcomplicated, and as a result, new scripters don't want to learn it.

As much of the problem as anything is that Graal scripters also just don't seem to know how to exist within the confines of the game environment. The NPC-Server isn't a general purpose web application server, it runs scripts for a game environment. I don't know why more people don't see that.

Preach on! Especially on the bit about servers being there for Game Environments.

Unkownsoldier 04-29-2012 08:16 PM

The reason why you don't see projects getting finished is because most of the scripters/developers aren't professional. Most are self-taught (nothing wrong with that) but it makes it more challenging to create content at a high-quality level and a high-output level. Other games, which hire their developers, can have pretty much whatever they want done. This is because they are hiring experienced, diligent, and properly taught developers rather than just players attempting to create something past their limits. This is why Graal doesn't succeed.

fowlplay4 04-29-2012 08:37 PM

Hacks upon hacks upon hacks make for really complicated systems, also the fact that you have to go completely custom if you want to modify nearly any default system.

I.e.

1. If you want to increase movement speed, you have to script an entire movement system. With V6 you can modify it a little, but nothing substantial.
2. If you want to change the Inventory, you have to re-script the entire damn thing.
3. If you want to change how say2 messages are displayed, gotta re-script the entire thing and create a new function.
4. If you want to go beyond 3.7 million gralats, you gotta re-script your entire money system and use a clientr flag instead.
5. If you want to change baddy behavior, yep gotta re-script that entirely too.

I've also had to do some really complex things to fix small details that most people would accept and not bother trying to fix.

Some people also plan way too big and make things way more complicated than they need to be or the documentation isn't there and they end up making something more complicated than it needs to be.

Mark Sir Link 04-29-2012 08:47 PM

Quote:

Originally Posted by fowlplay4 (Post 1693324)
Hacks upon hacks upon hacks make for really complicated systems, also the fact that you have to go completely custom if you want to modify nearly any default system.

I.e.

1. If you want to increase movement speed, you have to script an entire movement system.
2. If you want to change the Inventory, you have to re-script the entire damn thing.
3. If you want to change how say2 messages are displayed, gotta re-script the entire thing and create a new function.
4. If you want to go beyond 3.7 million gralats, you gotta re-script your entire money system and use a clientr flag instead.
5. If you want to change baddy behavior, yep gotta re-script that entirely too.

I've also had to do some really complex things to fix small details that most people would accept and not bother trying to fix.

Some people also plan way too big and make things way more complicated than they need to be or the documentation isn't there and they end up making something more complicated than it needs to be.

TPlayer.defaultwalkspeed
TPlayer.diagonalwalkspeed

I think it would be nice for all the object/classes being used inherently to be modifiable though local to that server, I'm not sure what the issue is with allowing servers to touch stuff like TServerPlayer.addweapon etc

cbk1994 04-29-2012 08:49 PM

Quote:

Originally Posted by Mark Sir Link (Post 1693325)
TPlayer.defaultwalkspeed
TPlayer.diagonalwalkspeed

These are only supported on v6, which still has not been released. We haven't seen a client update in almost 5 years (October 2007).

Quote:

Originally Posted by Skyld (Post 1693298)
As much of the problem as anything is that Graal scripters also just don't seem to know how to exist within the confines of the game environment. The NPC-Server isn't a general purpose web application server, it runs scripts for a game environment. I don't know why more people don't see that.

Some of the frustration at GScript comes from players trying to abuse it, but most of the time it is legitimate.

The reason Graal is frustrating to developers is that Stefan and unixmad market Graal as a development platform but provide very little support for the developers.

Did you know you have to pay a monthly fee to work on a server? Did you know we had to argue with Stefan for months just to get nightly backups (not even source control—which we still don't have, in 2012!)? Did you know our basic scripting tool, RC, can't even find and replace? Did you know the Windows version can't indent multiple lines at once, unless you've been blessed with the latest unreleased-for-years version of RC from Stefan?

Graal as a development platform is attractive to players who want to make content because they enjoy the game. It's not attractive to serious developers, or players who have been developing long enough to become serious developers.


Quote:

Originally Posted by Unkownsoldier (Post 1693319)
The reason why you don't see projects getting finished is because most of the scripters/developers aren't professional. Most are self-taught (nothing wrong with that) but it makes it more challenging to create content at a high-quality level and a high-output level. Other games, which hire their developers, can have pretty much whatever they want done. This is because they are hiring experienced, diligent, and properly taught developers rather than just players attempting to create something past their limits. This is why Graal doesn't succeed.

This is a naive view of Graal. Even the developers who have the skills to create something great tend to burn out.

fowlplay4 04-29-2012 08:52 PM

Quote:

Originally Posted by Mark Sir Link (Post 1693325)
TPlayer.defaultwalkspeed
TPlayer.diagonalwalkspeed

I think it would be nice for all the object/classes being used inherently to be modifiable though local to that server, I'm not sure what the issue is with allowing servers to touch stuff like TServerPlayer.addweapon etc

Edited that into my post, but even that has limits and is only available in V6 which has been sitting in beta for the last 2-3 years.

DustyPorViva 04-29-2012 09:17 PM

I find it's because Graal itself is extremely limited, and you get no help from anyone who could change that. And it's not flexible either, which is another issue. Working with default means working with extreme limitations, and not being able to change what you need to. In the end in order to achieve your goals, sometimes you just have to do it yourself.

If I COULD do what I wanted with default, then I most definitely would. But these are not routes someone new/interested in scripting should take at all.

Quote:

Originally Posted by fowlplay4 (Post 1693327)
Edited that into my post, but even that has limits and is only available in V6 which has been sitting in beta for the last 2-3 years.

Not to mention that is a fairly recent addition to Graal, and only something that was added because Stefan needed to make players walk faster on iPhone servers; this is all despite how often and persistently it was asked for before iPhone servers came along. See the issue? iPhone servers came along and they COULDN'T be expanded/fixed with scripts like we're forced to do, but that's no problem because Stefan just adds what's needed.

Hiro 04-29-2012 11:35 PM

Quote:

Originally Posted by fowlplay4 (Post 1693324)
Hacks upon hacks upon hacks make for really complicated systems, also the fact that you have to go completely custom if you want to modify nearly any default system.

...

Some people also plan way too big and make things way more complicated than they need to be or the documentation isn't there and they end up making something more complicated than it needs to be.

From the sounds of it, it's mostly a documentation problem coupled with a limitation on the systems of Graal itself. The language being difficult to learn isn't something new, but if it's not possible to learn on your own seemingly at all AND the programs you use with it are limited, I can see where a lot of players would start big and end with nothing.

Quote:

Originally Posted by cbk1994 (Post 1693326)
The reason Graal is frustrating to developers is that Stefan and unixmad market Graal as a development platform but provide very little support for the developers.

Did you know you have to pay a monthly fee to work on a server? Did you know we had to argue with Stefan for months just to get nightly backups (not even source control—which we still don't have, in 2012!)? Did you know our basic scripting tool, RC, can't even find and replace? Did you know the Windows version can't indent multiple lines at once, unless you've been blessed with the latest unreleased-for-years version of RC from Stefan?

I've been pointing fingers at CJ since I can remember for **** like this, and I'm not even a level designer, scripter, or graphics artist (although I tried all three and failed). I think it should be okay to resign myself as a player instead as a developer, but Graal isn't even marketed that way anymore. My voice on what servers should be like or what updates should do or look like are next to nothing.

It's really saddening that some of us can play a game for over 10 years and still be ignored as a community by our founders, especially the developers who are, according to CJ, playing Graal correctly by trying to develop on it.

Quote:

Originally Posted by DustyPorViva (Post 1693330)
I find it's because Graal itself is extremely limited, and you get no help from anyone who could change that. And it's not flexible either, which is another issue. Working with default means working with extreme limitations, and not being able to change what you need to. In the end in order to achieve your goals, sometimes you just have to do it yourself.

If I COULD do what I wanted with default, then I most definitely would. But these are not routes someone new/interested in scripting should take at all.

Not to mention that is a fairly recent addition to Graal, and only something that was added because Stefan needed to make players walk faster on iPhone servers; this is all despite how often and persistently it was asked for before iPhone servers came along. See the issue? iPhone servers came along and they COULDN'T be expanded/fixed with scripts like we're forced to do, but that's no problem because Stefan just adds what's needed.

I don't even think the default settings are bad, but again all I really want out of Graal at this point is a classic styled server focused on guilds sparring and PKing in a nurturing environment for that sort of thing to be taken seriously. The systems that have been suggested in the past like capturing towns or even simple one leveled PK to a certain number type are either to complicated for their own good (and never come out) or are so simple that they don't even utilize all of the default system's potential.

I've always failed to appreciate the more complicated servers like Era, Zodiac, Zone, Kingdoms to a certain extent, and others who deviate so much from the default AlttP systems. UN being the last classic styled server out there just makes my personal outlook on playing Graal seem so grim. I'll never get to play on an improved version of my dream classic world.

I think I have a better understanding of why scripters go for such complication now though. It's not only grand ideas, but poor mechanics to create those grand ideas. I feel sorrow for anyone new trying to learn gscript, but also a sense of yearning for them to actually get good and produce something.

DustyPorViva 04-29-2012 11:54 PM

Quote:

Originally Posted by Hiro (Post 1693339)
I don't even think the default settings are bad, but again all I really want out of Graal at this point is a classic styled server focused on guilds sparring and PKing in a nurturing environment for that sort of thing to be taken seriously. The systems that have been suggested in the past like capturing towns or even simple one leveled PK to a certain number type are either to complicated for their own good (and never come out) or are so simple that they don't even utilize all of the default system's potential.

I've always failed to appreciate the more complicated servers like Era, Zodiac, Zone, Kingdoms to a certain extent, and others who deviate so much from the default AlttP systems. UN being the last classic styled server out there just makes my personal outlook on playing Graal seem so grim. I'll never get to play on an improved version of my dream classic world.

I think I have a better understanding of why scripters go for such complication now though. It's not only grand ideas, but poor mechanics to create those grand ideas. I feel sorrow for anyone new trying to learn gscript, but also a sense of yearning for them to actually get good and produce something.

Even my own Classic server ended up being me redoing everything from scratch. Originally I wanted to use default but as I developed the server it quickly ended up with my realizing that it's just too limited. It's a pity that we're forced to practically rework everything just so we can emulate what already exists but giving us the options to tweak specifics to our liking.


All times are GMT +2. The time now is 06:51 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.