Jump to content

  • Log In with Google      Sign In   
  • Create Account

Advice on Computational Geometry for games

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
2 replies to this topic

#1   Members   -  Reputation: 563


Posted 02 August 2014 - 09:42 AM

Hi all,

I have a long term project I've been working on for a while which is finally reaching the more interesting stages. The end result is going to be a massive procedurally generated game - along the lines of Infinity (https://inovaestudios.com/Battlescape) and others, but even larger in scope. As this is a long term project I'm targeting what computers will be capable of in 5 to 10 years from now.


I have lots of notes about my ideas with procedural generation and it's finally time to start putting it into practise (yay!). My next step to tackle though is computational geometry. This looks to be a very complex area to master - and I would like to get this thing done within my lifetime! Keeping this in mind I have had an eye on existing libraries such as CGAL and Wykobi to do the heavy lifting.


As anyone has experience using these projects (or others I might not be aware of?) in actual game code? The key points I'd want from them isn't necessarily accuracy but speed and reliability. Though I'm expecting the final results to be ran on much faster hardware in future I'd like to keep my current work interactive now!


I am baring in mind the thought that I'd have to roll my own library - and if that turns out to be the case can anyone recommend books on the subject?



#2   Crossbones+   -  Reputation: 2500


Posted 04 August 2014 - 09:39 AM

It's a little hard to answer without you being more specific about which computational geometry algorithms you need to use. It is a big subject.


Saying that you need to "tackle computational geometry" is a bit like saying you need to tackle graphics, or tackle game design, or something equally broad. I mean, it can be as easy or as hard as you want it to be depending on the requirements of what you want to do i.e. tackling graphics for a Tetris clone is different than tackling graphics for a AAA console game.


But even the above is not really a good analogy because videogames need graphics by definition, videogames do not need computational geometry by definition -- even procedurally generated space shooters. So what computational geometry do you need and why do you need it? Because basically you want to not to have to use a heavy-weight library like CGAL; something like that should be a last resort.


Anyway, yeah, I've used CGAL in the past. I did some work with the triangulation routines. It is a solid library. One thing to note is that it is not permissively licensed. CGAL is GPLed I believe with a dual proprietary license for commercial use. I don't know anything about Wykobi... (thanks for mentioning it actually...)

Edited by jwezorek, 04 August 2014 - 09:44 AM.

#3   Members   -  Reputation: 563


Posted 04 August 2014 - 10:49 AM

Yeah I appreciate I cast my net pretty wide regarding advice on the subject. Using a graphics analogy I guess I'm thinking about this as though I'm asking what existing rendering engines are the best to use for games. What experiences have people had or advice for a new comer. For graphics or other areas there's a wealth of tutorials and beginners pages to be found but there's less on this topic. Like you say not even procedurally generated games necessarily require some kind of computational geometry library.


My terminology could well be wrong here as well. I'm thinking more a library which handles geometric operations such as unions, subtractions, creation of primitives etc.


Thanks for the points about CGAL. It does indeed seem quite heavy weight. I think I may look to that project as a source of inspiration rather than actually embed it within the game itself.


I'm going to put my thoughts down a lot more in the next couple of months about how I intend to make the generation work. I'll post more specific examples of what I'm going to do in the future.

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.