Thrive Game Development

Development of the evolution game Thrive.
 
HomeHome  PortalPortal  CalendarCalendar  FAQFAQ  SearchSearch  MemberlistMemberlist  UsergroupsUsergroups  RegisterRegister  Log inLog in  
Welcome new and returning members!
If you're new, read around a bit before you post: the odds are we've already covered your suggestion.
If you want to join the development team, sign up and tell us why.
ADMIN is pleased to note that this marquee has finally been updated.
ADMIN reminds you that the Devblog is REQUIRED reading.
Currently: The Microbe Stage GUI is under heavy development
Log in
Username:
Password:
Log in automatically: 
:: I forgot my password
Quick Links
Website
/r/thrive
GitHub
FAQs
Wiki
New Posts
Search
 
 

Display results as :
 
Rechercher Advanced Search
Statistics
We have 1675 registered users
The newest registered user is dejo123

Our users have posted a total of 30851 messages in 1411 subjects
Who is online?
In total there are 2 users online :: 0 Registered, 0 Hidden and 2 Guests

None

Most users ever online was 443 on Sun Mar 17, 2013 5:41 pm
Latest topics
» THIS FORUM IS NOW OBSOLETE
by NickTheNick Sat Sep 26, 2015 10:26 pm

» To all the people who come here looking for thrive.
by NickTheNick Sat Sep 26, 2015 10:22 pm

» Build Error Code::Blocks / CMake
by crovea Tue Jul 28, 2015 5:28 pm

» Hello! I can translate in japanese
by tjwhale Thu Jul 02, 2015 7:23 pm

» On Leave (Offline thread)
by NickTheNick Wed Jul 01, 2015 12:20 am

» Devblog #14: A Brave New Forum
by NickTheNick Mon Jun 29, 2015 4:49 am

» Application for Programmer
by crovea Fri Jun 26, 2015 11:14 am

» Re-Reapplication
by The Creator Thu Jun 25, 2015 10:57 pm

» Application (programming)
by crovea Tue Jun 23, 2015 8:00 am

» Achieving Sapience
by MitochondriaBox Sun Jun 21, 2015 7:03 pm

» Microbe Stage GDD
by tjwhale Sat Jun 20, 2015 3:44 pm

» Application for Programmer/ Theorist
by tjwhale Wed Jun 17, 2015 9:56 am

» Application for a 3D Modeler.
by Kaiju4u Wed Jun 10, 2015 11:16 am

» Translator to Serbian here
by Simeartherist Sun Jun 07, 2015 6:36 am

» Presentation
by Othithu Tue Jun 02, 2015 10:38 am

» Application of Sorts
by crovea Sun May 31, 2015 5:06 pm

» want to contribute
by Renzope Sun May 31, 2015 12:58 pm

» Music List Thread (Post New Themes Here)
by Oliveriver Thu May 28, 2015 1:06 pm

» Application: English-Spanish translator
by Renzope Tue May 26, 2015 1:53 pm

» Want to be promoter or project manager
by TheBudderBros Sun May 24, 2015 9:00 pm


Share | 
 

 Programmer coordination discussion

View previous topic View next topic Go down 
Go to page : 1, 2, 3, 4, 5  Next
AuthorMessage
Seregon
Regular


Posts : 263
Reputation : 37
Join date : 2011-08-10
Location : UK

PostSubject: Programmer coordination discussion   Wed Aug 15, 2012 3:37 am

Sorry Seregon for hijacking your OP, but:
New programmers now introduce their skills and get set up with a dev environment in the Applications subforum. Tasks are issued and taken using GitHub, and we now use Slack for much of our team communications; so all in all this thread probably only needs to exist for historical purposes.

We now return you to your regularly scheduled programming:


This thread is for any discussion about this thread, and coordinating our programming efforts in general.  I'll be updating this OP with decisions as they are made, along with links to resources and repositories.
Back to top Go down
View user profile
Carnifex
Newcomer


Posts : 37
Reputation : 8
Join date : 2012-08-13

PostSubject: Re: Programmer coordination discussion   Wed Aug 15, 2012 6:21 am

I'm not sure if you guys are using a system like this, but I always like having a central place where you can see what is currently being developed, has been finished, etc.
So perhaps the ticketing system of the svn repo is a good place for that?

Or perhaps setting up one of the many webtools out there to keep track of development progress in a structured way. This would also introduce a little bit of project management as you can then easily see how far away everyone is of completing certain parts of the game.

