Inside...
Am 17.12.2006 um 01:32 schrieb Kris Schnee:
I think that a 2D, flat scrolling tile system in Pygame would be a
decent compromise between graphical quality and ease of
programming, for my project. I can live with the game's islands
being a constant height, for simplicity. One question I could use
input on is about tile size.
=> What blocks you to put higher tiles on the existing tiles?
Right now the game world has 100x100 "zones" representing chunks of
terrain I imagine as 1 Km^2, ie. each data point represents a 10m^2
area. I'd like to show human-sized figures, meaning you can see
maybe ten times the player's width at a time -- maybe 10 meters
across. For an 800x600 screen, that would mean tiles maybe 80
pixels wide for each data point. Pre-drawing a whole zone then
would mean blitting from a picture 8000x8000 pixels in size! Is
that impractical?
=> 8k x 8k is probably not that big but why creating the whole area
as image? Why not adding tiles when the player is moving to a certain
direction. Lets say the player is moving left, so you should add
tiles on the right side while removing tiles on the left side. This
would allow you to create big worlds and not limited on huge images.
I'd like to use square tiles of some reasonable size, erring on the
side of using a few big tiles. Maybe I should treat a zone as being
just 100x100m? The level of detail on the terrain itself doesn't
need to be high, because objects like trees can be added separately
at any exact coordinates. (That is, I could describe an island's
shape with a small number of data points saying "water here, sand
here, grass here" and then a list of exact positions for objects.)
=> Same way you could add areas at higher positiones. They are
rectange oriented you can check that the player cant pass them (maybe
way up to them?)
Since the game has an island theme I would also like to draw water
translucently, which would mean blitting a water texture (or at
least translucent blue/cyan) over parts of the terrain, rather than
just using blue tiles as I once did (
=> Sure would like nice! Instead of this you could use animated water/
land combo areas
http://kschnee.xepher.net/pics/niss-051111.jpg ). That also means
having some way to draw water "in front of" or "behind" sprites or
even some of both depending on their vertical position, right? Even
if the landscape is a constant height for drawing purposes, I'd
still like to have a character able to go underwater, being drawn
"behind" the water, but also able to be above it or at the surface.
=> How about you can add the type of water like: 1 = low, 2 = deep
low: cut a part of the charaker off (would also work for monsters
following the characters or any NPC standing in the water)
deep: The character is painted in deep blue or anim turns into
swimming animation.
Drawing water could be done on the fly each frame, or given its own
drawing plane -- doubling the RAM needed for the pre-drawing -- or
even given a much smaller drawing plane and then somehow scaled up
each frame. What method makes sense?
=> Huh? Doubling RAM? I, personally, recommend you completly try to
build the visual world in the tile size you planned. Many things to
mention about this but all over: easier to program than handling
different tyle size types and mechnisms.
Just my 2 cents
Farai
Kris