Graal Forums  

Go Back   Graal Forums > Development Forums > NPC Scripting
FAQ Members List Calendar Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 04-29-2012, 12:40 PM
Hiro Hiro is offline
\(^∀^)メ(≧∇≦)ノ
Hiro's Avatar
Join Date: Jan 2005
Posts: 1,965
Hiro has a spectacular aura aboutHiro has a spectacular aura about
Send a message via AIM to Hiro
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?
Reply With Quote
  #2  
Old 04-29-2012, 12:55 PM
Crow Crow is offline
ǝɔɐɹq ʎןɹnɔ
Crow's Avatar
Join Date: Dec 2006
Location: Germany
Posts: 5,153
Crow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond repute
Quote:
Originally Posted by Hiro View Post
a handful of competent scripters left working on Graal
Because Graal, as a development platform, is incredibly unattractive.
__________________
Reply With Quote
  #3  
Old 04-29-2012, 12:55 PM
Gunderak Gunderak is offline
Coder
Gunderak's Avatar
Join Date: Jun 2011
Location: Australia
Posts: 795
Gunderak is on a distinguished road
Is this regarding my house system? lol..
__________________

Gund for president.

Remote PM {P*}x (Graal813044) from eraiphone -> Stefan: I hav 1 qustion
*Gunderak: he hav 1
*Gunderak: qustion
Reply With Quote
  #4  
Old 04-29-2012, 01:28 PM
ffcmike ffcmike is offline
Banned
Join Date: Jul 2004
Location: London
Posts: 2,029
ffcmike has a reputation beyond reputeffcmike has a reputation beyond reputeffcmike has a reputation beyond reputeffcmike has a reputation beyond reputeffcmike has a reputation beyond reputeffcmike has a reputation beyond reputeffcmike has a reputation beyond reputeffcmike has a reputation beyond repute
Send a message via AIM to ffcmike Send a message via MSN to ffcmike
Quote:
Originally Posted by Hiro View Post
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.
Reply With Quote
  #5  
Old 04-29-2012, 01:46 PM
Hiro Hiro is offline
\(^∀^)メ(≧∇≦)ノ
Hiro's Avatar
Join Date: Jan 2005
Posts: 1,965
Hiro has a spectacular aura aboutHiro has a spectacular aura about
Send a message via AIM to Hiro
Quote:
Originally Posted by Crow View Post
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 View Post
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 View Post
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).
Reply With Quote
  #6  
Old 04-29-2012, 04:07 PM
Skyld Skyld is offline
Script-fu
Skyld's Avatar
Join Date: Jan 2002
Location: United Kingdom
Posts: 3,914
Skyld has much to be proud ofSkyld has much to be proud ofSkyld has much to be proud ofSkyld has much to be proud ofSkyld has much to be proud ofSkyld has much to be proud of
Send a message via AIM to Skyld
Quote:
Originally Posted by Hiro View Post
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.
__________________
Skyld
Reply With Quote
  #7  
Old 04-29-2012, 04:25 PM
Fulg0reSama Fulg0reSama is offline
Extrinsical Anomaly
Fulg0reSama's Avatar
Join Date: Sep 2009
Location: Ohio
Posts: 3,049
Fulg0reSama has a brilliant futureFulg0reSama has a brilliant futureFulg0reSama has a brilliant futureFulg0reSama has a brilliant futureFulg0reSama has a brilliant futureFulg0reSama has a brilliant futureFulg0reSama has a brilliant futureFulg0reSama has a brilliant future
Quote:
Originally Posted by Skyld View Post
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.
__________________

Careful, thoughts and opinions here scare people.
Reply With Quote
  #8  
Old 04-29-2012, 08:16 PM
Unkownsoldier Unkownsoldier is offline
Ignorance has no future
Join Date: Sep 2008
Posts: 1,287
Unkownsoldier is on a distinguished road
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.
__________________
Look beyond the monitor.
Reply With Quote
  #9  
Old 04-29-2012, 08:37 PM
fowlplay4 fowlplay4 is offline
team canada
fowlplay4's Avatar
Join Date: Jul 2004
Location: Canada
Posts: 5,200
fowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond repute
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.
__________________
Quote:
Reply With Quote
  #10  
Old 04-29-2012, 08:47 PM
Mark Sir Link Mark Sir Link is offline
Kevin Azite
Mark Sir Link's Avatar
Join Date: Sep 2005
Posts: 1,489
Mark Sir Link is just really niceMark Sir Link is just really nice
Send a message via AIM to Mark Sir Link
Quote:
Originally Posted by fowlplay4 View Post
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
Reply With Quote
  #11  
Old 04-29-2012, 08:49 PM
cbk1994 cbk1994 is offline
the fake one
cbk1994's Avatar
Join Date: Mar 2003
Location: San Francisco
Posts: 10,718
cbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond repute
Send a message via AIM to cbk1994
Quote:
Originally Posted by Mark Sir Link View Post
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 View Post
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 View Post
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.
__________________
Reply With Quote
  #12  
Old 04-29-2012, 08:52 PM
fowlplay4 fowlplay4 is offline
team canada
fowlplay4's Avatar
Join Date: Jul 2004
Location: Canada
Posts: 5,200
fowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond repute
Quote:
Originally Posted by Mark Sir Link View Post
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.
__________________
Quote:
Reply With Quote
  #13  
Old 04-29-2012, 09:17 PM
DustyPorViva DustyPorViva is offline
Will work for food. Maybe
DustyPorViva's Avatar
Join Date: Sep 2003
Location: Maryland, USA
Posts: 9,589
DustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond repute
Send a message via AIM to DustyPorViva Send a message via MSN to DustyPorViva
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 View Post
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.
Reply With Quote
  #14  
Old 04-29-2012, 11:35 PM
Hiro Hiro is offline
\(^∀^)メ(≧∇≦)ノ
Hiro's Avatar
Join Date: Jan 2005
Posts: 1,965
Hiro has a spectacular aura aboutHiro has a spectacular aura about
Send a message via AIM to Hiro
Quote:
Originally Posted by fowlplay4 View Post
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 View Post
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 View Post
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.
Reply With Quote
  #15  
Old 04-29-2012, 11:54 PM
DustyPorViva DustyPorViva is offline
Will work for food. Maybe
DustyPorViva's Avatar
Join Date: Sep 2003
Location: Maryland, USA
Posts: 9,589
DustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond reputeDustyPorViva has a reputation beyond repute
Send a message via AIM to DustyPorViva Send a message via MSN to DustyPorViva
Quote:
Originally Posted by Hiro View Post
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.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 11:12 AM.


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