The reason for this suggestion is that I personally hate using forums for updating progress as you cannot see if a thread has been edited by anyone. You'd constantly have to 'bump' the thread which would instantly become a mess.
Back to top Go down
View user profile
Seregon
Regular


Posts : 263
Reputation : 37
Join date : 2011-08-10
Location : UK

PostSubject: Re: Programmer coordination discussion   Wed Aug 15, 2012 6:34 am

I've set up a pivotal tracker for this purpose. It's only been in use for a week or two, so it's a little empty for now. Anyone can view it, and I'll give editing rights to anyone actively working on development.

We'll also use this thread, and those linked within, for recording overall progress. As you say this isn't ideal, so it's intended more for those not actively engaged in programming.

Also, your molecular biology experience could come in very useful here, do you mind having a look over whats been posted there so far?
Back to top Go down
View user profile
jaws2blood
Newcomer


Posts : 62
Reputation : 3
Join date : 2011-12-18
Location : USA

PostSubject: Re: Programmer coordination discussion   Thu Aug 16, 2012 11:54 am

so we have a bit of a team now for thrive eh? About 5 people? this I find excellent, and does anyone have an idea of what in game systems we should start working on when we have everyone ready? I myself tried making some cell processes in c++, no real numbers yet but so far I have protein synthesis and Glycolysis which are almost done(just need numbers).

Also, to those also experienced with c++. Think I should put the compounds like protein, and stuff in their own class or in the same class as the processes. I want to be as neat as possible.
Back to top Go down
View user profile
Seregon
Regular


Posts : 263
Reputation : 37
Join date : 2011-08-10
Location : UK

PostSubject: Re: Programmer coordination discussion   Thu Aug 16, 2012 12:33 pm

I've been working on an implementation of the compounds/processes system in this thread, it's mainly concept and theory right now, but I'll be posting some of the actual implementation later. I'd be interested to see what you've come up with too, I didn't know anyone else was working on it. I have Process and Compound classes, with objects for each individual compound (protein, sugar, oxgen), and process (aerobic respiration, glycolysis, photosynthesis)... I'll post more details in the other thread tonight.

As for organisation, it does look like we now have enough programmers to make a proper start on this. I'd suggest that we actually approach this from two sides: we need some people working on the overall engine, integrating ogre, and pulling together the various components. At the same time, we need to start turning our concepts into actual code, and develop the individual systems and components which will make the game.

I don't think we can decide too much about the overall structure of the engine until we know more about the components we're dealing with, so I'd concentrate on those first. There are parts of the engine we could work on before then, for instance the ogre implementation, and (as suggested originally by RoadKill), I think this is something we need to look into.

Mainly, I think we need to start doing a lot of research into the various things we're going to need:
- Ogre, or some other 3d engine
- Me and Apeiron are looking into parallelisation, so we can multithread a lot of the costly computation we need to do, and hopefully shunt some of it onto the GPU.
- An entity framework, as linked above

We also need to decide, between us, which compiler to use, and also decide on naming and other design conventions. Apeiron has offered to draft an initial list of conventions and standards, as he seems to have the most experience of this.

These are my suggestions anyway, let me know what you think.
Back to top Go down
View user profile
jaws2blood
Newcomer


Posts : 62
Reputation : 3
Join date : 2011-12-18
Location : USA

PostSubject: Re: Programmer coordination discussion   Thu Aug 16, 2012 1:04 pm

well, I have the different compounds as variables and my processes are simple equations something like this:

if x = (some number)

y+= (some number)

so maybe if y is say energy, then x would be atp and when you get/create a certain amount of atp, your energy is replenished by a certain amount. As for compilers, i think code blocks is very nice, especially being free and cross platform. You really have to try it with a purpose to understand how good it is.

I'm not sure about using things like Unity 3d for all of thrive, maybe more for prototypes because we'll be able to get really good, solid ideas of what we're programming. As for Ogre 3d, it's our best bet but, only the most mathematical of us will be able to work with it. Mostly because of calculus, and trig, and matrices, and probably more involved with making procedurally generated things, and rotations, and shaders, and all that other scary stuff. However, it's near impossible to make thrive in any other graphics engine because of how complex it will be with items being made in program and what not instead of being pulled from a file.
Back to top Go down
View user profile
Seregon
Regular


Posts : 263
Reputation : 37
Join date : 2011-08-10
Location : UK

PostSubject: Re: Programmer coordination discussion   Thu Aug 16, 2012 5:42 pm

I completely agree about Unity, it simply isn't powerful enough to run the later stages. I do think it could manage the cell stage, but I'd prefer to go with one engine for everything. I'm using Unity simply for prototyping, as it's much faster to develop ideas there than it would be using Ogre.

