Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 8 9 [10] 11 12 ... 21

Author Topic: Iron Testament - an ancient "open world roguelike" (pre-alpha)  (Read 78410 times)

Killjoy

  • Bay Watcher
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #135 on: September 11, 2013, 04:18:40 am »

Does the constant updating the dicts have any performance impact?
Yes, but it is negligible compared to alternatives. Dict and set operations in python are VERY fast.

They have a considerable memory overhead, since memory does not grow linearly. But unless you are going manage like a million entities, it is reasonable. But if you do like 100k entities it should be fine.
Logged
Merchants Quest me programming a trading game with roguelike elements.

Skyrunner

  • Bay Watcher
  • ?!?!
    • View Profile
    • Portfolio
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #136 on: September 11, 2013, 04:39:11 am »

Are Python dicts hashmaps or binary-searched?
Logged

bay12 lower boards IRC:irc.darkmyst.org @ #bay12lb
"Oh, they never lie. They dissemble, evade, prevaricate, confoud, confuse, distract, obscure, subtly misrepresent and willfully misunderstand with what often appears to be a positively gleeful relish ... but they never lie" -- Look To Windward

Killjoy

  • Bay Watcher
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #137 on: September 11, 2013, 05:13:29 am »

Are Python dicts hashmaps or binary-searched?

Hashmaps.
Collisions are resolved using pseudo random probing.
A resize happens whenever the dict is 2/3 full.

Lookup and insertion have an amortized O(1) runtime complexity.
Logged
Merchants Quest me programming a trading game with roguelike elements.

lemmily

  • Bay Watcher
    • View Profile
    • BatFinchBears
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #138 on: September 11, 2013, 06:16:07 pm »

Killjoy, you seem to be the man to have around for python questions! I keep saving these little bits of code + info for when I have to deal with these issues :)

and clownmite:

Congrats on the 40 year run! :) Whilst it does sound like someone isn't behaving properly at least there was no crashing involved! Sucks to be anyone living in the city with 2,500 food prices though....
« Last Edit: September 11, 2013, 06:17:57 pm by lemmily »
Logged
I make furry things - BatFinch Bears

My Name is Immaterial

  • Bay Watcher
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #139 on: September 11, 2013, 07:42:58 pm »

Sounds like a testable release soon. GIMME TOYS!

Graknorke

  • Bay Watcher
  • A bomb's a bad choice for close-range combat.
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #140 on: September 13, 2013, 06:06:55 pm »

This economy simulation sounds really nice, even if it does have some interesting quirks.
Nice job on that.
Logged
Cultural status:
Depleted          ☐
Enriched          ☑

Clownmite

  • Bay Watcher
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #141 on: September 14, 2013, 02:05:36 am »

Sounds like a testable release soon. GIMME TOYS!

Maybe, haha. The screenshots make it look like it's farther along than it is.

This economy simulation sounds really nice, even if it does have some interesting quirks.

It is still in barely-functioning early stages, but hopefully it will develop into something interesting.


I did some work with adding in some basic plots (intrigue-fueled plots, not plots of land) today, and having them trigger. I have one test case working in a very basic sense. I hit the same wall as when I tried working on basic government AI: Basic memory of things that we have already decided. For example, my test plot code looked something like "if we're second in line to the throne, plot to kill the first in line". That looks simple enough - they'd go and start a plot to do so. However, the next month, they would look at that condition, and start a plot to kill the first in line even though they already had started one previously.

There's a few options to deal with it that I can think of. There can be a binary switch called is_plotting which can be flipped on once they start the plot, and checked to make sure they only do this once. The second is to limit plots to 1 per character, and check to see if there is a currently active plot associated with that character every time the code rolls around. The first option means there can be tons of these switches to keep track of many things the AI does, which seems really messy to me. The second option won't apply to all cases.

Part of the issue is that this is going to extend to any kind of goal-driven behavior that the AI takes (raising an army, starting a plot, changing taxes) so I want to get this right. Does anyone have any suggestions, tutorials, or articles on goal-driven AI?

Logged

Clownmite

  • Bay Watcher
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #142 on: September 17, 2013, 10:39:04 pm »

I revisited an old script of mine which generates words following English phonotactics (well, mostly). You can specify a set of rules about the phoneme structure of a language, and it will generate words valid in that framework. Anyway, with a bit of work I set it to generate languages which can look different from English, at least (it still basically follows English phonotactics, but just changes the way the results are written).

