Improvement proposal

Hey guys! I wanted to talk about Thrive the idea exists fore about 10 years and we have about 5 years of development, we have awesome talented artists, programmers and everything… But we don’t have any general leader, director, supervisor or something like it, no one really knows how Thrive will be in the end, there are a lot of comunication issues, a lot of poorly designed measures, when some one leaves for some time almost the whole project stops, not every member know what to do, what is in currently development, what was made and what will be, the original plan (content in websites) it’s sometimes vague, not existent or without technical information or made by someone without general knowledge, not every ideas are listen, there isn’t anyone to receive the ideas, filter and put it together in game in some good way, everything it’s made by everyone, it’s hard to contact some group of members or everyone in some effective way… And a lot of another issues. After all of it it’s easy to say we need to be better organized, everyone doing everything can be fun, but if we’re really trying to create something complex as Thrive game, fun don’t need to be something focused… What about change the way we comunicate and make it more effective? Establishing some general leadership and direction, we can choose some people (2 or 3 cuz we’re volunteers and sometimes some one can leave) who has basic knowledge of programmation, gaming, art, techniques, technical stuff, and it’s really engaged with the project, team leaders (it is already defined, but we need to make it more effective) and the whole crew. This way we can improve the develpment progress with direction, organization and a better planning. Having some people to receive the ideas, filter and organize it based on technical knowledge will make us a lot more effective and it’s the best chance to make Thrive a real awesome game.

I made an concept of website or new feature in the current website exclusively for devs, this may help the organization and communication as well as facilitate the contact with members, the new members will already know what’s going on and the members available can help us more effectively.

Hi Joao, thanks for the feedback.

I’m the Microbe Stage Design Lead so I guess for this stage I’m the closest thing there is to a central authority on stuff so I thought I would add some response.

I think there is a tradeoff between the efficiency of concentrated power and the democracy of distributed power. For example if we were to have 1 (or 2 or 3) people who could make all decisions for the project then the problem is that takes power away from everyone else, they then lose the ability to have a say.

The way things are run at the moment is that everyone is considered to be part of the game design team, everyone’s opinion is important and when we have discussions everyone gets to say what they think. Hopefully we can move forward with a consensus however when that is not possible the team leads can step forward to make decisions to break deadlocks.

I really like this way of working. I think part of the reward for being on the team is to get a say in the direction of the project. I also think the team has a nice chilled vibe and I think part of that is that everyone feels listened to, people can have different ideas and other people will take those on board.

However I agree the downside of this approach is some level of chaos, there can be many pages of discussion and it is hard to keep up with everything that happens. More specifically if you have any questions about plans I will happily explain stuff.

Re planning and organisation I think there are a couple of drawbacks to making big, detailed, plans far in advance.

The first is that good game design is very iterative. It’s best to try some idea out and then tweak it to improve it or remove it if it isn’t working. For example healing and reproduction used to draw from the same resources pool and we removed that and it made the game much better. So just taking one step at a time is good because each time you plan the next step you have the most up to date information.

The second is that it’s quite depressing for new team members if they join the project and there is some massive todo list for them to work on which is already fixed and planned in detail. I think it is better for people’s motivation if they can join and have an impact and contribute their own ideas to the next planning step, if someone is willing to build something they should have a reasonable amount of power in how it turns out I think. That helps people get into the process and enjoy it I think.

I hope this is helpful and helps you understand why things are the way they are. I’m open to changes in how we run things, however I think probably we’d want to make small incremental changes rather than overhaul our whole process which I think has been working quite well for a while.

2 Likes

