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 11 users online :: 0 Registered, 0 Hidden and 11 Guests

None

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

 OGRE

Go down 
4 posters
AuthorMessage
Bashinerox
Programming Team lead
Bashinerox


Posts : 238
Reputation : 8
Join date : 2010-07-07
Age : 35
Location : Australia

OGRE Empty
PostSubject: OGRE   OGRE EmptyMon Aug 30, 2010 11:10 am

There was talk of using OGRE engine, and also the question of what the hell BEATengine is.

BEATengine is an engine designed to generate and deform a 3d mesh, and textures/shaders. When it is done, it will be portable to any C++ (not C) program that can interpret it's mesh format (easy to do) or quite possibly anything that can load an unmanaged DLL. (If and when I separate the code to a DLL)

OGRE:

Ogre would be a welcome use for graphics, something i really haven't thought about much beyond making opengl calls.

Someone also said that OGRE would have to be modified heavily to accept a custom mesh format. This isn't true:

* Flexible mesh data formats accepted, separation of the concepts of vertex buffers, index buffers, vertex declarations and buffer mappings


If i remember correctly, it should have something similar to directx's Flexible Vertex Format (FVF), or OpenGL's Vertex buffer objects.

My thoughts?

There is no reason not to use it. Simple as that.

What we really need is someone to work on some form of core "Thrive Engine" which we can start plugging in other engines as they get built. I've started something along the lines of this among the BEATengine code, using a form of "module manager" so the code is already there. We just need someone to modify it to render using OGRE w/cegui instead of AGAR and OpenGL calls. Right now i'm more focused on actually getting the mesh generation of BEAT to actually generate meshes.

roadkillguy:

If you look into OGRE, keep me posted, and we'll discuss just how and where we are going to sit the core of Thrive. If need be, i'll strip down everything non "BEAT"-related and sit it as a callable DLL. I anticipated this happening, so i made the top level (the main loop) separate from the rest of the code.
Back to top Go down
roadkillguy
Experienced
roadkillguy


Posts : 528
Reputation : 17
Join date : 2010-08-25
Age : 31
Location : Rhode Island

OGRE Empty
PostSubject: Re: OGRE   OGRE EmptyMon Aug 30, 2010 6:46 pm

I've actually been able to get a simple program running! I only downloaded a tutorial, and it's actually a pretty large file so I'm still getting the jist of it. So far, it's fairly simple. I'll look into custom meshes. It shouldn't be too hard.
Back to top Go down
Bashinerox
Programming Team lead
Bashinerox


Posts : 238
Reputation : 8
Join date : 2010-07-07
Age : 35
Location : Australia

OGRE Empty
PostSubject: Re: OGRE   OGRE EmptyMon Aug 30, 2010 8:06 pm

Ill disect my code today. Encapsulate it into a DLL
Back to top Go down
Bashinerox
Programming Team lead
Bashinerox


Posts : 238
Reputation : 8
Join date : 2010-07-07
Age : 35
Location : Australia

OGRE Empty
PostSubject: Re: OGRE   OGRE EmptyMon Aug 30, 2010 8:33 pm

I can write glsl shaders, by the way. I'm not too good (I'm shocking at math) but the shader languages themselves aren't too hard. Even the assembly-style ones :3

I was thinking of using say the scripting language we design on (I would say currently either lua or Falcon PL) to build a shader generator that outputs a string for the 3d engine to compile.

Now, for portability, i would say I have a pure virtual function that the bake() function calls which itself calls a function, possibly on the 3d engine, that takes a byte stream to the shader source and returns a pointer to the compiled shader.


So, the creature engine runs a lua script that is passed parameters for a given mesh, the script builds a vertex and fragment shader, and passes it back as a string. I'm thinking script as we can modify the generator script without having to recompile the engine. And also, scripting engines usually have superior string editing capabilities (all sorts of wonderful string functions, like .concat())


Which is also getting me thinking, we'll need to collaborate on some sort of standard interface between various components and engines and so forth.

Being the scale that it is, something like thrive will need many separate engines that all talk to a centralised system and push resources to it.


Papergrape and I actually started writing such a system,

We have a module manager, that holds a heirachy of modules.

Each module has an action() function that is called every frame. as well as load() unload(), enable(), and disable().

load and unload contains memory management code.

enable and disable is used to bring the module in and out of an idle state.
For instance, a module that controls a certain gui widget will ask the gui api to show its window on enable(), and hide the window on disable(). load() and unload() contains code to register and destroy the window completely from the gui api.

Moving on, all modules contain a pointer to an asset-manager singleton, that accepts all the assets spewed out by the various engines, like meshes, and also allows modules write access to existing assets. such as a physics engine module that needs to modify the coordinates of all objects on screen.

This has been mostly separated from the BEATengine stuff, and partially from rendering and api code, and i can segregate it even further, to create a base for the main Thrive core.


Ill also look into setting up module manager to load modules via DLL instead of directly.


Then we can easily throw OGRE right into the middle of things
Back to top Go down
~sciocont
Overall Team Lead
~sciocont


