User:Hhyyrylainen: Difference between revisions

From Thrive Developer Wiki
Jump to navigation Jump to search
 
(4 intermediate revisions by the same user not shown)
Line 22: Line 22:
I'm not saying that would happen, but it is a possibility, at least as far as I understand the GPL license.
I'm not saying that would happen, but it is a possibility, at least as far as I understand the GPL license.
I glossed over the asset aspect. Those don't need to follow the code license, so if a mod had custom textures and stuff like that we couldn't force those to be included under the GPL license as they are data files the program uses. So mods with extra assets would be "safer" from hostile incorporation into the main game.
I glossed over the asset aspect. Those don't need to follow the code license, so if a mod had custom textures and stuff like that we couldn't force those to be included under the GPL license as they are data files the program uses. So mods with extra assets would be "safer" from hostile incorporation into the main game.
It's much harder to teach the computer to try to guess when you have made something resembling enough of some invention to enable a feature in the game
With specified technologies arranged in a tree or web, you just tell the game to enable a feature when a technology is unlocked. With some kind of invention designer you first need to design the actual technology tree first, and then you need to make the computer guess when those technologies should be unlocked for the player
https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases
But the game, if it gets to be like 10 gigs big, for fast downloads it will cost 5$ per 100 people downloading. That's so high that we need to carefully think about that, before offering that
If we don't care about download speeds if many people download at once. We can just have like a single server at like 5 bucks a month providing downloads, but everyone outside Europe will not get super good speeds, and also if like more than dozen people download at once, the downloads will take a long time (and might fail under extreme load)
Third choice is torrents. That was my third choice, we can make a torrent file, but who will seed it? At least until some community members get it
There was an open source torrents site but that seemed to be basically invite / application needed to get listed there
I did play Spore and enjoyed it quite a bit for what it was. I found out about Thrive because back in the day I was looking for an open source project to contribute to as a way to broaden my skillset / work on a team. I was working only on my personal hobby programming projects at the time. Getting involved with the community and seeing all the old programmers leaving, motivated me to stay to give the players new releases. Another big reason was that I was able to take over the programming team lead role as the only active programmer and port Thrive over to my own engine. Nearing the end of my studies I setup the patreon for Thrive and now I'm working in the hopes that I could make Thrive my fulltime job.
== Random reddit posts ==
=== Modding currently (2021) ===
You didn't provide a lot of details so I'm going to take a guess as to what might help you, so here's some info.
When the game is packaged to a precompiled version a directory with the game executable, a few files, and a Thrive.pck file is created. The Thrive.pck file contains all the game resources (images, sounds, fonts) and the compiled source code. So if you want to modify something about the precompiled game, you need to create a new Thrive.pck file that has all the resources the game needs, and then replace the provided one.
One way to do that is to follow our setup instructions (this is important because a .zip download of the source code doesn't contain binary assets, so that results in a broken version): https://github.com/Revolutionary-Games/Thrive/blob/master/doc/setup_instructions.md If you don't want to distribute your changes you might be perfectly happy running the game from the Godot editor with changes you make. Someone did post the game source code along with binary assets on the forums: https://community.revolutionarygamesstudio.com/t/moddable-thrive-files/3690 with those you could get by without installing Git, but basically everything else is still needed from the setup instructions (well not really all if you don't plan to work on translations, or package the game, you can skip quite many required tools).
Another way is to use a special tool https://github.com/hhyyrylainen/GodotPckTool to extract the Thrive.pck file provided with the game, modify the files (note that if you want to modify things like textures you need to use Godot editor to import those resources to the Godot .stex format), and then re-pack the .pck file with that tool. This is cumbersome currently because we don't have proper mod support in the game (any help implementing this is very much welcome): https://github.com/Revolutionary-Games/Thrive/pull/1521
https://www.reddit.com/r/thrive/comments/o7ipzc/how_to_change_anything/h2zkq84?utm_source=share&utm_medium=web2x&context=3

Latest revision as of 15:31, 27 October 2021


Random discord comments

Here are some comments I've said on discord for future reference


I haven't read up on this a ton, but I think that making generic algorithms run faster on a GPU requires a lot of redesign in order to make them more parallelizable, meaning that we might have to design the entire simulation differently to run on a GPU. There's also the fact that while rendering the game at the same time as running a simulation on the GPU may need some careful coding to not use too much GPU power for the simulation in order to not drop the FPS a ton. One more bonus fact: it seems a ton of people are trying to run Thrive on really weak GPUs (intel integrated graphics), which makes it even harder to maintain a playable FPS while putting extra load on the GPU.


It seems that Godot doesn't have Linux arm export templates We can make Linux arm releases once those are added Assuming there isn't a request for this yet, you should go and ask the godot developers to add support for Linux on arm to the engine officially Though it seems that if we had a arm64 server to compile godot ourselves we could do it: https://www.reddit.com/r/godot/comments/emkp76/running_godot_on_a_chromebook_with_linux/ but I'd need to do a bunch of stuff to setup such a thing. With official export templates it would take me just a couple of minutes to do it

I don't think DLC is really going to work. I want to explore ways to fund the game, so things like having the game cost money on steam for the convenience of getting it from there, is something I want to try. In the same spirit I suppose official "mods" could be distributed through the steam workshop for example, basically making pseudo DLC much easier to get through steam.

Usually modding a game is not covered by the game's EULA or anything, so it is a legal gray area. However, as thrive is GPL all code that is linked to the same program (to make one program), would mean that technically every mod to thrive must also be GPL licensed. Meaning that we could technically take any mod we can get our hands on and incorporate it into the main game. If the mod author complained and maybe tried to take us to court, we would counter sue by saying you made a modification / plugin that is to be incorporated as part of our GPL covered work, meaning that they must provide their work under the GPL. I'm not saying that would happen, but it is a possibility, at least as far as I understand the GPL license. I glossed over the asset aspect. Those don't need to follow the code license, so if a mod had custom textures and stuff like that we couldn't force those to be included under the GPL license as they are data files the program uses. So mods with extra assets would be "safer" from hostile incorporation into the main game.


It's much harder to teach the computer to try to guess when you have made something resembling enough of some invention to enable a feature in the game With specified technologies arranged in a tree or web, you just tell the game to enable a feature when a technology is unlocked. With some kind of invention designer you first need to design the actual technology tree first, and then you need to make the computer guess when those technologies should be unlocked for the player

https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases

But the game, if it gets to be like 10 gigs big, for fast downloads it will cost 5$ per 100 people downloading. That's so high that we need to carefully think about that, before offering that

If we don't care about download speeds if many people download at once. We can just have like a single server at like 5 bucks a month providing downloads, but everyone outside Europe will not get super good speeds, and also if like more than dozen people download at once, the downloads will take a long time (and might fail under extreme load)

Third choice is torrents. That was my third choice, we can make a torrent file, but who will seed it? At least until some community members get it There was an open source torrents site but that seemed to be basically invite / application needed to get listed there


I did play Spore and enjoyed it quite a bit for what it was. I found out about Thrive because back in the day I was looking for an open source project to contribute to as a way to broaden my skillset / work on a team. I was working only on my personal hobby programming projects at the time. Getting involved with the community and seeing all the old programmers leaving, motivated me to stay to give the players new releases. Another big reason was that I was able to take over the programming team lead role as the only active programmer and port Thrive over to my own engine. Nearing the end of my studies I setup the patreon for Thrive and now I'm working in the hopes that I could make Thrive my fulltime job.

Random reddit posts

Modding currently (2021)

You didn't provide a lot of details so I'm going to take a guess as to what might help you, so here's some info.

When the game is packaged to a precompiled version a directory with the game executable, a few files, and a Thrive.pck file is created. The Thrive.pck file contains all the game resources (images, sounds, fonts) and the compiled source code. So if you want to modify something about the precompiled game, you need to create a new Thrive.pck file that has all the resources the game needs, and then replace the provided one.

One way to do that is to follow our setup instructions (this is important because a .zip download of the source code doesn't contain binary assets, so that results in a broken version): https://github.com/Revolutionary-Games/Thrive/blob/master/doc/setup_instructions.md If you don't want to distribute your changes you might be perfectly happy running the game from the Godot editor with changes you make. Someone did post the game source code along with binary assets on the forums: https://community.revolutionarygamesstudio.com/t/moddable-thrive-files/3690 with those you could get by without installing Git, but basically everything else is still needed from the setup instructions (well not really all if you don't plan to work on translations, or package the game, you can skip quite many required tools).

Another way is to use a special tool https://github.com/hhyyrylainen/GodotPckTool to extract the Thrive.pck file provided with the game, modify the files (note that if you want to modify things like textures you need to use Godot editor to import those resources to the Godot .stex format), and then re-pack the .pck file with that tool. This is cumbersome currently because we don't have proper mod support in the game (any help implementing this is very much welcome): https://github.com/Revolutionary-Games/Thrive/pull/1521

https://www.reddit.com/r/thrive/comments/o7ipzc/how_to_change_anything/h2zkq84?utm_source=share&utm_medium=web2x&context=3