That’s the point, the game development has been “rolling” for 5 years and look what we actually got… Everyone doing everything sounds good and fun, but in the reality things don’t work that way, someone or some people has to organize the ideas that’s why movies has a director and not a bunch of actors reading his words… Every thing needs some direction and organization, as I said in the post this new way would improve even the communication because now we depend of everyone agree on Discord, or at least the first ones to see it, for example, if I propose a new idea on the discord general channel, 3 or 5 people will read it and answer cuz the following members will not read everything that happened before, if we had some way (how I specified in the post) to contact the whole team and the leaders in some way everybody has their ideas read by the team would be more democratic, by now it’s like an mass of people saying things, “try this”, “try that”, “do this”, “do that”, someone says something but we can’t heard, we waste a lot of time trying a lot of ideas and making wrong decisions only to try to listen everyone, not everybody knows actually what’s going on, when some people leave for some reason the project stops, new members don’t really know what to do… This and a lot of another issues are caused just to “keep it fun”, you talked about “taking a step at the time” but that’s exactly the opposite of what we’re doing… We’re working on Thrive, a hugely complex game and we start to just do things before we even finish the planning, even the basics things… We’re like shooting an movie before writing the script, we’re treating Thrive as the Microbe Stage and there are some next stages that haven’t even an clearly definition… It’s like, how I told, shooting a movie without script, feels like we’re filming the first scene all by improvising and will it ends? And if it end how will we move on? Because we don’t have a leadership, hierarchy or organization and it works everyone doing everything and etc, in the end the game will look like an frankstein cuz everyone has a different standpoint and no one it’s filtering or organizing it… 5 years of development and we don’t even have 50% of the Microbe Stage (the simpler one) you really think it is working? If we keep that way we may never finish the microbe stage and problably the whole game, and if we finish it won’t be as many imagine and will take decades… We gotta do something about it! We can’t just pretend everything is working and is fine while it’s a complete mess… I know it’s a big change, but it can literally save Thrive and make it happen…

I don’t agree with this. While is true that having an extremely detailed list of concepts and mechanics is too inflexible I’m happy with having a to-do list. For me it’s an easy way to kickstart my working schedule and I think it would be extremely helpful for new members.

I don’t think these two are mutually exclusive. You can have a big to-do list and still accept new ideas for concepts that haven’t been thought of yet. I’m in favor of letting everyone propose their ideas since having different perspectives is often a good thing, specially if they come from members of different subteams.

2 Likes

I don’t think the project’s organization is the main reason for development going slow, neither is trying many different ideas since we don’t actually do that anyway (at least as far as I’m aware of)
The answer is much simpler, devs only work on this while the can or want to, this is a voluntary project after all and unless we have even more devs or somehow financially support those who work on Thrive the situation will be the same.
Don’t get me wrong, while I think the best option is to have a paid team I’m aware that’s not the nature of this project and probably never will.
However I think that, as the game progresses and improves, more people will join and development will go faster so I don’t think depending voluntary work is a lost cause while I have to admit it’s not the most efficient way of doing things.

That’s what the forums are for. Discord is for relaxed discussions while the forums are for proposing more serious ideas that are worth pondering. Although it’s true that we often use Discord for proposing serious stuff that never gets out of there.
(btw sorry for double posting, I’ve just seen Joao’s message)

2 Likes

DonGororo, that’s it, we have enough members but not every of them are effective because we don’t really know what to do and sometimes we are limitaded for a lot of things that happenened in the past and we can’t change today… That’s why I think with better organization and leadership it would improve hundreds of times, cuz right now we waste a lot of time creating, recreating or fixing previous ideas that gone wrong, basically we’re stuck dealing with issues of the past, better organization and planning should prevent it… You said that Discord is for relaxed discussions, but we all know that’s not what really happen… In truth the forum it’s for “official” stuf or big discussions, announcements etc… But actually we use the discord for everything and the contact and communication becames a lot messy

So it is right but how do we organize it for the team? Should we include more detailed tasks not related to programming on github or host tasks somewhere and make the team leaders manage it. Right now we don’t seem to have a strong direction of visuals or sound design and its a bit like ‘do whatever’ which would be solved if we had more management in these areas.

1 Like

totally agree with you… I made this “concept” of something really intuitive that could be implemented in the main website, it would be a really direct way to contact the team and to keep updated, also the discord channels in my opinion should be closed, leaving just the random and general channels for announcements, informal conversation, sharing links, introduce new members and etc… Cuz if we keep the discord channel and create this new feature in the website will be kind of useless cuz everyone it’s used to talk in Discord, this way I guess we can keep the fun and conversation in Discord and work seriously using the website, forum and etc…

