Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 17 18 [19] 20 21 ... 68

Author Topic: Cult - New Development Video (5-10-12)  (Read 114467 times)

Bricks

  • Bay Watcher
  • Because you never need one brick.
    • View Profile
Re: Cult - v0.15 Tech Demo Released
« Reply #270 on: January 19, 2011, 04:16:19 pm »

It's the libTCOD library, available for many programming languages.  It also has a number of algorithms useful for roguelikes built-in, like pathfinding and field of view.
Logged
EMPATHY - being able to feel other peoples' stuff.

Lord Dullard

  • Bay Watcher
  • Indubitably.
    • View Profile
    • Cult: Awakening of the Old Ones
Re: Cult - v0.15 Tech Demo Released
« Reply #271 on: January 19, 2011, 05:07:31 pm »

It's the libTCOD library, available for many programming languages.  It also has a number of algorithms useful for roguelikes built-in, like pathfinding and field of view.

Indeed, although I won't be using either of those algorithms (which shouldn't be a deterrent to anyone else, but I'll save myself trouble by using my own code for something as intrinsic to gameplay as FOV or pathfinding in a game as complex as Cult aspires to be).
Logged

Lord Dullard

  • Bay Watcher
  • Indubitably.
    • View Profile
    • Cult: Awakening of the Old Ones
Re: Cult - v0.15 Tech Demo Released
« Reply #272 on: January 21, 2011, 10:09:32 am »

I have hit a temporary snag with compiling a C++ extension module that will take the place of the CPython nation-expansion code in order to speed things up. Unfortunately it's extremely difficult to debug compiled extensions once they're imported into CPython because they tend to crash the entire engine without producing any debug code, so it's more trial-and-error than anything. Making slow progress, however, and once I'm done with that I hope to get back to newer parts of worldgen.
Logged

Dwarf

  • Bay Watcher
  • The Light shall take us
    • View Profile
Re: Cult - v0.15 Tech Demo Released
« Reply #273 on: January 21, 2011, 10:26:53 am »

Since this is Python and C++, I'm sure there'll be a Mac version at some point  :P
Logged
Quote from: Akura
Now, if we could only mod Giant War Eagles to carry crossbows, we could do strafing runs on the elves who sold the eagles to us in the first place.

Lord Dullard

  • Bay Watcher
  • Indubitably.
    • View Profile
    • Cult: Awakening of the Old Ones
Re: Cult - v0.15 Tech Demo Released
« Reply #274 on: January 24, 2011, 10:57:12 am »

UDPATE:

I'm pretty ecstatic at the moment. I just tried a slightly modified approach to the nation expansion algorithm and it worked BEAUTIFULLY, speeding up the process to a matter of seconds (rather than minutes).

For code nerds:

In order to expand to a new world tile, the algorithm would look at all the tiles adjacent to an occupied square. It would then make sure they weren't already occupied (or in the process of being occupied, since some feature types such as desert take longer to settle), see if they were in a valid height range, see if the tile contained any terrain features that would slow the expansion progress, and only THEN add them to the queue.

However, it occurred to me that for every square, I was doing several separate dictionary searches to obtain information about said square. And for each one that did NOT match the required criteria for one reason or another, I was executing an unsuccessful dictionary search, which takes up a lot of time (comparatively speaking). So I switched the entire process over to a series of 'try: ... except:' statements, and the whole process instantly sped up by an order of magnitude.

Expansion now literally takes perhaps 1-2 seconds.

Now, if I can carry this sort of efficiency over to the feature-finding algorithms that tend to bottleneck the worldgen process, people will be generating worlds to their hearts' content. Even people stuck on ancient rigs.  :D
Logged

Mephansteras

  • Bay Watcher
  • Forger of Civilizations
    • View Profile
Re: Cult - v0.15 Tech Demo Released
« Reply #275 on: January 24, 2011, 01:24:51 pm »

Nice.

I love it when a simple optimization path becomes apparent. Always a nice feeling.
Logged
Civilization Forge Mod v2.80: Adding in new races, equipment, animals, plants, metals, etc. Now with Alchemy and Libraries! Variety to spice up DF! (For DF 0.34.10)
Come play Mafia with us!
"Let us maintain our chill composure." - Toady One