Creating the procedural meshes and animations we're going to need will require some advanced math regardless of which engine we use, and hopefully there'll be enough to do besides the actual rendering to get our non-mathematician programmers involved. Ogre does seem like our best bet regardless, unless someone fancies writing us a custom engine in OpenGL, but I personally think that would be a lot of fairly unnecessary work.

As for compounds, I've avoided hard coding any of the reactions, and instead tried to write a mini-engine for processing reactions loaded from an xml file. I've been trying to write up a post about just how all week, but I've had too much other work on to finish it.

EDIT - oh, and compiler/IDE wise, my personal preference is visual studio, which is brilliant, but with the obvious drawback of being windows only, and not playing very nicely with other compilers.
Back to top Go down
View user profile
Carnifex
Newcomer


Posts : 37
Reputation : 8
Join date : 2012-08-13

PostSubject: Re: Programmer coordination discussion   Fri Aug 17, 2012 4:37 am

I'd say Ogre works just fine for rendering 3D graphics. No need to write a whole new library using OpenGL.

As for the programming stuff, we should gather at a meeting on IRC or skype or whatever and decide on all that while noting everything down. From that we can construct a document (developer guide) which new programmers can also read as to adjust to the style used.

Keep the code as OO as possible, no hard coding of course. Mostly I recommend having classes with a maximum of 1000 lines of code and functions with ~25 lines of code (meaning around 40 functions per class). Keep things organized and readable.
But as I said, you will want to discuss this with all programmers involved so everyone is on the same page.
Back to top Go down
View user profile
Seregon
Regular


Posts : 263
Reputation : 37
Join date : 2011-08-10
Location : UK

PostSubject: Re: Programmer coordination discussion   Fri Aug 17, 2012 5:59 am

Agreed. We have an IRC on the portal page, and while voip might be better for later discussions, I'd suggest we hold the first one over IRC (either the one on the portal, or a room on freenode), so that we have a transcript to use, without having to take minutes.

I know that myself, Carnifex and Apeiron are in Europe, GamerXA is in Australia, and I'm not sure about Jaws2Blood or Thryckz? What time would be best for you all (preferably in GMT)? Any time from 18:00 to 01:00 GMT is fine for me, though I can manage other times if needed. I'm also very rarely on during the weekends.
Back to top Go down
View user profile
Carnifex
Newcomer


Posts : 37
Reputation : 8
Join date : 2012-08-13

PostSubject: Re: Programmer coordination discussion   Fri Aug 17, 2012 6:11 am

I'm available at any time if of course it's scheduled. I can easily have some casual conversation during work hours, but longer meetings I'd prefer to have after 18:00 (6 pm) GMT.

We can always paste the conversations to a topic where people who couldn't attend can react as well.
I'd also like to keep these conversations private as in, only programmers allowed. I don't really like random people telling what and how the programmers should do.

IRC is fine with me.
Back to top Go down
View user profile
Seregon
Regular


Posts : 263
Reputation : 37
Join date : 2011-08-10
Location : UK

PostSubject: Re: Programmer coordination discussion   Fri Aug 17, 2012 6:17 am