I originally joined a while back and tried my hand in the programming department. (which I do want to get back into) They had some tasks I tried to work on, but ended up leaving as they were way over my head. Then I heard about some needed help in the outreach department, so I joined back in, and became proactive with the tasks that were needed. I jumped in and started making a press-kit, once I had something others joined in and gave me feedback and helped to shape it into what it is now.

Overall it was fun and engaging, however I think a lot of the problem comes down to people needing to be proactive and jump into things, even if it needs adjustment down the road. This project won’t work well if we have to hold everyone’s hands.

With that being said, there is always room for improvement and the possibility for a better way. I just think because of the nature of this project (being volunteer) that its not going to fit the normal structure that other companies and teams have.

4 Likes

I think it’s perfectly reasonable to be frustrated with the pace of the project, it does move slowly. One thing to bear in mind is that we’ve made more progress in this last year than the 3 before that so to those of us who have been around a long time things look brighter I imagine.

If it would be appreciated to improve the management and planning in the art team I think that could be a really good thing. I like the sound of having some sort of list of tasks to be done, maybe using github issues is good or another system. That sounds like a nice thing to build.

Specifically there is a list here of things that need doing https://github.com/Revolutionary-Games/Thrive/issues/787 and other organelles could be modelled if people want something to do, such as bioluminescent organelle or a makeover of the flagella. Having more management and planning for art could be a good thing.

It’s a bit tricky that we have focussed on the patch map and the art for that has been largely done so we are waiting for programming to implement it. Before Christmas we had more programming than art and it was the other way round.

3 Likes

I agree with you, but about this being volunteer I guess this doesn’t mean we can’t have organization or hierarchy, I guess if it had more organization and planning the members would feel like working on something that will really happen, the new members would join and see progress and the project moving forward, this motivate all of us and by motivating we could get better and faster results, it’s like an cycle, organization and planning creates an better and faster progress, the members sees the project moving forward, get motivate and get engaged with the project.

One thing it’s the project moving slowly, another thing it’s run in circles, without organization that’s what is happening, a big “do whatever” like Uniow said, I honestly think that if we had a good organization, planning and leadership we could reach this current 5 years progress (or even more) in just about 5 months

Thrive isn’t that kind of game we can just make a list of models, which post in a website and wait till everyone does it, we could do it with a simple game like an simple shooter or platform games, Thrive has a LOT more complexity and we need to do a lot of things before start creating models, for example, we haven’t any general idea of Thrive, so if we keep that way in the end the game won’t have personality and will look like a bunch of games together. We hadn’t decided some basics things about all stages, and editors and a lot of other things the game may have, we barely decided the basics of the microbe stage, a lot of things it’s vague about the whole game, we hadn’t any order of creating things, so we keep moving forward and moving backwards everytime, changing engine, changing renderer, issues with previous models, previous scripts, new ideas putting together at the same time without a filter or organization, and a lot of other issues… the list of models it’s important, but to build a house we need to make the groundwork before, we’re working directly in the aesthetic of the game without basics things…

I think I understand what you’re saying. Here’s a few practical challenges I think we would have to overcome to go in this direction:

Firstly how do we decide who should have the power to make all the decisions? I have a couple of published tiny games but nothing big, I don’t think anyone else has a big amount of game design experience outside Thrive so there’s not really such a good candidate to make all game design decisions. Moreover I don’t know if anyone has experience with writing detailed game design documents.

Secondly writing this big document that covers all stages in detail is a huge amount of work (and you also suggest designing our own new website and discussion areas). I am not sure if people have a lot of time to devote to document writing and this might slow down progress to write such a document.

Thirdly there will then be a very big burden of document maintenance. So each time an idea is changed all future features that rely on that idea have to be altered with all details changed and mathematics recalculated etc throughout the whole document. We are already struggling to find time to keep the wiki updated and that mostly covers only the microbe stage, having all stages in all detail would require a lot of maintenance once it is done.

