Thrive Game Development
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Thrive Game Development

Development of the evolution game Thrive.
 
HomeHome  PortalPortal  Latest imagesLatest images  SearchSearch  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 4 users online :: 0 Registered, 0 Hidden and 4 Guests :: 1 Bot

None

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

» A new round of Forum Revamps!
Programming Emptyby Oliveriver Wed May 20, 2015 11:32 am


 

 Programming

Go down 
3 posters
AuthorMessage
MontySpud
Newcomer



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

Programming Empty
PostSubject: Programming   Programming EmptySat 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
moopli
Developer
moopli


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

Programming Empty
PostSubject: Re: Programming   Programming EmptySat 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
MontySpud
Newcomer



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

Programming Empty
PostSubject: Re: Programming   Programming EmptySat 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
moopli
Developer
moopli


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

Programming Empty
PostSubject: Re: Programming   Programming EmptySun 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
MontySpud
Newcomer



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

Programming Empty
PostSubject: Re: Programming   Programming EmptySun 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
MontySpud
Newcomer



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

Programming Empty
PostSubject: Re: Programming   Programming EmptyTue Feb 10, 2015 10:12 pm

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


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

Programming Empty
PostSubject: Re: Programming   Programming EmptyThu 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!
Back to top Go down
MontySpud
Newcomer



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

Programming Empty
PostSubject: Re: Programming   Programming EmptyThu 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
MontySpud
Newcomer



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

Programming Empty
PostSubject: Re: Programming   Programming EmptyFri 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
Sponsored content





Programming Empty
PostSubject: Re: Programming   Programming Empty

Back to top Go down
 
Programming
Back to top 
Page 1 of 1
 Similar topics
-
» Programming student wanting to help
» Programming Team
» Application (programming)
» Programmer Introduction Thread
» Miscellaneous Programming Questions

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