Posts : 3406
Reputation : 138
Join date : 2010-07-06

OGRE Empty
PostSubject: Re: OGRE   OGRE EmptyMon Aug 30, 2010 11:03 pm

Will it be possible to run any sort of mesh simplification (dependant on proximity to camera, for easily drawing many objects in game) with these, or will we need other systems?
Back to top Go down
Bashinerox
Programming Team lead
Bashinerox


Posts : 238
Reputation : 8
Join date : 2010-07-07
Age : 35
Location : Australia

OGRE Empty
PostSubject: Re: OGRE   OGRE EmptyTue Aug 31, 2010 10:54 am

LOD?

Yes, LOD isn't too hard to implement. you just drop polygons, or call the mesh generator with less iterations
Back to top Go down
roadkillguy
Experienced
roadkillguy


Posts : 528
Reputation : 17
Join date : 2010-08-25
Age : 31
Location : Rhode Island

OGRE Empty
PostSubject: Re: OGRE   OGRE EmptyTue Aug 31, 2010 5:30 pm

Something like this would probably a little more complex...
Back to top Go down
Bashinerox
Programming Team lead
Bashinerox


Posts : 238
Reputation : 8
Join date : 2010-07-07
Age : 35
Location : Australia

OGRE Empty
PostSubject: Re: OGRE   OGRE EmptyTue Aug 31, 2010 8:01 pm

You represent the surface as a quadtree and walk further down it the closer you get to the camera. for each subdivision, you displace the newly created points from the tree by a random amount., decreasing the displacement on every iteration.
Back to top Go down
roadkillguy
Experienced
roadkillguy


Posts : 528
Reputation : 17
Join date : 2010-08-25
Age : 31
Location : Rhode Island

OGRE Empty
PostSubject: Re: OGRE   OGRE EmptySat Sep 04, 2010 9:28 am

After re-reading the original post :D:
Is OGRE really necessary then? After all, we are building our own engine.
Back to top Go down
Commander Keen
Industrial Team Lead
Commander Keen


Posts : 1123
Reputation : 36
Join date : 2010-07-23
Location : Czech Republic (not that anyone would know where it is...)

OGRE Empty
PostSubject: Re: OGRE   OGRE EmptySat Sep 04, 2010 2:58 pm

Well, Ogre is only taking care of the graphics part, this should simplify our work quite a bit.
Back to top Go down
~sciocont
Overall Team Lead
~sciocont


Posts : 3406
Reputation : 138
Join date : 2010-07-06

OGRE Empty
PostSubject: Re: OGRE   OGRE EmptySat Sep 04, 2010 10:17 pm

Commander Keen wrote:
Well, Ogre is only taking care of the graphics part, this should simplify our work quite a bit.
Yeah, I really dont think anyone here wants to write a graphics engine.
Back to top Go down
roadkillguy
Experienced
roadkillguy


Posts : 528
Reputation : 17
Join date : 2010-08-25
Age : 31
Location : Rhode Island

OGRE Empty
PostSubject: Re: OGRE   OGRE EmptySat Sep 04, 2010 10:19 pm

Yeah, and I've found OGRE has a LOT more features than just shading.. nevermind!
Back to top Go down
roadkillguy
Experienced
roadkillguy


Posts : 528
Reputation : 17
Join date : 2010-08-25
Age : 31
Location : Rhode Island

OGRE Empty
PostSubject: Re: OGRE   OGRE EmptyTue Sep 21, 2010 10:55 pm

~sciocont wrote:
Commander Keen wrote:
Well, Ogre is only taking care of the graphics part, this should simplify our work quite a bit.
Yeah, I really dont think anyone here wants to write a graphics engine.

Actually, I'm working on one right now. Yes, this is in pure contradiction to what I said before, but I still am. I couldn't find a decent* mesh class in OGRE, and so I decided to write my own. You feed it vertices, triangles, and call a dandy little function (in progress) to calculate all the normals.

* By this I mean:

I couldn't find a way to look at all the current ManualObject vertex array, so it was hard to write a normal function.

Ubuntu users rejoice! I'll have a binary soon! Now just to upload it to SVN..
Back to top Go down
roadkillguy
Experienced
roadkillguy


Posts : 528
Reputation : 17
Join date : 2010-08-25
Age : 31
Location : Rhode Island

OGRE Empty
PostSubject: Re: OGRE   OGRE EmptyWed Sep 22, 2010 11:42 pm

UPDATE: I have completed the vertex normal calculation. (It wasn't as hard as I thought it would be :D)

Anyway, now I just have to upload it to the source.. all of my previous projects have been just me
Back to top Go down
Sponsored content





OGRE Empty
PostSubject: Re: OGRE   OGRE Empty

Back to top Go down
 
OGRE
Back to top 
Page 1 of 1
 Similar topics
-
» More Ogre-like "engines"
» Development troubleshooting
» Basic Blender modeling, animation and exporting to ogre Tutorial
» Devblog#2: Planet stuff, tons of code, OGRE, marketing, and what was that thread I was supposed to make?

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