Fourthly there is the problem of team turnover. So if the space stage is planned with all details by the time the project gets there the people working on the project might be 80% different (we are already quite a different team from 1 or 2 years ago). It might be hard for them to make a game based on a plan written by others who have left. As you say one struggle we have is when people make a feature and leave it’s hard for that feature to be altered later, this big document would have that problem. If the main decision maker left that would make a big hole in the project.

4 Likes

I think the problem is you joined during a lull, tjwhale has been doing a good job as design lead and we were very very productive for awhile. Its just that me and @hhyyrylainen have had our situations changed and things have slowed down.

I dont think you have been around long enough to know how well our system works, basically.

3 Likes

I already talked about it in the post “we can choose some people (2 or 3 cuz we’re volunteers and sometimes some one can leave) who has basic knowledge of programmation, gaming, art, techniques, technical stuff, and it’s really engaged with the project” if I wasn’t clear, I meant that we need someone with general knowledge (about color techniques, intuitive stuff, gameplay and know how to direct some project in general) and technical knowledge (basics of programmation, 2d and 3d knowledge, animation, sound, theory and gameplay so he can speak the same language as the team leaders and the whole crew) and people engaged with the project that will be able to spend some time to direct the project, I also told about more than 1 person cuz it is volunteer and nothing can garantee that someone will just vanish, about 2 or 3 people should be fine, 1 director and 2 co-directors
Almost the whole team is an amateur or it’s on his first try to making game so we can’t ask for an awesome portfolio, I think people should apply, showing some previously work, talking about themselves and his vision about Thrive in general, expectations, what would like to add in game and even talking about each stage individually (his thoughts about it and what should every stage be based on and how it would work in the whole game) so the whole team could vote and choose the director and 2 co-directors by his skills and thoughts about the game. This way we will do 2 things at the same time, improving the leadership and also the organization and planning about the whole game and each stage.

I think the time we use planning isn’t waste of time cuz it will speed up the developing project and I guess in about a month we can stablish the basics of the game and each stage, details like numbers of parts, each part, and etc don’t need to be settled now except for the microbe stage. About creating a website, I guess we can use the already existing one, but add an developer tab, the main things we need it’s some way to contact directly the leaders and team leaders and show our current tasks, I made this concept on post and I think isn’t so complex.

That’s why we need directors, so when someone send a new idea the leaders and directors would discuss about if it is possible to add in game and how to make it in a good way without change the whole concept, about it most of the basics things should be settled now so the new ideas that change the basic stuff may be filtered and organized, but this is part of the planning, cuz if someone send a new idea that change the basics of the game obviously will be harder to add than some simpler thing…

As I told that’s why we need more than 1 director (at least 2 or 3) and also more than one team leader, so will be harder to all of this people suddenly vanish and working with previous planning isn’t a bad thing cuz the new members won’t waste more time planning something, but more executing and changing little details…

I searched and get informed before posting on forum, I also talked with some longest people to know what was going on before I start posting, post to the whole team was the last thing that I made before talked with a lot of longest members and got informed about the whole process.

I talked about it in the post, we have a lot of members and we have to find ways to keep Thrive project working in the missing of some people, by now when some 2 or 3 people leaves for some reason the project almost stops cuz the other members don’t really know what to do by a missing of a good planning.

You didnt talk to me, i’ve been around since 2013 and am one of the main programmers, did you talk to @hhyyrylainen ? Me and him are the main reason 0.4.0 exists.

1 Like

Actually I tried to contact you, if you want check at your discord messages, you didn’t aswered me… I talked with @hhyyrylainen, and I also talked with some others team leaders and members, I don’t know if I really need to mention everybody, cuz I talked to them in private so I would need their autorization…

all you did is ask me how the engine works and whether we should add procedural animation

Which i answered

“Man, I saw some YouTube post of you from 2015 or so, about Thrive… Are you the longest member on the crew or is there someone that is working on it since more time than you?” 27/05/2019

“are you the longest member” doesnt exactly scream “Hey man, do you think we should restructure the whole project”,
Im sorry i didnt see that.

1 Like

