On forums there are alot of cool suggestions, and alot of people often go into the "this wouldn't be that hard to code if you..." but nearly always these suggestions, even the best ones completely loved by the community cannot be implemented, for whatever reason. Alot of people then respond with remarks about OOO never doing anything, or never releasing an update...so my suggestion is...
Those players who do understand coding, maybe post your suggestions with the coding format. This way, if OOO like the idea but can't implement it for whatever reason that is time based, they don't need to waste time building it and can just put into the game.
But wouldn't this take the player alot of time?
If you're reading this here, on forums, on a game which is close to dead, I think you may be the kinda person who might have a bit of free time every now and then (sorry if I assume incorrectly). Little bits of coding every-now and then will eventually have your idea built, all you have to do is find the 10 minutes here or there. I personally cannot code but I will try and learn! ^.^
Thank you for reading and please post your feedback.
A suggestion not for OOO, but for the players! *o*
Honestly this thread is more suitable for general discussion... However the title would get people over there saying "omg put in suggestions".
The suggestions that come through here often are outlandish. It takes half a brain and a bit of dabbling in the programming world to know if something is possible or not. More points to what you say if you're familiar in the programming language and have worked extensively in it.
Also, posting something in a coding format would make for stupidly long comments. I made a score generator in python sometime last year for lockdown scoring in which you input your score and what bonuses you have for a different scoring system. It takes into account your UVs and all that jazz and certain gear types.
In the end, a simple scoring system takes up 251 lines.
I also have a 3-part thingy that spends 250+ lines making a rock-paper-scissors game. That's like, more than my incomplete 5-chapter fanfic.
Throwing code at the forums isn't going to do anything. You could even throw a loophole into the code if you wanted to, and abuse it. Developers would have to take time to look through the code and make sure there's nothing wrong with it and it's up to standards. Also, it might not be commented in a way they like, so they might not have direct areas they can check if something goes wrong.
In short, when suggestions come around, we here at the suggestions forum will critique it for everything... Gameplay wise, code-wise, idea-wise, all that. Posting code for the game will not make the developers make that content any quicker.
@Fehzor
Pieces of OOOs core game libraries are actually open source. The modeling code was most recently found out in this thread.
The camera/renderer is Clyde, animation and sound is Nenya, and chat/UI is Narya.
At the time of this post, there was a new commit to Clyde as of 4 hours ago [removing some debugging].
Surely there are some bugs which people could actually offer free work. You know, maybe like solving the issues with Radeon cards not being able to play on anything other than low graphics settings. The bug for that one sure has to be in Clyde... since it is the renderer for this game. Maybe even bad texture mapping too! I see a lot of that stuff in the tech support subforum.
When I mentioned this information to Zeddy ingame many months ago, he did not respond.
The issue there is likely that helpful people don't want to work on bugfixes but want to work on developing new weapon mechanics... which are likely not found in these open source libraries.
@Chaos-Mist
If you're reading this here, on forums, on a game which is close to dead, I think you may be the kinda person who might have a bit of free time every now and then (sorry if I assume incorrectly). Little bits of coding every-now and then will eventually have your idea built, all you have to do is find the 10 minutes here or there. I personally cannot code but I will try and learn!
There is one major problem with this... In order to code for any program, you must first be familiar with all the little inner workings of a program. The larger the program becomes, the more difficult it becomes to actually implement things that arent buggy.
A good example of this is the type of collision detection and the mixmaster. The bullets on the mixmaster were not placed at the center of where it was being fired - and this wasnt handled well with collision allowing users to shoot through walls.
@Skepticraven
"Pieces of OOOs core game libraries are actually open source. The modeling code was most recently found out in this thread.
The code can be found here."
- I was aware of this when I posted and thought that the people who replied would be, since you posted it on another suggestion recently. Thanks.
"There is one major problem with this... In order to code for any program, you must first be familiar with all the little inner workings of a program. The larger the program becomes, the more difficult it becomes to actually implement things that arent buggy."
- Hence testing and test servers. Although that does mean alot more time. :\
@Fangel
"Honestly this thread is more suitable for general discussion..."
- It is technically a suggestion, it's just aimed in a different direction to most.
"Also, posting something in a coding format would make for stupidly long comments."
- Would it not be worth it?
"More points to what you say if you're familiar in the programming language and have worked extensively in it."
- I openly admit lack of knowledge into the coding world, hence the 'Thank you for reading and please post your feedback.' The suggestions forums are where someone puts their ideas to let them be seen and evolve through other people's criticism, this post is no different. I want the people have knowledge into code to reply to this with the why this would and would not work. Fehzor's response being a prime example.
@Fehzor
"I made several new eye types, found here, and those never made it into the game either."
- Even if OOO were to start accepting code they won't take everything that looks cool. They may have seen these eyes not wanted them (nothing against them, some were really cool and all but I am not OOO so cannot say what it is they want) OR they haven't seen them in the first place.
If OOO are stuck on time or whatever is stopping them bringing out new content (time is generally the easiest and safest guess) then they really don't have much reason to look for more ideas that will require them to spend the time they don't have. If they knew suggestions were actual saving them time then they may be more inclined to look into the them.
"Zeddy (who also happens to be a programmer) contacted OOO and offered to help them with coding the game in whatever way possible for zero cost, and was turned down."
- Hm. That's annoying. The reason I can think of for this isn't that "Sega Networks Incorporated does not appear to care for our help." The reason I can think of for this is that they don't want to give people credit, because then people will go around bragging 'I made that' and stuff and it would be annoying and give the game criticism for not making their own work.
A way to get around this is for them to take and edit the suggestion without telling anyone. The editing will still take less time than writing up the entire code.
Another way to get around them shying away from taking code is for people to not write up the whole code but just the basics for them to work on. This would also stop the 'people deliberately leaving loopholes' being a problem (less code to read through, easier to spot loopholes). It would also mean OOO aren't directly taking code from people rather than writing it themselves.
I would say the reason we aren't getting a lot of things is because we have so few developers working on so many other projects. Arcade redux being a huge rebalancing issue, and the new tier 3 boss I'm assuming we're getting a preview of. Most boss areas have a new thing implemented in them (such as beast bells and universal wall switches), thus more programming.
"Also, posting something in a coding format would make for stupidly long comments."
- Would it not be worth it?
It is much easier to write "say 'hi' three times" than it is to write something like;
def sayhi3times():
times = 0
while times <= 3 :
print("hi")
times = times + 1
return
NOTE: This is a python example, and I'm really rusty there. Haven't really written anything for it for over half a year now.
And aaaaah, I can't do indents. That's even worse. :(
Programming isn't something simple. English equivalent is that if you don't have a period at the end of your sentence your entire book turns into a wormhole. This is why we have suggestions on here be in written language form.
We also don't have any links to other things inside of the Spiral Knights code. We don't know if weapons draw a value from, say, the environment.
It's much easier all around to suggest something instead of making a bandage out of tape and having Three Rings eventually have to craft a bandage themselves to fix something that didn't need to be fixed.
The most time consuming part isn't writing println("Hello World"), it's figuring out where is the best place to insert that statement, and how to package it to fit into the overall game.
A game client is not script, it's a whole bunch of modules interacting with each other. Making a brand new weapon is not as simple as "create skin, create model, create stats, and insert everything into the correct folders". This is why most weapons seem to be based off of the same models with only status/type changes and a reskin. Those changes are relatively easy. Rewriting damage tables and creating new models/adjusting game mechanics are time consuming and usually take a lot of debugging.
The main problem is OOO doesn't have a large staff and they have to manage multiple games at the same time. Plus they don't have deadlines in their work environment (from what I've read on their hiring page). Each staff member has freedom to do what interests them first. That being said, most programmers/engineers are lazy and wont do tedious things unless they have to (speaking as an engineer myself).
I can understand why they don't want the game to be open source. It's an MMO with paid content. They don't have the staff to proofread everything submitted by the community. Some sneaky coder can but in a bug that can be exploited (or a careless coder may do it unintentionally). If something goes wrong, OOO is held responsible for fixing it, not the guy who actually wrote it. That's not a good position for them to be in.
I think they have active job openings though, so if you want and have the skills, you can in theory work for them. I'm considering applying once I've finished with school (if they still want me).
I suppose you could try to help them with bug fixes like Skepticraven said, and it would accomplish the same thing as developing the game via saving the devs time.
But that's not really what the OP was saying to do.
We can't do that because the game isn't open sourced- meaning that the internals of the game (which are absolutely required for any programmer to work with) aren't publicly available. Otherwise I'd have tried writing code for the game long ago and I'm sure that a number of other people would gladly have done the same.
Zeddy (who also happens to be a programmer) contacted OOO and offered to help them with coding the game in whatever way possible for zero cost, and was turned down. I made several new eye types, found here, and those never made it into the game either. And finally, editing the client (to implement client side features, which is possible) is forbidden in the ToS. Sega Networks Incorporated does not appear to care for our help.