Bay 12 Games Forum

Please login or register.

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

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

Glloyd

  • Bay Watcher
  • Against the Tide
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #105 on: July 30, 2013, 10:29:13 pm »

Will there be Oculus Rift support in 1.0?

Oh, naturally. Who doesn't want to see nothing but ASCII characters?

My Name is Immaterial

  • Bay Watcher
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #106 on: July 30, 2013, 11:16:22 pm »

Will there be Oculus Rift support in 1.0?

Oh, naturally. Who doesn't want to see nothing but ASCII characters IN 3D!!!!!!!?
FIFY

Clownmite

  • Bay Watcher
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #107 on: August 28, 2013, 01:00:26 am »

Hi all,

Another update: I've had a lot going on in real life so I haven't put much work into this. Now that things have slowed a little, I have another non-programming creative project that I've wanted to work on for a long time, which I'll be working on for the next few weeks. I hope to also put some more work into this, but there's no guarantee.

In the meantime I have done a lot of thinking about this project. My original goals were pretty lofty, but I've realized as a one man team I need to simplify. I still want it to be a procedurally-generated roguelike with an emergent economy, and I have a lot of groundwork laid out. However the code is a mess and I need to stop designing the game as I go, and write up a design document with concrete goals in it.

I've also been following the other projects which inspired me to create this: Empyrea (formerly Cult) and URR. Both of those devs use Python, and both are bumping up against performance limits of the language. This is another reason I'll need to simplify a bit. I've been hoping that python's performance is good enough for my purposes but there is no guarantee that it will be.
Logged

Skyrunner

  • Bay Watcher
  • ?!?!
    • View Profile
    • Portfolio
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #108 on: August 28, 2013, 02:06:07 am »

I really doubt it's the language that's to blame. O_o What's causing the problems?
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

lemmily

  • Bay Watcher
    • View Profile
    • BatFinchBears
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #109 on: August 28, 2013, 07:53:46 am »

I really doubt it's the language that's to blame. O_o What's causing the problems?

Sounds like the motivation isn't there at the moment, but that's cool, I have an overly complex project that I've worked on, on and off for about a year now. I leave it alone for a few months then work on it again for a few weeks. So long as the project's not been left in the gutter forever I'm happy! :)

By the way the economy stuff you posted before was really helpful! Helped me to understand and write my very own botched barely functioning economy thing :)
Logged
I make furry things - BatFinch Bears

Anvilfolk

  • Bay Watcher
  • Love! <3
    • View Profile
    • Portuguese blacksmithing forum!
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #110 on: August 28, 2013, 09:00:49 am »

I really doubt it's the language that's to blame. O_o What's causing the problems?

Python can be really damned slow, to be honest. If I get 1000 sprites moving around on the screen, my game goes down to 25 fps. 1000 sprites is *not* a lot. I can multi-thread it, but it'll only get me at most a 4x improvement on quad cores. 4000 sprites is still not a lot... especially as they're doing nothing else other than being rendered. Once you add all sorts of other things it probably gets a ton more complicated.

I wonder how much compiling the py2exe kind of compilation can help.

Skyrunner

  • Bay Watcher
  • ?!?!
    • View Profile
    • Portfolio
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #111 on: August 28, 2013, 10:34:53 am »

But what part of the 1000 sprites is causing lag? O_o

I suppose that not getting memory control by default makes it harder to optimize, though :p
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

Clownmite

  • Bay Watcher
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #112 on: August 28, 2013, 02:17:32 pm »

In terms of Python performance, this explanation is probably incorrect, but as I understand it:
Python code is pseudo-compiled at runtime and converted to bytecode as the program runs, meaning it slowly has to work through all of that stuff as it goes. Languages like C can be compiled and are very efficient since you declare variable types when they are created etc. In Python, every time you use a variable the compiler has to go "OK, here's a variable, is it a string? No. An integer? No. A list? Yes. OK, now take this other variable..." C compilers will also optimize certain areas of the code too. So Python just can't compare in terms of speed to the compiled language.
Logged

professorlamp

  • Bay Watcher
    • View Profile
    • joereynoldsaudio
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #113 on: August 29, 2013, 02:05:45 am »

I know it's not much, but certain things in python are ran in C.

I know for a fact that list comprehensions are (and can be upto 3x faster than a for loop).
If you can somehow find out the what methods and functions are ran in C then maybe you can re-implement some of what you have right now. I'm sure you've already though of it, but just incase you haven't...Here it is :D

