DebianJoe / dungeons

Roguelike Project in Python w/ libtcod
13 stars 5 forks source link

FYI Features we will loose without libtcod #33

Open Frostlock opened 11 years ago

Frostlock commented 11 years ago

Libtcod comes with a number of features we will miss if we try to go without it. I'll try to keep track:

I'll add here if I notice anything else.

DebianJoe commented 11 years ago

There are LOTS of things in libtcod that I didn't use that are great for RLs. There is the possibility of adding tinting to the FOV to make it behave more like a torch, noise generation, etc. that was designed around the needs/wants of groups working on making better rogue-likes. That being said, use whatever allows you enough to control to make the things that you see in your head happen. The cost of using libtcod is that it's difficult for everyone to get for their particular system, blitting is far more complicated than just putting text on a screen, and you have to always keep console positioning in the back of your mind. So, are the benefits or the downsides more extreme?

Frostlock commented 11 years ago

My current thinking is that it would be great to be able to separate the game from the visualization. I think libtcod today might be easy to get started (since we have some experience) putting a pure CLI or a pygame based interface on top of the same game would be an interesting exercise. :smile:

On Wed, Jun 19, 2013 at 3:34 PM, Joe notifications@github.com wrote:

There are LOTS of things in libtcod that I didn't use that are great for RLs. There is the possibility of adding tinting to the FOV to make it behave more like a torch, noise generation, etc. that was designed around the needs/wants of groups working on making better rogue-likes. That being said, use whatever allows you enough to control to make the things that you see in your head happen. The cost of using libtcod is that it's difficult for everyone to get for their particular system, blitting is far more complicated than just putting text on a screen, and you have to always keep console positioning in the back of your mind. So, are the benefits or the downsides more extreme?

— Reply to this email directly or view it on GitHubhttps://github.com/DebianJoe/dungeons/issues/33#issuecomment-19683985 .

wesleywerner commented 11 years ago

FOV is easy, all you do is grab the line segments between two points [1], and if any of those positions land on a blocking tile, you don't have line of sight. I implemented this 2 days ago and love it.

import random

takes care of randomness, it uses Mersenne Twister and is one of the most extensively tested random number generators in existence. [2]

I'll be happy to help implement any specific functions you might miss, and 99% of things is just a Google away :)

DebianJoe commented 11 years ago

I think pygame is total overkill for a RL. Not that it can't be done, but with that software acceleration...you might as well make Diablo II. That kind of makes it not a RL at all.

You don't need libtcod for anything done in Rogue. Obviously, it wasn't there for the first one. It's simply about design choices.

wesleywerner commented 11 years ago

There is abundant information on roguebasin, it is mind blowing: http://roguebasin.roguelikedevelopment.org/index.php?title=Articles