Lord Dullard

  • Bay Watcher
  • Indubitably.
    • View Profile
    • Cult: Awakening of the Old Ones
Re: Cult - v0.15 Tech Demo Released
« Reply #276 on: January 24, 2011, 02:19:39 pm »

Nice.

I love it when a simple optimization path becomes apparent. Always a nice feeling.

Most definitely! Although it also tends to go hand in hand with that feeling of 'huh, now why didn't I think of doing that already?'.
Logged

EagleV

  • Bay Watcher
  • Oblivisci tempta quod didicisti
    • View Profile
Re: Cult - v0.15 Tech Demo Released
« Reply #277 on: January 24, 2011, 02:23:44 pm »

... that feeling of 'huh, now why didn't I think of doing that already?'.
I think that's the single most encountered feeling in any programming project. Along with "Where's that damned bug."
Logged
Quote from: Robert Donoghue and Fred Hicks
There are three things you must learn if you wish to defeat me, my young pupil. First, you must look within yourself and find your core of strength. Second, your mind and body must be in perfect unison. Third...
*WHACK*
Third, stop listening when you should be fighting.

Lord Dullard

  • Bay Watcher
  • Indubitably.
    • View Profile
    • Cult: Awakening of the Old Ones
Re: Cult - v0.15 Tech Demo Released
« Reply #278 on: January 24, 2011, 02:39:54 pm »