Again, agreed. Anything we discuss or decide should be made public for further comment. I do think some of the more experienced/senior members could join the discussion constructively (and learn a lot about what it is they're asking us to do in the process), but it shouldn't be open to all in the same way the forum is.
Back to top Go down
View user profile
Apeiron
Newcomer


Posts : 12
Reputation : 0
Join date : 2012-08-14

PostSubject: Re: Programmer coordination discussion   Fri Aug 17, 2012 7:22 am

Anytime arranged really. But why on Earth would you mind non programmers reading our discussions ? Why would artists tell programmers what to do and how to do it ? I think this should be as public as possible.

Also, I suggest 4.6+ GCC as the compiler. IDE is up to everyone's preference, it would be silly to put any restraints on this.

4.6+ GCC because we need variable length templates, we need constexperssions, we need pretty much everything from the C++11.

I will provide an implementation of a (possibly bug-free ^^) memory-allocator for the unique_ptr<>, so there is no excuse to write new or delete EVER (unless you want to explicitly disable default constructor and destructor creation with const() = delete;, but that has nothing to do with the memory allocation).
We can literally do code reviews as follows: Search trough the code, if either new or delete appears, someone is doing something wrong.
By that I certainly don't mean that we should avoid using heap, I mean that modern C++ provides alternative ways of doing so.
In other words, RAII.

Also, no raw pointers. I insist. The only exception is when you can assure that the owner of the allocated memory will outlive the object. Say, a child node of a tree that gets implicitly destroyed when it's parent runs out of the scope can indeed have a raw pointer to it's parent.

There's a LOT more that I sort of "insist on", but I don't want to look like a bully, so I am more than willing to explain my reasoning behind every guideline. Also, naturally, everything is up for discussion.

I think I will start working on a document setting up some sort of a "standard", so we don't write 10 years old C++, but yet again, I want to make sure that everything is open for a discussion.
Back to top Go down
View user profile
Carnifex
Newcomer


Posts : 37
Reputation : 8
Join date : 2012-08-13

PostSubject: Re: Programmer coordination discussion   Fri Aug 17, 2012 8:23 am

I see where you are coming from. Luckily, I have no objections to your suggestions so far, they seem to be a best practice use for memory optimized programming.

Anyway, the weekend is coming up although I won't be available on Saturday, I will be on Sunday.
How's everyone's planning on Sunday 19th August?

Oh and you can use this tool: wwp.greenwichmeantime.com/gmt-converter/ to convert between timezones.
Back to top Go down
View user profile
Seregon
Regular


Posts : 263
Reputation : 37
Join date : 2011-08-10
Location : UK

PostSubject: Re: Programmer coordination discussion   Fri Aug 17, 2012 8:40 am

I also agree with everything Apeiron suggested, as well as the other standards discussed over pm (all of which we can discuss again over IRC, so everything is public).

I've created a doodle to help schedule the meeting, it'll take about 3 minutes to fill out (I went a little overboard with the options), but should be simpler than going back and forth on the forums, note that you can select your timezone before filling it in. I'll be away all day Saturday and Sunday, though I could come back earlier than usual on Sunday and be around from about 10pm (GMT) onwards.
Back to top Go down
View user profile
Apeiron
Newcomer


Posts : 12
Reputation : 0
Join date : 2012-08-14

PostSubject: Re: Programmer coordination discussion   Fri Aug 17, 2012 9:23 am

I'm going to need to take a half day off to fill Seregon's questionnaire in
Back to top Go down
View user profile
Seregon
Regular


Posts : 263
Reputation : 37
Join date : 2011-08-10
Location : UK

PostSubject: Re: Programmer coordination discussion   Fri Aug 17, 2012 10:24 am

Sorry, it was a little overkill. Does that mean you away all of next week?
Back to top Go down
View user profile
jaws2blood
Newcomer


Posts : 62
Reputation : 3
Join date : 2011-12-18
Location : USA

PostSubject: Re: Programmer coordination discussion   Fri Aug 17, 2012 8:38 pm

Does anyone know when we might get our definite programming standards(class structure wise, complexity wise, and etc, etc)? I've already started work on multiple cell stage systems(none graphically involved) on the code::blocks IDE. none of the code uses new and delete and I THINK, it all uses the GCC compiler. So far i've got a bunch of code that handles processes and compounds, and I have something for dealing with cells. I've been doing other things but they're not that significant.
Back to top Go down
View user profile
Seregon
Regular


Posts : 263
Reputation : 37
Join date : 2011-08-10
Location : UK

PostSubject: Re: Programmer coordination discussion   Fri Aug 17, 2012 8:45 pm

I'm away for the rest of the weekend (apart from quickly checking in tomorrow morning). I'll try and be on IRC Sunday evening from around 10pm GMT, but it looks like a good time for our actual meeting will be maybe 1900 GMT on Monday?

@Jaws - We're (Apeiron, with some input from me) working on a draft standards document, nothing will be definite until after we can meet to discuss everything, and hopefully there'll be a draft document for people to comment on before then. Also, it seems we're both working on a processes/compounds implementation, it might be best if we both wait to see what the others been working on before we put too much more work in?
Back to top Go down
View user profile
Carnifex
Newcomer


Posts : 37
Reputation : 8
Join date : 2012-08-13

PostSubject: Re: Programmer coordination discussion   Sun Aug 19, 2012 4:47 am

Let's stick to Monday 1900 GMT for the meeting
Back to top Go down
View user profile
Seregon
Regular


Posts : 263
Reputation : 37
Join date : 2011-08-10
Location : UK

PostSubject: Re: Programmer coordination discussion   Mon Aug 20, 2012 6:52 am

Just to clarify, the programer meeting is tonight at 1900 GMT (that is 8 hours after this post).

The IRC channel we'll be using can be found on the forum portal here, or if you have an IRC client, the #thrive channel on irc.gamesurge.net

Please use a username we'll recognise from the forums. Non programmers are welcome to join the discussion, but please keep in mind that this is a discussion about programming and how we will organise that, so try to keep on topic.

I will write a summary of any discussions, and post a copy of the IRC log on here later this evening.

edit: corrected time
Back to top Go down
View user profile
Apeiron
Newcomer


Posts : 12
Reputation : 0
Join date : 2012-08-14

PostSubject: Re: Programmer coordination discussion   Mon Aug 20, 2012 9:02 am

Seregon wrote:
Just to clarify, the programer meeting is tonight at 1900 GMT (that is 8 hours after this post).

The IRC channel we'll be using can be found on the forum portal here, or if you have an IRC client, the #thrive channel on irc.gamesurge.net

Please use a username we'll recognise from the forums. Non programmers are welcome to join the discussion, but please keep in mind that this is a discussion about programming and how we will organise that, so try to keep on topic.

I will write a summary of any discussions, and post a copy of the IRC log on here later this evening.

edit: corrected time

Thanks for the clarification. Looking forward to trolling you in the chat :-)
Back to top Go down
View user profile
Apeiron
Newcomer