I wasn’t at my computer when this got posted, so here’s my a bit late reply, a huge post incoming…

After thinking about the points a bit, I think most of the criticism is towards the lack of structure inside the graphics team. As the programming team lead, I review all the code going into the game (master branch), and working with our game designer I setup the issues on github for the next release. Though, I did know that we don’t have many good tasks for new people:
Good first issues: https://github.com/Revolutionary-Games/Thrive/issues?q=is%3Aissue+is%3Aopen+label%3A"good+first+issue"
Easy issues: https://github.com/Revolutionary-Games/Thrive/issues?q=is%3Aissue+is%3Aopen+label%3Aeasy

That makes it a bit difficult to get into it. But we haven’t had new programmers joining recently. Though, some of the latest programmers to join haven’t gotten started well.

I think there is room for improvement here. One idea I have is that me or @Untrustedlife could mentor new programmers (even more than currently) through a few tasks to help them get started. That would basically almost be pair programming, the way I envision it working, so it takes a ton of time. Not sure how possible that is, but the truth is that we need more programmers to join and be productive. @Untrustedlife coming back to the project has been a huge factor in getting 0.4.0 and subsequent releases done.

Anyway, back to the lack of structure for the graphics. @Narotiza is the current graphics team lead, but he isn’t super active. At least I haven’t seen him comment much on the art things happening lately. Maybe we just need a more active graphics team lead who can set out tasks for the graphics team? As I said, I think the programming side is structured enough, we are just short on people doing work. Lean methods are a big thing in software development and I think they are the right choice for a huge project like Thrive, they allow us to plan one release at a time and then do a “sprint” towards it. I don’t think we have any capability to make long term plans that would stick. Even 0.4.2 is delayed because suddenly there wasn’t any programming being done on the game. That’s just a thing we need to deal with as long as we don’t have anyone working on the programming side full time or even part-time (Untrustedlife has a patreon, but that hasn’t reached a level where he could work on part time).

I agree with @tjwhale that any improvements to the way the game is made should be made gradually and fully aware that this is a volunteer project. I think the current way works quite well, getting graphics done is a bit chaotic, I admit.

Now I’ll reply to some specific parts I feel like replying to:

I don’t think it’s possible to know how a game will turn out in the end. It’s an iterative process. Overwatch was going to be an MMO but then Blizzard realized it was going to be bad late in development and they repurposed the world and characters into a shooter (or so I remember it going, I might have the details a bit wrong). My point is that even huge game projects can’t be designed up front, they need iterative feedback from the designers as the game gets implemented.

Currently only way to really know who is working on what is to check the discord and with programming also the commits as we aren’t really using the “assigned to” feature on Github very actively. It would take time to have some kind of list. I think it works well enough that I know what each programmer is working on and can say if someone is thinking about doing something that is already being worked on.

This is a concern. We need to collect information somewhere regarding how things work to lessen this impact. Also known as the:


I think we have a release process outlined on the wiki but it is a bit out of date.

The current process that has been followed for the past few releases is that we have a big discussion for a few days about which features will be included in the next release (this is the agile workflow which has been adopted by the software industry). I think it is perfect for Thrive. The downside is that if someone is not active (even after @everyone) in the planning process the ideas will be just left out. Someone could promise to champion ideas that people have submitted to alleviate this problem.

@tjwhale is our designated microbe stage game designer. So there is someone whose word is final regarding the design of the microbe stage. I think that works fine as is. @NickTheNick is the overall team lead but he pops in very rarely.

Would the sending ideas be open to the public? We have the community forums for people to talk about their ideas for Thrive. It is that way because a lot of the ideas are bad. It’s been that way for a long time that there is a separate forum. I try to be active there in order to reply to the community’s questions. I’d like some help with that…

I also answer many questions on our discord that people post. But the quality of discussion is even lower there. And the same topics get recycled many times. At least on the forums we can keep tell people to reuse inactive threads.

I think this is a very important thing. Thrive won’t survive if someone becomes a dictator and makes the project not fun for others (granted many software projects have a single maintainer who does whatever they want even if no one else contributes to the project).