The lake and island-finding algorithms have also been updated with a fairly decent speed increase (though not quite as impressive as the nation expansion algorithm's).

I have to try and finish at least a chapter of studying about optional provisions in health insurance contracts or I risk facing the wrath of my significant other. However, I'm going to try to sneak in some more work on gods/creatures before I have to run off to work.

ETA:
I'm running into something of a stumbling block with creature gen. Namely, I'm unsure about how they should be generated. By animal sub-kingdom? This seems like it should work, except that I don't particularly want to constrain creatures to earth categories (there should be weird creatures that would be unclassifiable by our scientific standards, presumably). Essentially, I need somewhere to start. I thought about beginning simply by determining whether or not they are a vertebrate, but it occurred to me that this should not determine as much as it would for an earth creature (an invertebrate in a Cult-generated world should not necessarily be cold blooded, and so forth).

Once I figure out how I want to generate them, the rest should fall into place fairly easily: assign them traits, stat-ranges, and size-ranges based on their morphology, assign them to a type of biome and area of the world (or all of it if they are very adaptable), generate an interesting and at least semi-unique description based on all of this, and assign their species an ASCII character and color. All of this should be accessible from the World Atlas.

Creatures with a high enough intelligence level and suitable set of traits should qualify for sentience and the opportunity to form civilizations. I'll want to make certain that a minimum number of these species are mandated in worldgen (probably only two or three, though more should be possible). Humans will exist in every world, though I may include the option to disable this setting for the user's sake.
« Last Edit: January 24, 2011, 03:09:07 pm by Lord Dullard »
Logged

EagleV

  • Bay Watcher
  • Oblivisci tempta quod didicisti
    • View Profile
Re: Cult - v0.15 Tech Demo Released
« Reply #279 on: January 24, 2011, 03:28:02 pm »

You could have area-specific genes, much like the racial traits that were proposed earlier. I guess that would be hell to implement - if only for the mutually exclusive traits - but then again, I don't know that much about programming.
Logged
Quote from: Robert Donoghue and Fred Hicks
There are three things you must learn if you wish to defeat me, my young pupil. First, you must look within yourself and find your core of strength. Second, your mind and body must be in perfect unison. Third...
*WHACK*
Third, stop listening when you should be fighting.

Korbac

  • Bay Watcher
  • I'm very annoying, so tell me to STFU if need be
    • View Profile
Re: Cult - v0.15 Tech Demo Released
« Reply #280 on: January 24, 2011, 05:28:19 pm »

You're going for different species as well as different nations / religions?

Honestly, Sir Dullard, I think this is going to be my favourite game when it's done. Even more favourite than the £40 Black Ops, or the Acclaimed Age of Wonders : Shadow Magic.  :D
Logged

Mithras

  • Bay Watcher
    • View Profile
Re: Cult - v0.15 Tech Demo Released
« Reply #281 on: January 27, 2011, 07:59:46 am »

If you're still having trouble with categories then I would suggest either deviding them by chemical make up (carbon based lifeform etc) or primary method of obtaining energy (photosynthesis, consumption of other entities, other chemical processes) as I can see both of these categories having a large affect on behaviour.

I'd like to find out how you will categorize your animals. What I imagine is probably a little unwieldy to actually code.
Logged

Keita

  • Bay Watcher
  • Easily Confused
    • View Profile
Re: Cult - v0.15 Tech Demo Released
« Reply #282 on: January 27, 2011, 08:05:28 am »

Posting to watch possible master piece.
Logged
Gravity is a government conspiracy to keep us down

Lord Dullard

  • Bay Watcher
  • Indubitably.
    • View Profile
    • Cult: Awakening of the Old Ones
Re: Cult - v0.15 Tech Demo Released
« Reply #283 on: January 27, 2011, 03:02:29 pm »

If you're still having trouble with categories then I would suggest either deviding them by chemical make up (carbon based lifeform etc) or primary method of obtaining energy (photosynthesis, consumption of other entities, other chemical processes) as I can see both of these categories having a large affect on behaviour.

I'd like to find out how you will categorize your animals. What I imagine is probably a little unwieldy to actually code.

This is, essentially, what I settled on. After a long talk with my girlfriend the Bio major, I decided the only sensible way to start out categorizing creatures would be to separate them by diet. What I've got for basic groups are Carnivore, Herbivore, Omnivore, and Other. Other will contain the weird odds and ends (creatures that gather their energy from crystals deep in the earth, creatures fueled by magical power of one type or another, creatures that are direct energy producers, and so on).

After separating them by diet, they're further separated by sphere: Terrestrial, Aquatic, Aerial, Amphibian, and Subterranean. Each of these categories will have a slightly different procedural generation. The chance of a creature being one type or another is all simple weighted random choice, so a world might end up with barely any terrestrial predators, or an overabundance of them. Spheres will also experience some degree of crossover (terrestrial creatures should still be able to develop wings, a la dragons). After these basic categorizations, further specializations, traits, and terrain specializations will take place/be added, along with the actual physical morphology. Morphology should, to the point of being able to suspend disbelief, make sense for the creature's biome and habits. Creatures should still be able to inspire a 'what the hell is that?' reaction from players, however.

I've retweaked the terrain generation once again, although I've also made some decent progress into beginning the Creature Gen section. I wanted continents to look less like they were created specifically to fit in a box-shaped region. It isn't perfect, but it's looking somewhat better than before. Also, I wasn't liking the 'stretching' effect around the edges of oceans that was being caused by ensuring that map edges are water tiles, so I adjusted things to (hopefully) make them look more like natural continental shelves.

Worldgen has been significantly sped up by algorithm changes. Anybody with a 2ghz+ processor should do just fine with the generation process, and the heavy lifting sections are pretty much done. Older cores will probably still be fine, but there may be long-ish waits involved.

I'll post some teaser images if I have time before I run off to work.

« Last Edit: January 27, 2011, 03:04:34 pm by Lord Dullard »
Logged

Mephansteras

  • Bay Watcher
  • Forger of Civilizations
    • View Profile
Re: Cult - v0.15 Tech Demo Released
« Reply #284 on: January 27, 2011, 03:15:17 pm »

Damn, that sounds cool. Really looking forward to seeing what creatures the game comes up with!
Logged
Civilization Forge Mod v2.80: Adding in new races, equipment, animals, plants, metals, etc. Now with Alchemy and Libraries! Variety to spice up DF! (For DF 0.34.10)
Come play Mafia with us!
"Let us maintain our chill composure." - Toady One
Pages: 1 ... 17 18 [19] 20 21 ... 68