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 | 
 

 Programming

View previous topic View next topic Go down 
AuthorMessage
MontySpud
Newcomer


Posts : 14
Reputation : 0
Join date : 2014-11-28

PostSubject: Programming   Sat Jan 10, 2015 1:18 am

Hey there! I know this is my second Application, but hear me out. I've been learning Lua over the past year, and ive finally culminated enough knowledge to do something! I plan on taking this up in my free time, on a regular basis(kinda like moopli or crovea) and i need to know were to start. I dont know c++, so i cant do any engine work. I can, however, do any scripting/GUI(since i also know XML), and i can do website and wiki design.
Back to top Go down
View user profile
moopli
Developer


Posts : 318
Reputation : 56
Join date : 2013-09-30
Age : 21
Location : hanging from the chandelier

PostSubject: Re: Programming   Sat Jan 10, 2015 5:48 pm

Sweet!

So for starters, you'll need to clone the repo. Are you familiar with git? Then you have to get a working development version able to build and run; so once you've cloned the repo we'll work with you to get it compiling. Assuming you're on windows, you can download TortoiseGit and follow some tutorial to get the repo cloned. While you're cloning, I suggest you wander around our GitHub project a bit, read docs/quicktips.md, skim through the easy issue list, read a beginner's guide on GitHub, etc.

As always, if you have any questions or whatever, we can answer and help (or try, anyway :P).
Back to top Go down
View user profile
MontySpud
Newcomer


Posts : 14
Reputation : 0
Join date : 2014-11-28

PostSubject: Re: Programming   Sat Jan 10, 2015 7:22 pm

Gits not familiar, but ill try. I also have one question. I know this is far off, but do you guys have any clue how youll actually handle the behaviour editor(GUI wise, Gameplay wise, etc. etc.)? The thought confuses me and i need some clearing up on this
Back to top Go down
View user profile
moopli
Developer


Posts : 318
Reputation : 56
Join date : 2013-09-30
Age : 21
Location : hanging from the chandelier

PostSubject: Re: Programming   Sun Jan 11, 2015 1:16 am

We haven't thought about the Behaviour Editor (BE) in a long time, and I don't think there's ever been a serious discussion about the minutiae of implementation. Luckily, I'm currently bored, so I'll just write down some assorted thoughts:

It seems settled that the BE will allow you to program simple triggers -- each of them linking up a triggering action, some additional required conditions, and a series of response actions. Since the in-game BE is one of those things we would not want to write unless we have to (after all, it's loads of work to give people a GUI to do a subset of the things that they could write scripts to do), it will have to be possible to tweak behaviour by writing scripts.

Triggers alone are only enough for reflex-like actions, so we'll have to allow the AI some mutable state -- probably in the form of a finite-state machine. Have state-checks as conditions, and state-transitions as actions.

Most of the data revolving around behaviour can exist per-species, with only stuff like the current FSM state and current state of trigger execution (like, which trigger an organism is currently running, which action, etc) need to exist per-object.

The trigger scripts will probably be tables, containing a trigger ID, a conditions list, and an actions list; where conditions and actions are functions, all defined in lua, of course, since that makes the system easily extensible. Triggering-actions are a little harder to make easily-extensible -- they'd probably have to refer to specific hooks like "x enters FOV" or "every x seconds", which means the engine has to run each type of trigger at a certain point in its execution cycle -- which is annoying to automate/generalize.

I might not have been talking about the sort of thing you want to know, come to think of it. Let me know, I guess.
Back to top Go down
View user profile
MontySpud
Newcomer


Posts : 14
Reputation : 0
Join date : 2014-11-28

PostSubject: Re: Programming   Sun Jan 11, 2015 3:34 pm

No, no, your doing ok. You answered most of my questions. In terms of implementation, we could think of it like the ai creator in From The Depths. Sliders might not be the most realistic way to implement this, but its easy and effective. Using from the depths as an example again, when youre creating a AI boat you can implement differing modules depending on the tpe of behavior you want it to have. Maybe we could have a sort of grid of list were you could add modules, like an if then module or a for x to happen y must happen. Thinking on the suggestions of people in the past, we could categorize different types, like food, or liquids to make a statement ex. If organism has 42 molecules of CO2 then expel 42 CO2 and make a number list for other organisms, depending on their threat level, with prey having a positive level and predators having a negative one.

Maybe caste could be used as a group? Like queen ants staying in colony and workers bring food?

Maybe
Back to top Go down
View user profile
MontySpud
Newcomer


Posts : 14
Reputation : 0
Join date : 2014-11-28

PostSubject: Re: Programming   Tue Feb 10, 2015 10:12 pm

Ok, so ive finally got this repo cloned, how shall i compile?
Back to top Go down
View user profile
crovea
Programming Team lead


Posts : 310
Reputation : 59
Join date : 2013-10-07
Age : 26
Location : Denmark

PostSubject: Re: Programming   Thu Feb 12, 2015 4:11 pm

Good to hear from you again!

Try following these instructions to compile thrive:
https://github.com/Revolutionary-Games/Thrive/blob/master/mingw_setup/readme.txt

It'll take you through compiling the C++ code, but you won't need to know any C++ to do it!

If you have need any help, naturally feel free to ask here, on skype (you already added me) or thrivegame.slack.com

Another thing I recommend is being able to understand some basic C++ header files. Since the lua code calls functions in the C++ engine, it is useful to be able to see what functions are made available in C++, although for most things there will be other lua examples you can look at!

_________________
- jjonj on github/reddit, jjonjex/Jacob Jensen on skype
Back to top Go down
View user profile
MontySpud
Newcomer


Posts : 14
Reputation : 0
Join date : 2014-11-28

PostSubject: Re: Programming   Thu Feb 12, 2015 7:16 pm

Thanks! I really want to see this project grow, and if that means i have to help myself, so be it
Back to top Go down
View user profile
MontySpud
Newcomer


Posts : 14
Reputation : 0
Join date : 2014-11-28

PostSubject: Re: Programming   Fri Feb 13, 2015 3:07 am

Ive seemed to have thrown myself into a pickle. Cmake refuses to work, as project files are invalid?
Back to top Go down
View user profile
Sponsored content




PostSubject: Re: Programming   Today at 6:26 am

Back to top Go down
 
Programming
View previous topic View next topic Back to top 
Page 1 of 1

Permissions in this forum:You cannot reply to topics in this forum
Thrive Game Development :: Development :: Get Involved :: Applications-
Jump to: