Discussion in 'Working in Progress Mods' started by Shockah, Oct 8, 2013.
That should be enough, but you'll need some knowledge on how Terraria & tAPI work.
I just wanna say that I think you should make a separate program for compiling mods, but make it have a GUI, with something like WPF (really fast, pretty, and easy to use (it uses XAML to style windows and whatnot, but with a GUI editor that's even better than the WinForms one)) and it should have a progress bar for the compiling. Also, it would be neat if you could toggle mods from it.
Yep, just updated it to Terraria 18.104.22.168.1.
I'm not confused. It'd be nice to be able to, say, setup a TShock server which is able to interact with and relay tAPI content to its clients via a plugin -- this way, you'd get server administration coexisting with tAPI content easily.
Will this be easier and as organized as tconfig mods used to be? LIke how you would make a file and an image and create your item or will you have to do the complex C# coding thing that is used in the games source?
All TShock needs to work is that they open source their dedicated server code. We can do the rest to make TShock work on it. I am sure they can get Redigit's blessing on that portion if they really wanted. Porting TShock from TSAPI to tAPI is much more work than any of the team actually want to do.
I applaud your work thus far, gentlemen. A more organized and well-planned version of TConfig can only be of benefit to us all. I am eager to see where this project goes.
Yorai is probably going to make a remake of his SSS, so you can use that mod like you were using tShock.
So every time we've attempted to collaborate with tConfig, we are constantly shot down.
I don't think anyone here understands just how large the TShock userbase is, and more importantly, how important keeping the source code open is. Open source code has the following benefits:
Free bug fixes! People fix issues on different platforms (say, Linux, Windows, etc.) and it works good.
Paranoid people can compile their own code if they don't trust the binaries people distribute. One of the biggest points of note with TShock was that Zidonuke was working on our code - everyone can see that he has contributed nothing but good code to the project. Don't trust our downloads? Go pick through the code yourself.
Free code hosting on Github.
Free sponsorship benefits - companies love open source. Atlassian and JetBrains will give you stuff free for allowing other people to work with it.
It isn't worth our time to reverse engineer your code and Redigit's. We would be happy to add more hooks and integrate anything you guys do serverside with what we already have, but we have nothing to work with here.
Even bad source code (which is what TShock originally was) gets refined and reviewed by other contributors. I've learned more by working with the developers of TShock (which I didn't solicit, by the way, they found me) than I have in any programming course.
If you want to discuss this with me more in depth, I can be found in #tshock on irc.rizon.net at any time during the day. I'll check this thread from time to time too, but honestly I've been really busy lately.
a lot of people are worried that tapi will be hard to use, and others are putting them down, saying things like: 'newbies shouldn't be modding' and the like, but if someone were to set up a simple enough tutorial, everyone would be happy to switch from tconfig.
This is probably my largest gripe. I can understand developers wanting to keep some amount of control over the direction of their codebase, but the sheer productivity gains from the massive parallelism that open source can offer (in my opinion) vastly outweighs the cost of having to review and test code from pull requests.
As an example, I'm an experienced developer. I'm familiar with C# and comfortable working in my Terraria decompiles. There are a few bugs in Terraria that annoy me personally, so I'd be willing to spend the time to fix them. Right now I have basically no incentive to do so since I'd have to re-apply my fixes with every update. If Terraria was open-source, I could fix them and submit a pull request from my repository for consideration and possible inclusion into the next update. Now, I'm just one person. Imagine how many other experienced developers there are that enjoy Terraria and would be willing to do a bit of work on it (Hint: I know a company full of them; I work there).
This same gripe applies to tAPI. I understand wanting to be sure of licensing and permission issues, but man it'd go faster if the work was spread out. Of course, it isn't as "fun"; you go from being a developer to being a software designer and source control admin. You have to be more disciplined, create good designs, and be able to communicate these designs to the people that are working on them instead of just vaguely hand-waving about some features and making it up as you go along. Some people just aren't interested in going that far for what ultimately amounts to a hobby project.
I think part of the problem is that the people asking and the people answering are not really even talking about the same things. Most of the people asking are thinking of having a sprite and an ini file - that kind of thing. The people answering, if you were to clarify, would be more like, "Oh, ini files? pfft, that's not modding."
The other confusion is people that hear ini files are out, but think JSON is a programming language.
Additionally, people who make pretty small things or changes to other people's work (this is somewhere in my world so I am familiar ) are not as familiar with the difficulties in making the more advanced things work in tConfig. You can pretty much tell who has been doing what (not 100%, just saying) from somebody whose theme seems to be "oh that's so much better!" and "No! We must revive tConfig because inis are gone!"
It's just kinda like people talking from different worlds more than being jerks.
The thing is, we really can't just make our repo public. We've asked Redigit several times - always getting a "no".
tShock on the other hand is only a serverside mod. That's why these guys got the permission to publicize Terraria code - because it's only serverside.
We need to work with both clientside and serverside code, which gets a "no" from Redigit.
If we could, we would make the repo public right away, but things aren't as cool as they could be.
Also, ignore half of the things nicatronTg said - actually he didn't ask us if we would like to cooperate with tAPI, AND I already wanted to do that anyways. The plan is to share the source with the tShock dev team just before the first public release of tAPI.
I think a great example of this is dolphin emu which is a wii / gc emulator which in 4 years can now run almost all gc games with damn near perfection.
That is very unfortunate that Red isn't allowing this I would ask him again however when terraria 2 comes out or maybe ask if he would release a user updated copy called Terraria Open Source and he would give you the main lines of code from the first patch that it would be up to the users to update.
It is sad though that he refuses. I would still buy things he makes just out of respect.
Didn't he do the same with smbx though? That was also unfair to gamers now people like me are working on their own fan game engines.
Then build a freaking patcher. Or use bytecode injection. That was the original way TShock injected code into the API without distributing the client. You can use bytecode injection and you still get the main benefits of having client code out there.
Or again, use a patcher that only injects changed files into the exe. Logistical issues should not prevent you from releasing source.
And for the record, we [the Nyx Studios team] only care that you release the source to the server. The source for the server is in fact obtainable without using the client. You can distribute the important half, which would allow us to release a compatible TShock bridge, and you would be fine in Redigit's department 100%. Keep the client to yourself is Redigit's issue is client code floating around, but the server is in no way restricted based on what you just said.
In the spirit of open discussion, the following conversation took place in #tshock on irc.rizon.net:
I would agree enirely with the tshock team. Its true it is harder and more difficult to setup two different projects and Red if you read this man your game is easy as hell to crack I did with some binary coding to the steam API but what I am getting at is that your game is great and trust me people will purchase it and support you. I mean that is how you keep a game alive I alone bough 10 copies.
Someone forword this to Red XD
"Easy as hell to crack" doesn't justify cracking it. Just because someone leaves the key in the front door doesn't mean that you can go open it and steal all of their stuff. This is made especially irrelevant because all of the pirated copies are using modified steam libraries, because they are universal and apply to all steam games. Piracy is a service problem.
You misunderstand; I am not saying that I promote it but I was pointing out that this farce about code is nothing more then childish. The fact is all of us respect red and from a devs standpoint he should already understand everyone who can program already knows his codes and credits him and by holding back parts of code is just rather foolish especially since if he gave the tAPI devs and you the rights to use it but gave you no credit he would simply speed up growth of purchases and modders. Everyone likes sandbox games that can have addons; I mean look at minecraft
Unfortunately sometimes people in power or who have skill do not share. If I had the power or popularity I would definitely do all I could to help my product expand.
On the note of pirating I only promote it to download and test a game not steal it because lets face it; if you thought you might like a game and spent 50 dollars on it and then realized it sucks would you be happy? "This is not applying to terraria though I cracked my steam copy just because steam loading times suck sometimes and its convient for modding purposes."
No, Minecraft is in the same area. Mojang does not allow people to distribute the client code. People have tools that disassemble the client code from your own copy, and people also have tools that patch it or circumvent it. Mojang and Redigit have the same exact policy when it comes to enforcing modding restrictions.
That is just stupid XD am I the only one who notices the potential of product growth here? Pirates pirate EITHER WAY XD that is why this is so pointless XD "I used to but now I have money these days so I support good products."
These are sad facts whether people acknowledge them or not. I respect all peoples opinions but oh well good luck on your work
Separate names with a comma.