Anyway, the results are decent so far, but I'm afraid there's not enough variety in the languages. I have a few ideas for that, which I'm about to try. In the meantime, here's samples from words of 5 different languages generated - do they look any different to anyone, or do they all basically look the same?

Spoiler: Language 1 (click to show/hide)

Spoiler: Language 2 (click to show/hide)

Spoiler: Language 3 (click to show/hide)

Spoiler: Language 4 (click to show/hide)

Spoiler: Language 5 (click to show/hide)


Anyway, the main question I wanted to ask is: What are your thoughts on using "unfamiliar" symbols for some of the letters, such as ð or þ ? On one hand, it looks cool to see lots of variety in the way sounds are represented, but on the other hand, it will make gameplay more annoying because names become even more of gobbledegook.
Logged

Skyrunner

  • Bay Watcher
  • ?!?!
    • View Profile
    • Portfolio
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #143 on: September 17, 2013, 11:44:22 pm »

Neat, I have a name gen that follows Korean/Japanese phonetics. xD
Logged

bay12 lower boards IRC:irc.darkmyst.org @ #bay12lb
"Oh, they never lie. They dissemble, evade, prevaricate, confoud, confuse, distract, obscure, subtly misrepresent and willfully misunderstand with what often appears to be a positively gleeful relish ... but they never lie" -- Look To Windward

Tiruin

  • Bay Watcher
  • Life is too short for worries
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #144 on: September 18, 2013, 06:41:45 am »

PTW :D
Logged

USEC_OFFICER

  • Bay Watcher
  • Pulls the strings and makes them ring.
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #145 on: September 18, 2013, 07:38:13 am »

To me it looks as if the five languages are related, as if they came from the same root language. It's like how French/Italian/Spainish have similar words and rules since they are all romance languages. I'd imagine that's not what you're looking for though, so the gemerator still needs some work.

Also I have no problem with the fancy symbols, though they should be limited to a couple languages to help make them more individual and different.
Logged

Lt_Alfred

  • Bay Watcher
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #146 on: September 18, 2013, 08:01:29 am »

Sooooo... where is the download? this things looks awesome.
Logged

Clownmite

  • Bay Watcher
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #147 on: September 18, 2013, 02:36:16 pm »

To me it looks as if the five languages are related, as if they came from the same root language. It's like how French/Italian/Spainish have similar words and rules since they are all romance languages. I'd imagine that's not what you're looking for though, so the gemerator still needs some work.

Yeah, that's what I thought too. I tuned the generator a bit, how about these ones:

Spoiler: Language 1 (click to show/hide)

Spoiler: Language 2 (click to show/hide)

Spoiler: Language 3 (click to show/hide)

Spoiler: Language 4 (click to show/hide)

Spoiler: Language 5 (click to show/hide)

I think they're better (look more distinct) but can still use a little more work, but I have a few more ideas.


Sooooo... where is the download? this things looks awesome.

Right now there's literally nothing to do - if you even try to attack something, the game crashes.


If I were to work towards some playable tech demo, what kind of things would you guys want to do? Should I add in some random enemies for you to go and attack?

The combat system is pretty terrible right now. I'd like something that is unique and fun, and I'm having a hard time figuring out what that should be for a roguelike. Right now I'm thinking a system where you enter into combat with an opponent, and basic swordplay goes on without your input, based on both of your stats, weapons, etc. However, once there's an "opening", you get to choose where to strike and what to do.

The reason I'm thinking this way is that it prevents the repetitive attacking ("swing, aim for X body part" ad infinitum). 
Logged

My Name is Immaterial

  • Bay Watcher
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #148 on: September 18, 2013, 03:36:23 pm »

What about being able to choose a combat stance for your character? The available options could change based on culture.

Clownmite

  • Bay Watcher
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #149 on: September 18, 2013, 04:25:50 pm »

What about being able to choose a combat stance for your character? The available options could change based on culture.

Actually, this is exactly what I had in mind. What specific stances did you have in mind? I was thinking "aggressive", "neutral", "defensive", and "berserker" for starters. Options based on culture is a good idea I hadn't considered, so maybe cultures could have entirely new stances, or modifications of existing ones. I was already planning on having culture-specific procedurally generated weapons.
« Last Edit: September 18, 2013, 04:32:42 pm by Clownmite »
Logged
Pages: 1 ... 8 9 [10] 11 12 ... 21