Logged
I write music for video games!
www.joereynoldsaudio.com

mendonca

  • Bay Watcher
  • [CLIVE]
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #114 on: August 29, 2013, 02:09:46 am »

I'm thoroughly interested in this project.

Hopefully you find some time and motivation to work further on this, if not - good luck in your other endeavours :)
Logged

Anvilfolk

  • Bay Watcher
  • Love! <3
    • View Profile
    • Portuguese blacksmithing forum!
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #115 on: August 29, 2013, 06:58:33 am »

I know for a fact that list comprehensions are (and can be upto 3x faster than a for loop).

You're still talking about the same order of magnitude. I'll have to try to run some profiling on the code and see where it's taking so long. I definitely have not been working on optimisation, but getting down to these numbers with barely any game logic is making me cautions about continuing to use Python.

Perhaps it'd be interesting to have a topic on this?

Clownmite

  • Bay Watcher
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #116 on: August 29, 2013, 11:39:28 am »

I know it's not much, but certain things in python are ran in C.

I know for a fact that list comprehensions are (and can be upto 3x faster than a for loop).
If you can somehow find out the what methods and functions are ran in C then maybe you can re-implement some of what you have right now. I'm sure you've already though of it, but just incase you haven't...Here it is :D

Yes, that's true. I already use list comprehensions like a fiend. But even with that, Python is just plain going to be slower than C. Right now the game seems to run OK in the small versions of the world that I generate. I'm worried that once I add in a few more bits and increase the world size, it will end up being much slower. 

In terms of programming, I'm a total self-taught amateur. I will do my best to optimize but I barely know the first thing about it. I'm still planning on putting the source code online once I focus it and clean it up a bit, so others may be able to help me there.
Logged

HopFlash

  • Bay Watcher
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #117 on: August 30, 2013, 06:53:08 pm »

I wonder how much compiling the py2exe kind of compilation can help.
you can try cx_freeze ( http://cx-freeze.sourceforge.net/ ).
It works way better for me to make nice exe (or variants for mac and linux).
But you won't get any performance improvements with it.

Therefor you should try PyPy (http://pypy.org/) or Cython (http://cython.org/).
Logged
GENERATION 11: The first time you see this, copy it into your sig on any forum and add 1 to the generation. Social experiment.

Inactive Therian Saga Char: Stormhead
Dominions: 4.03 Berytos; 4.06 Pangaea; 4.08 Arcoscephale; 4.11 Shinuyama
Inactive Wurm Online Char: Stormhead

Clownmite

  • Bay Watcher
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #118 on: September 01, 2013, 12:31:59 pm »

Well, I did start back up and do some work on this the past few days (no guarantee that I will continue to be productive, though). I cleaned up some of the code, finally decided how I want to implement government stuff for now, added a really basic dynasty thing, and added some framework for some really basic succession stuff. That still leaves some of the harder stuff I was hoping to get done: Government ai (however basic), basic plots, basic historical figure ai. I also need to get people marrying, reproducing, and dying.

Does anyone familiar with Python have a recommendation for a data structure I should use to keep track of all the figures? For now a list is working OK, but I'll eventually need to be able to search for figures with certain attributes (or a combination of attributes).

Also, does anyone know a good (free) 10x10 ascii tileset?
Logged

HopFlash

  • Bay Watcher
    • View Profile
Re: Iron Testament - an ancient "open world roguelike" (pre-alpha)
« Reply #119 on: September 01, 2013, 02:17:12 pm »

you could use normal dictionaries.
they are fast with lookups and you can use your search attribute as keys...but if there are several you need several dicts and you have to maintance them.

Another approach would be ZODB ( http://www.zodb.org/ ). Its an object database.

Or you can use something like sqlite or an other database and store your figure attributes in it. Then you can access it with SQL...but I think ZODB should be better for python objects :)
Logged
GENERATION 11: The first time you see this, copy it into your sig on any forum and add 1 to the generation. Social experiment.

Inactive Therian Saga Char: Stormhead
Dominions: 4.03 Berytos; 4.06 Pangaea; 4.08 Arcoscephale; 4.11 Shinuyama
Inactive Wurm Online Char: Stormhead
Pages: 1 ... 6 7 [8] 9 10 ... 21