That’s why the official workflow says, ideas should be discussed on the forum: http://thrivegame.wikidot.com/workflow

The workflow still mentions slack so it should be updated.

I feel like this does not apply to programming related things. I offer comments on possible approaches. I also sometimes say that this is definitely the way something should be programmed.

It would help if people posted progress on the forums here and people could comment. Like the new planet pictures by @QuantumCrab would be a good candidate to share here.

I feel like this is specific to the graphics team (and also the sound team when @Oliveriver is too busy to comment on a new piece).

The early game should have major impact on the later game. Meaning that it is not possible to concretely design the later game before the earlier game is done. This is also related to the agile working method, which I covered earlier.

Even with the best project management you can’t make something with 0 available programmers. Right now there’s a huge bottleneck with the number of active programmers. With the graphics engine change there will be an influx of a ton of graphics work as many of the models were lost and the organelles will (likely) be able to use a full PBS material on them, meaning a bunch of material maps are missing for the organelles.

For reference here is the discussion thread:

Maybe it was closed a bit early (only a day passed before finalizing the selected features). But even then people didn’t flock in with their ideas, which means that the ideas are not made into issues that are then in the queue for actual implementation.

I think we should more freely allow discussion about the next 1-2 years on here (instead of really out there far off ideas which I think are suitable for the community forums) with a push then to get some features people want into the release planning process.

One can always hope that we can start raising a couple grand a month in order for me (or someone else) to work on Thrive full time…

I don’t think most people just are able to devote a significant amount of time to Thrive no matter how well the leadership structure is planned. Also pressuring people too much may lead them to leaving the team entirely.

It’s perhaps too convenient. I’d like to make an effort to have more stuff going on here. But many people don’t actively check these forums, so I think that pinging people on discord is a lot more effective for many things.
Relevant discussion:

I’d like more opinions about this. Should we also include non-programming tasks on Github?

Also I just remembered we have this for project management tasks (anyone is free to update it):

I agree that we should make the website more engaging. There is a link to email us there (I think) but only a few people regularly check the email…

This is the huge issue with programming, it’s very hard to get into a big project.

With the “do whatever” approach I think we can better attract people who are very interested in making their dream game (just ask @Untrustedlife about microbes)

So you are saying that we should decide on an art style? And we need a more active graphics team lead to enforce style and hand out tasks?

Ouch. I’m not going to rehash my previous posts about these topics, but we have a ton of working code, reimplementing things without causing a ton of new bugs that take a long time to work out, doesn’t happen. As I’ve gained experience I’ve realized that rewriting things is often not worth it. So that’s why we are stuck with a game engine that works the way thrive is coded. The previous renderer is just too difficult to use. The new one will be easier. They are also planning to release an editor that graphics people could use to preview and work on their models.

Issues with previous scripts will always happen, there’s always bugs and things to tweak.

Totally agree. Those things would take a ton of time from someone familiar with the project.

This is how we currently accept new team members.


has shown pretty conclusively that in a software project planning too much will ruin the entire thing. I’m not entirely against planning ahead, but I like agile software development where things are decided just a bit before they are done, it works very well when you don’t know what the finished thing is going to be.

You are underestimating the number of ideas (and terrible ideas) they would be bombarded with constantly. Even I have to take breaks from trying to reply to all ideas on the community forums:

Right now it is quite certain that if both me and @Untrustedlife leave at the same time there is no one to pick up the programming and the project has a high chance of fizzling out as it turns out to be incredibly difficult to find volunteer programmers (we haven’t had anyone new join in half a year, I think).

@Oliveriver and @tjwhale are probably the oldest currently active members. I joined a bit after Untrustedlife went away, so in total time being active, I think I have the lead on him.


I’ll just finish off with some random points:

  • @lavathor’s title is now “Outreach person” because I wasn’t sure what the proper form for someone doing outreach is
  • I think updating the titles of ex- or inactive members might be beneficial (if someone is reading through old threads).

Time spent on this post and not working on Thrive: a little over 60 minutes

3 Likes