Posts : 12
Reputation : 0
Join date : 2012-08-14

PostSubject: Re: Programmer coordination discussion   Tue Aug 21, 2012 7:13 am

Sorry for dropping from the chat yesterday, my internet decided to go bonkers. Did I miss much ?
Back to top Go down
View user profile
Seregon
Regular


Posts : 263
Reputation : 37
Join date : 2011-08-10
Location : UK

PostSubject: Re: Programmer coordination discussion   Tue Aug 21, 2012 12:16 pm

Thanks to those who made it to the meeting yesterday (Apeiron, Carnifex, GamerXA, me, and briefly NickTheNick and AntonioAJC). We spent almost 3 hours discussing various technical choices we needed to make before starting work on programming. We had a few technical difficulties, and wheren't able to cover everything we wanted to, so there will be more meetings later on.

The IRC log of the meeting can be seen here, note that the timestamps are GMT+1.

A summary of what was decided can be seen here. If you have any comments, please add them to the doc, or leave them here.

We weren't able to discuss coding standards, which is the most important thing we need to do next.

I'll try and be on the IRC most evenings from now on, and will see if theres a better time to schedule regular meetings.
Back to top Go down
View user profile
ido66667
Regular


Posts : 366
Reputation : 5
Join date : 2011-05-14
Age : 102
Location : Space - Time

PostSubject: Re: Programmer coordination discussion   Wed Aug 22, 2012 1:03 am

Seregon wrote:
Thanks to those who made it to the meeting yesterday (Apeiron, Carnifex, GamerXA, me, and briefly NickTheNick and AntonioAJC). We spent almost 3 hours discussing various technical choices we needed to make before starting work on programming. We had a few technical difficulties, and wheren't able to cover everything we wanted to, so there will be more meetings later on.

The IRC log of the meeting can be seen here, note that the timestamps are GMT+1.

A summary of what was decided can be seen here. If you have any comments, please add them to the doc, or leave them here.

We weren't able to discuss coding standards, which is the most important thing we need to do next.

I'll try and be on the IRC most evenings from now on, and will see if theres a better time to schedule regular meetings.

Shame I could not come, I joined the IRC just after it was over.
Back to top Go down
View user profile
jaws2blood
Newcomer


Posts : 62
Reputation : 3
Join date : 2011-12-18
Location : USA

PostSubject: Re: Programmer coordination discussion   Wed Aug 22, 2012 6:37 pm

this may deserve it's own thread but, i'm not sure. Has anyone here heard of SDL? With it we can delay things by milliseconds, do things with the screen, use sound (i think), and load bitmap images(.bmp). If you need .png files and what not there's a library for SDL which let's you use them. SDL isn't it's own program or anything, it's just a library really. SDL is also always used with games made from straight OpenGL. What i'm really interested in though is the delay thing, sounds neat, and we will probably need it at certain points.

SDL site: http://www.libsdl.org/

also, when is the next meeting, I would like to attend.
Back to top Go down
View user profile
Sponsored content




PostSubject: Re: Programmer coordination discussion   Today at 6:27 am

Back to top Go down
 
Programmer coordination discussion
View previous topic View next topic Back to top 
Page 1 of 5Go to page : 1, 2, 3, 4, 5  Next

Permissions in this forum:You cannot reply to topics in this forum
Thrive Game Development :: Development :: Programming-
Jump to: