Discussion:
[CsMain] Using really, really, really big maps
Jim Torelli
1999-12-18 20:21:18 UTC
Permalink
Hey guys...

We are currently considering using CrystalSpace to implement a
Cyberpunk style RPG we are developing (http://www.evestale.com). The
setting on the game is going to be a large city. Here is my question:
What would be the best way to implement a super-large area, such as a
city, in CrystalSpace?

My first thought was to segment the city into separate "world"
files. That way, say each skyscraper could be it's own world. This is
why I originally brought up the question about cut scenes. As the player
moves from say the city street into a building, a cut scene could role as
the building's world file is rendered.

Has anyone given this subject any thought? How big is too big
for a world? What's the best way to handle this?

Also, on a similar subject, is there any sort of rule of thumb as
to how many polys a sprite can/should consist of?

Thanks
Jim
Peter Donald
1999-12-18 23:16:57 UTC
Permalink
Hiya,
Post by Jim Torelli
Hey guys...
We are currently considering using CrystalSpace to implement a
Cyberpunk style RPG we are developing (http://www.evestale.com). The
What would be the best way to implement a super-large area, such as a
city, in CrystalSpace?
My first thought was to segment the city into separate "world"
files. That way, say each skyscraper could be it's own world. This is
why I originally brought up the question about cut scenes. As the player
moves from say the city street into a building, a cut scene could role as
the building's world file is rendered.
Has anyone given this subject any thought? How big is too big
for a world? What's the best way to handle this?
The main problem I encountered when doing this was the amount of memory
used and the cost of moving between worlds. The way I had planned to handle
it was create a whole group of mini-world files. Each of these mini-world
files were loaded on demand and then unloaded again when the user was far
enough away from them. SO basically you end up with a completely continuous
world.

The 3 problems I encountered involved
1> the texture manager. (Currently all textures have to be loaded up at
start time).
2> It only works on fairly powerful computers (it was running okay on a
400) but anything less and you had freezes when moving between the mini-maps.
3> There was a crash-bug somewhere in code that happened when unloading
sectors. Not sure where exactly.

Hope that helps,

Pete
Peter Donald
1999-12-19 00:18:38 UTC
Permalink
Post by Jim Torelli
That's kinda what I figured. This is why I made the suggestion of
implementing the ability to play cut-scenes. This way, a simple movie
file could play while the next piece of the world is loaded. Then, the
lag time between loading worlds would not be a big deal.
Okay .. but remember that the cut-scene may take a while to load up aswell
.... In a few games (ie Kingpin) it has annoyed me badly that it takes as
long to load up a simple scripted sequence instead of next map.
Post by Jim Torelli
Any other ideas?
None thou if you come up with any post em :P

Pete
Peter Donald
1999-12-19 00:20:33 UTC
Permalink
Donald,

how goes the XML loader ? I would like to have a play with the code even if
it is not feature complete .. is there any chance of posting code, or
putting it in cvs sometime soon :P

Pete
Alex C Henderson
1999-12-19 06:00:04 UTC
Permalink
----- Original Message -----
From: Peter Donald <***@mad.scientist.com>
To: <crystal-***@sourceforge.net>
Sent: Sunday, December 19, 1999 12:16 PM
Subject: Re: [CsMain] Using really, really, really big maps
Post by Peter Donald
Hiya,
Post by Jim Torelli
Hey guys...
We are currently considering using CrystalSpace to implement a
Cyberpunk style RPG we are developing (http://www.evestale.com). The
What would be the best way to implement a super-large area, such as a
city, in CrystalSpace?
My first thought was to segment the city into separate "world"
files. That way, say each skyscraper could be it's own world. This is
why I originally brought up the question about cut scenes. As the player
moves from say the city street into a building, a cut scene could role as
the building's world file is rendered.
Has anyone given this subject any thought? How big is too big
for a world? What's the best way to handle this?
I don't believe a world can ever be "too big" In fact I believe that's what
people are demanding in modern games, large worlds with great scope then
before for interaction. The key to working this is chopping it up into
digestible chunks...
Post by Peter Donald
The main problem I encountered when doing this was the amount of memory
used and the cost of moving between worlds.
Memory requirements can be lowered by using poor-quality versions of scenery
for areas the player isn't directly in - for a city scape loading up only
the outside of the buildings for all buildings not in the current zone would
be the key.... you could even seperate the buildings out into "height"
zones, only loading the bottom few floors of the building untill the player
goes up a few floors... as far as developing this goes, building the world
as a single huge map to start with and then building a utility to chop the
map up into a number of cubes with pointers to surrounding cubes etc. (This
is how my game is currently being built). The utility for chopping the
large world into blocks however can be extremely memory intensive (I've
written one that can end up using over a gigabyte of swap-space ... ) but it
works well...
Post by Peter Donald
The way I had planned to handle
it was create a whole group of mini-world files. Each of these mini-world
files were loaded on demand and then unloaded again when the user was far
enough away from them. SO basically you end up with a completely continuous
world.
That's the way Asheron's Call works - I've done a few tests (I'm working on
an open-source RPG game using a similar concept) the key is to make sure
each "chunk" of the world your loading in is around 128K in size or less.
For a game based on the cyberpunk world using extremely tall/large buildings
you could use the method I outlined above... but it's a lot of work..
Post by Peter Donald
The 3 problems I encountered involved
1> the texture manager. (Currently all textures have to be loaded up at
start time).
The texture manager's pretty simple - just have a list of textures required
per zone calculated - load the textures that aren't already loaded, unload
any that aren't needed any more (using a reference count system not unlike
the SCF interface setup)
Post by Peter Donald
2> It only works on fairly powerful computers (it was running okay on a
400) but anything less and you had freezes when moving between the mini-maps.
You just have to make sure your not loading too much from disk, and
precalcing anything that needs it - I'm not sure how well Crystal Space
would handle geometry being pulled in/out of the display tree as well...
working the portal system into the buildings outside/interriors could also
be an interesting idea...
Post by Peter Donald
3> There was a crash-bug somewhere in code that happened when unloading
sectors. Not sure where exactly.
Hmm.. was your code written in CS, it could be interesting to write an
example "Large/dynamic level" demo using CS to give people a feel for a
possible way of doing this...

- Alex. H
Peter Donald
1999-12-19 06:34:26 UTC
Permalink
Hi,
Post by Alex C Henderson
Memory requirements can be lowered by using poor-quality versions of scenery
for areas the player isn't directly in - for a city scape loading up only
the outside of the buildings for all buildings not in the current zone would
be the key.... you could even seperate the buildings out into "height"
zones, only loading the bottom few floors of the building untill the player
goes up a few floors... as far as developing this goes, building the world
as a single huge map to start with and then building a utility to chop the
map up into a number of cubes with pointers to surrounding cubes etc. (This
is how my game is currently being built). The utility for chopping the
large world into blocks however can be extremely memory intensive (I've
written one that can end up using over a gigabyte of swap-space ... ) but it
works well...
I actually took the descent style approach. Build lots of little chunks and
then link them together .. it had a few hiccups .. but worked okay.
Post by Alex C Henderson
Post by Peter Donald
The way I had planned to handle
it was create a whole group of mini-world files. Each of these mini-world
files were loaded on demand and then unloaded again when the user was far
enough away from them. SO basically you end up with a completely
continuous
Post by Peter Donald
world.
That's the way Asheron's Call works - I've done a few tests (I'm working on
an open-source RPG game using a similar concept) the key is to make sure
each "chunk" of the world your loading in is around 128K in size or less.
For a game based on the cyberpunk world using extremely tall/large buildings
you could use the method I outlined above... but it's a lot of work..
depends on what your data was :P ... I was using standard CS data format. A
faster to process binary format would greately alleviate the strain ..
Post by Alex C Henderson
Post by Peter Donald
The 3 problems I encountered involved
1> the texture manager. (Currently all textures have to be loaded up at
start time).
The texture manager's pretty simple - just have a list of textures required
per zone calculated - load the textures that aren't already loaded, unload
any that aren't needed any more (using a reference count system not unlike
the SCF interface setup)
Texture manager limitation is currently a cs limitation. I started
yesterday to implement a similar system for my own engine. It was a three
tier system that had texture tables for each component.

Currently it is made up of a texture table for the whole world. Then there
is a texture table for each zone (the zones are the smaller components that
are loaded/unloaded when moving around in level). Then there is also a
movers texture table for all the objects that are in current/joining zones.

Each does its ref-counting. I end up using about 14 extra bytes per texture
than if I implemented a monolithic texture table but I though this was
acceptable.
Post by Alex C Henderson
Post by Peter Donald
2> It only works on fairly powerful computers (it was running okay on a
400) but anything less and you had freezes when moving between the
mini-maps.
You just have to make sure your not loading too much from disk, and
precalcing anything that needs it - I'm not sure how well Crystal Space
would handle geometry being pulled in/out of the display tree as well...
working the portal system into the buildings outside/interriors could also
be an interesting idea...
The most effective idea I have found so far is to group a bunch of cells
into a zone and then allow intra-zone-portals and inter-zone-portals. Kinda
very similar to how Unreal organises it map I think.
Post by Alex C Henderson
Post by Peter Donald
3> There was a crash-bug somewhere in code that happened when unloading
sectors. Not sure where exactly.
Hmm.. was your code written in CS, it could be interesting to write an
example "Large/dynamic level" demo using CS to give people a feel for a
possible way of doing this...
It was an ugly hack/slash/push code left/push code right till it worked and
thus it wasn't appropriate to put in main CS distribution. Thou perhaps if
I have time I may try to re-create it.

Pete
jorrit
1999-12-19 19:59:21 UTC
Permalink
Post by Peter Donald
The 3 problems I encountered involved
1> the texture manager. (Currently all textures have to be loaded up at
start time).
That would be fairly easy to fix. I think the fix is nearly there.
Post by Peter Donald
2> It only works on fairly powerful computers (it was running okay on a
400) but anything less and you had freezes when moving between the mini-maps.
Well, CS uses too much memory still. Will be my next focus of work after
doing the coverage mask trees (next to the engine redesign).
Post by Peter Donald
3> There was a crash-bug somewhere in code that happened when unloading
sectors. Not sure where exactly.
Well, that needs to be fixed. Can you be more specific about what and
when the bug occured?

Greetings,
Post by Peter Donald
Hope that helps,
Pete
_______________________________________________
Crystal-main mailing list
http://lists.sourceforge.net/mailman/listinfo/crystal-main
Peter Donald
1999-12-19 21:36:18 UTC
Permalink
Post by jorrit
Post by Peter Donald
The 3 problems I encountered involved
1> the texture manager. (Currently all textures have to be loaded up at
start time).
That would be fairly easy to fix. I think the fix is nearly there.
I tried ... 3 times and failed :< .. oh well :P
Post by jorrit
Post by Peter Donald
3> There was a crash-bug somewhere in code that happened when unloading
sectors. Not sure where exactly.
Well, that needs to be fixed. Can you be more specific about what and
when the bug occured?
It was a bug that occured when unloading sectors. Unfortunately I never
tracked it down and I was working on a heavily modified version of CS so I
cant really give exact problem (worst thing was that it caused a BSOD and
didn't let debugger catch exception :<)

Pete
Jim Torelli
1999-12-18 23:44:11 UTC
Permalink
That's kinda what I figured. This is why I made the suggestion of
implementing the ability to play cut-scenes. This way, a simple movie
file could play while the next piece of the world is loaded. Then, the
lag time between loading worlds would not be a big deal.


Any other ideas?
Post by Peter Donald
Hiya,
Post by Jim Torelli
Hey guys...
We are currently considering using CrystalSpace to implement a
Cyberpunk style RPG we are developing (http://www.evestale.com). The
What would be the best way to implement a super-large area, such as a
city, in CrystalSpace?
My first thought was to segment the city into separate "world"
files. That way, say each skyscraper could be it's own world. This is
why I originally brought up the question about cut scenes. As the player
moves from say the city street into a building, a cut scene could role as
the building's world file is rendered.
Has anyone given this subject any thought? How big is too big
for a world? What's the best way to handle this?
The main problem I encountered when doing this was the amount of memory
used and the cost of moving between worlds. The way I had planned to handle
it was create a whole group of mini-world files. Each of these mini-world
files were loaded on demand and then unloaded again when the user was far
enough away from them. SO basically you end up with a completely continuous
world.
The 3 problems I encountered involved
1> the texture manager. (Currently all textures have to be loaded up at
start time).
2> It only works on fairly powerful computers (it was running okay on a
400) but anything less and you had freezes when moving between the mini-maps.
3> There was a crash-bug somewhere in code that happened when unloading
sectors. Not sure where exactly.
Hope that helps,
Pete
_______________________________________________
Crystal-main mailing list
http://lists.sourceforge.net/mailman/listinfo/crystal-main
Seth Galbraith
1999-12-19 16:40:37 UTC
Permalink
Post by Peter Donald
Okay .. but remember that the cut-scene may take a while to load up
aswell .... In a few games (ie Kingpin) it has annoyed me badly that
it takes as long to load up a simple scripted sequence instead of next
map.
The problem with any scheme to have a huge world is that sooner or later
you have to load up everything the player can see. If you have infrequent
loading, loading will break up the action but if you have frequent loading
it will be a constant nuiscance.

Cut scenes are the tried-and-true method, whether the cut scenes are
static images, slide shows, FMV, scripted sequences, or just a status
screen (like tallying up scores)

But if your cut scene takes as long to load as the next area, then it
doesn't make the game feel any smoother. Keeping the cut scene very
simple can help.

In Darkstone for example the 3D cut scenes when entering a down or going
up or down a level in a dungeon are very simple and looping. If it takes
just a few seconds or a few minutes, the looping animation still makes
sense. Since the whole scene is basically just one simple 3D model with
simple, repetitive animation, it loads instantly.

Now in a city setting, I don't seen an opportunity for making a reasonably
long cut scene when entering a building*. But elevators would be an
excellent place to use simple looping animation.

(* you might make the "lobby" area of a building into a seperate but
small, quick loading area and load it as the player enters the building)

__ __ _ _ __ __
_/ \__/ \__/ Seth Galbraith "The Serpent Lord" \__/ \__/ \_
\__/ \__/ \_ ***@krl.org #2244199 on ICQ _/ \__/ \__/
_/ \__/ \__/ http://www.planetquake.com/simitar \__/ \__/ \_
Thomas Hieber
1999-12-19 20:49:51 UTC
Permalink
Post by Seth Galbraith
Post by Peter Donald
Okay .. but remember that the cut-scene may take a while to load up
aswell .... In a few games (ie Kingpin) it has annoyed me badly that
it takes as long to load up a simple scripted sequence instead of next
map.
The problem with any scheme to have a huge world is that sooner or later
you have to load up everything the player can see. If you have infrequent
loading, loading will break up the action but if you have frequent loading
it will be a constant nuiscance.
IMHO, there _is_ a way to avoid these problems.
If we manage to make loading a step by step action (something like
loader::startloading(), loader::load_a_bit() and
loader::is_finished_loading()) we could split loading into small parts and
execute it _between_ single frames. This would give you a drop in framerate,
but it would allow us to load the world without any pause. If the pieces are
small enough, we might see a drop from 30fps to 20fps while loading, which
should be acceptable.

Thomas
jorrit
1999-12-19 20:24:07 UTC
Permalink
In principle CS can handle VERY big worlds. The single problem hampering
this is the fact that CS is not very efficient with memory. Polygons take a
lot
of memory in CS.

This is something that I will look into in the near future hopefully.

Greetings,
Post by Jim Torelli
Hey guys...
We are currently considering using CrystalSpace to implement a
Cyberpunk style RPG we are developing (http://www.evestale.com). The
What would be the best way to implement a super-large area, such as a
city, in CrystalSpace?
My first thought was to segment the city into separate "world"
files. That way, say each skyscraper could be it's own world. This is
why I originally brought up the question about cut scenes. As the player
moves from say the city street into a building, a cut scene could role as
the building's world file is rendered.
Has anyone given this subject any thought? How big is too big
for a world? What's the best way to handle this?
Also, on a similar subject, is there any sort of rule of thumb as
to how many polys a sprite can/should consist of?
Thanks
Jim
_______________________________________________
Crystal-main mailing list
http://lists.sourceforge.net/mailman/listinfo/crystal-main
Nicholas Blumire
1999-12-22 01:07:57 UTC
Permalink
If you recall I built quite a big level, ok it wasn't all that good but it
proved that it worked.
Would it be possible to use many things in a level to improve memory usages.
A house would have many repeating bits too it. Is this worth the bother?

Also some people might be interesting in a little program i'm working on,
its a quick high level city builder for CS. It uses a catalog of buildings
which you can place down on a flat plane. The program then builds a simple
Roam surface to use as the ground.
It's quite a limiting program but members of my project believe it will save
us much time in the long run rather then using unreal to build the hundreds
of towns and cities which are in our project.
Post by jorrit
In principle CS can handle VERY big worlds. The single problem hampering
this is the fact that CS is not very efficient with memory. Polygons take a
lot
of memory in CS.
This is something that I will look into in the near future hopefully.
Greetings,
Post by Jim Torelli
Hey guys...
We are currently considering using CrystalSpace to implement a
Cyberpunk style RPG we are developing (http://www.evestale.com). The
What would be the best way to implement a super-large area, such as a
city, in CrystalSpace?
My first thought was to segment the city into separate "world"
files. That way, say each skyscraper could be it's own world. This is
why I originally brought up the question about cut scenes. As the player
moves from say the city street into a building, a cut scene could role as
the building's world file is rendered.
Has anyone given this subject any thought? How big is too big
for a world? What's the best way to handle this?
Also, on a similar subject, is there any sort of rule of thumb as
to how many polys a sprite can/should consist of?
Thanks
Jim
Peter Donald
1999-12-19 21:49:58 UTC
Permalink
Hi,
Post by jorrit
In principle CS can handle VERY big worlds. The single problem hampering
this is the fact that CS is not very efficient with memory. Polygons take a
lot
of memory in CS.
there is one other problem that I came across. Mainly with accuracy of
float getting to low. Thus I ended up making it so that each zone had it's
own local co-ordinate system. This reduced the network traffic (by reducing
density of data) and also got around accuracy problems. This way inter-zone
portals changed co-ordinate systems aswell

Pete
Peter Donald (by way of Peter Donald )
1999-12-22 21:06:15 UTC
Permalink
Hiya,
Pete,
I've been thinking of ways to implement a similar scene. I have two
1) What were your load/unload functions like? (on a technical level)
Well when I first implmented this i simply cut and paste code from various
bits of CS. What my current methods is/will be goes something like this.

Each zone (ie mini-world) has a list of cells (ie sectors) that are
interconnected via portals. Normal to now. When a zone is loaded the first
thing is to build a new ResourceTable for textures. The resource table
basically holds the name of resource (ie "/textures/brick.jpg"), a pointer
to the engine object responsible (in this case a Texture2D object) and a
reference count. As I load the zone each use of texture increments
ref-count. This is chained to a further up Application level ResourceTable
that holds all the references to all textures and their current ref-count.


So I load a surface with the above texture. It increments the RefCount in
the current Zones and the Application.

After loading all the static geometry I load all the movers. Movers are
basically extra brushses/geometry that can move :P. Movers that were
restricted to the current Zone had all their resources added to resource
tables for current zone, while movers that could travel between zones were
added to a Application wide ResourceTable.

Why did I use resource tables you may ask :P. Because they are GREAT when
building an efficient net-protocol and because they make it easy to
de-allocate all the resources for the Zone when Unload time comes. When
unloading I basicall travel through all the resource tables for the zone
and dec-ref until 0. This means that if this is only zone using it the
resource is deleted otherwise is kept.
2) Supposing each building was a miniworld, and the building had windows,
could one look out and see the "outside" world? If so, how was this done?
In theory the person can see the outside world. My current levels are dense
enough that this has not been a problem yet. But basically I try to
quarentee that any zone visible from the current Zone is loaded (I thinking
about using a pvs for this). However if the zone is not loaded for some
reason ... not to worry. ... I point my portal at a dummy zone that acts in
many ways like a imposter (I think thats the term).

Hope that helps a lil,

Pete
Jim Torelli
1999-12-22 22:21:44 UTC
Permalink
Well, I know that for our project, when the coding phase begins, we will
need a similar tool. I was looking at putting together a tool that could
randomly generate buildings and such. I would be interested in taking a
look at what you've done. I'm sure other people are in the same boat
also.
Post by Nicholas Blumire
If you recall I built quite a big level, ok it wasn't all that good but it
proved that it worked.
Would it be possible to use many things in a level to improve memory usages.
A house would have many repeating bits too it. Is this worth the bother?
Also some people might be interesting in a little program i'm working on,
its a quick high level city builder for CS. It uses a catalog of buildings
which you can place down on a flat plane. The program then builds a simple
Roam surface to use as the ground.
It's quite a limiting program but members of my project believe it will save
us much time in the long run rather then using unreal to build the hundreds
of towns and cities which are in our project.
Post by jorrit
In principle CS can handle VERY big worlds. The single problem hampering
this is the fact that CS is not very efficient with memory. Polygons take
a
Post by jorrit
lot
of memory in CS.
This is something that I will look into in the near future hopefully.
Greetings,
Post by Jim Torelli
Hey guys...
We are currently considering using CrystalSpace to implement a
Cyberpunk style RPG we are developing (http://www.evestale.com). The
What would be the best way to implement a super-large area, such as a
city, in CrystalSpace?
My first thought was to segment the city into separate "world"
files. That way, say each skyscraper could be it's own world. This is
why I originally brought up the question about cut scenes. As the
player
Post by jorrit
Post by Jim Torelli
moves from say the city street into a building, a cut scene could role
as
Post by jorrit
Post by Jim Torelli
the building's world file is rendered.
Has anyone given this subject any thought? How big is too big
for a world? What's the best way to handle this?
Also, on a similar subject, is there any sort of rule of thumb
as
Post by jorrit
Post by Jim Torelli
to how many polys a sprite can/should consist of?
Thanks
Jim
_______________________________________________
Crystal-main mailing list
http://lists.sourceforge.net/mailman/listinfo/crystal-main
Nicholas Blumire
1999-12-22 23:47:31 UTC
Permalink
There is only one major problem, how should it be made, I have begun to use
delphi to make it really quickly but i'm getting the idea that it would be
useful for everybody if it was c++ and is gpl'ed too. Now i've never made
windows'y gui apps in c++ so I might need a little help :) What do people
surgest for me to use anyway?
and also which platforms do people want to see this on, win32 & x windows?
Post by Jim Torelli
Well, I know that for our project, when the coding phase begins, we will
need a similar tool. I was looking at putting together a tool that could
randomly generate buildings and such. I would be interested in taking a
look at what you've done. I'm sure other people are in the same boat
also.
Nicholas Blumire
1999-12-23 18:50:32 UTC
Permalink
Post by Jim Torelli
Well, I know that for our project, when the coding phase begins, we will
need a similar tool. I was looking at putting together a tool that could
randomly generate buildings and such. I would be interested in taking a
look at what you've done. I'm sure other people are in the same boat
also.
I've looked into doing random generated cities but every one i've seen
before is well blocky. Daggerfall is one which I remember, a huge world,
pitty it wasn't very interesting for normal players. Yes you can get into
the game but it has never had the ability to drag people into it. I could
never decide what to do. Anyway i'm going off the point, which was random
generated cities, are you planning to be able to edit them so you can add
various unique bits here and there?
Jim Torelli
1999-12-22 22:21:44 UTC
Permalink
Well, I know that for our project, when the coding phase begins, we will
need a similar tool. I was looking at putting together a tool that could
randomly generate buildings and such. I would be interested in taking a
look at what you've done. I'm sure other people are in the same boat
also.
Post by Nicholas Blumire
If you recall I built quite a big level, ok it wasn't all that good but it
proved that it worked.
Would it be possible to use many things in a level to improve memory usages.
A house would have many repeating bits too it. Is this worth the bother?
Also some people might be interesting in a little program i'm working on,
its a quick high level city builder for CS. It uses a catalog of buildings
which you can place down on a flat plane. The program then builds a simple
Roam surface to use as the ground.
It's quite a limiting program but members of my project believe it will save
us much time in the long run rather then using unreal to build the hundreds
of towns and cities which are in our project.
Post by jorrit
In principle CS can handle VERY big worlds. The single problem hampering
this is the fact that CS is not very efficient with memory. Polygons take
a
Post by jorrit
lot
of memory in CS.
This is something that I will look into in the near future hopefully.
Greetings,
Post by Jim Torelli
Hey guys...
We are currently considering using CrystalSpace to implement a
Cyberpunk style RPG we are developing (http://www.evestale.com). The
What would be the best way to implement a super-large area, such as a
city, in CrystalSpace?
My first thought was to segment the city into separate "world"
files. That way, say each skyscraper could be it's own world. This is
why I originally brought up the question about cut scenes. As the
player
Post by jorrit
Post by Jim Torelli
moves from say the city street into a building, a cut scene could role
as
Post by jorrit
Post by Jim Torelli
the building's world file is rendered.
Has anyone given this subject any thought? How big is too big
for a world? What's the best way to handle this?
Also, on a similar subject, is there any sort of rule of thumb
as
Post by jorrit
Post by Jim Torelli
to how many polys a sprite can/should consist of?
Thanks
Jim
_______________________________________________
Crystal-main mailing list
http://lists.sourceforge.net/mailman/listinfo/crystal-main
Robert S. Elsner
1999-12-23 00:05:08 UTC
Permalink
Post by Nicholas Blumire
There is only one major problem, how should it be made, I have
begun to use
delphi to make it really quickly but i'm getting the idea that it would be
useful for everybody if it was c++ and is gpl'ed too. Now i've never made
windows'y gui apps in c++ so I might need a little help :) What do people
surgest for me to use anyway?
and also which platforms do people want to see this on, win32 & x windows?
Although this may not be popular, MFC is really nice for creating quick and
good looking GUIs. I also hear Borland's OWL is good, though I'm not sure
if they still support it.

You might want to consider doing this in Java, though. Cross platform and
portable. Slow, but a tool like this doesn't need megaspeed.

Anyway, just my thoughts. I can help out on Windows GUI's in MFC, or plain
Win32 API if you need that. I'm interested in your work.

-robert
Nicholas Blumire
1999-12-23 00:13:52 UTC
Permalink
Post by Robert S. Elsner
Post by Nicholas Blumire
There is only one major problem, how should it be made, I have
begun to use
delphi to make it really quickly but i'm getting the idea that it would be
useful for everybody if it was c++ and is gpl'ed too. Now i've never made
windows'y gui apps in c++ so I might need a little help :) What do people
surgest for me to use anyway?
and also which platforms do people want to see this on, win32 & x windows?
Although this may not be popular, MFC is really nice for creating quick and
good looking GUIs. I also hear Borland's OWL is good, though I'm not sure
if they still support it.
You might want to consider doing this in Java, though. Cross platform and
portable. Slow, but a tool like this doesn't need megaspeed.
Anyway, just my thoughts. I can help out on Windows GUI's in MFC, or plain
Win32 API if you need that. I'm interested in your work.
Thanks for your support, i'm going to go and play with mfc tonight to see
what i can do (probably hello world appearing of hundreds of buttons all
over my screen) I'll let you know how things are going.
Night
Nick
Seth Galbraith
1999-12-23 12:59:38 UTC
Permalink
Post by Nicholas Blumire
If you recall I built quite a big level, ok it wasn't all that good
but it proved that it worked. Would it be possible to use many things
in a level to improve memory usages. A house would have many repeating
bits too it. Is this worth the bother?
Does Crystal Space have sector templates, or could something like that be
added? This way you could design a room and then duplicate it wherever
it is reused throughout a building. This would be especially useful in
larger, repetitive buildings.
Post by Nicholas Blumire
Also some people might be interesting in a little program i'm working on,
its a quick high level city builder for CS. It uses a catalog of buildings
which you can place down on a flat plane. The program then builds a simple
Roam surface to use as the ground.
Sounds interesting.

I don't know why you need a ROAM surface for a flat plane though :-)
Post by Nicholas Blumire
It's quite a limiting program but members of my project believe it
will save us much time in the long run rather then using unreal to
build the hundreds of towns and cities which are in our project.
Yes, I imagine it would.

Perhaps the editor could be made more general purpose by making the ROAM
surface optional so you can also build the internal structures of some
buildings (or in some games "dungeons") with the same editor by placing
rooms together.

In Quake editing, which is polyhedron based, it takes hours for a beginner
to make a decent looking room, and it experts several minutes. But in
tile-based editing for 2D games like Starcraft, even a novice can create a
nice looking room in seconds, or a whole town in minutes.

The problem with games like Starcraft is that - perhaps because of the
difficulty of modeling, rendering, and organizing nice-looking 2D tile
sets - the average user has to work with a limited set of details.

In a 3D game, tile or prefab based editing can also be used, but it is
also easier to develop new tiles or prefabs.

BTW - if you are looking for a cross platform GUI library, you may want to
look into Crystal Space's own CSWS or wxWindows which was recently
mentioned on this list.
__ __ _ _ __ __
_/ \__/ \__/ Seth Galbraith "The Serpent Lord" \__/ \__/ \_
\__/ \__/ \_ ***@krl.org #2244199 on ICQ _/ \__/ \__/
_/ \__/ \__/ http://www.planetquake.com/simitar \__/ \__/ \_
Nicholas Blumire
1999-12-23 23:26:44 UTC
Permalink
Post by Seth Galbraith
Post by Nicholas Blumire
If you recall I built quite a big level, ok it wasn't all that good
but it proved that it worked. Would it be possible to use many things
in a level to improve memory usages. A house would have many repeating
bits too it. Is this worth the bother?
Does Crystal Space have sector templates, or could something like that be
added? This way you could design a room and then duplicate it wherever
it is reused throughout a building. This would be especially useful in
larger, repetitive buildings.
Arn't "things" meant for this, i've seen nothing with says "things" do this
and speed up the engine drawing tonnes of them.
Post by Seth Galbraith
Post by Nicholas Blumire
Also some people might be interesting in a little program i'm working on,
its a quick high level city builder for CS. It uses a catalog of buildings
which you can place down on a flat plane. The program then builds a simple
Roam surface to use as the ground.
Sounds interesting.
I don't know why you need a ROAM surface for a flat plane though :-)
The Roam surface won't be flat, it starts off flat, but you can add simple
hills and valleys.
Post by Seth Galbraith
Post by Nicholas Blumire
It's quite a limiting program but members of my project believe it
will save us much time in the long run rather then using unreal to
build the hundreds of towns and cities which are in our project.
Yes, I imagine it would.
It would!
Post by Seth Galbraith
Perhaps the editor could be made more general purpose by making the ROAM
surface optional so you can also build the internal structures of some
buildings (or in some games "dungeons") with the same editor by placing
rooms together.
Yes, if i can get enough help together i'm willing to make a high level
version of mazed for larger worlds. Mazed would still not be all that great
at this sort of dropping prefabs which i'm planning.
Post by Seth Galbraith
In Quake editing, which is polyhedron based, it takes hours for a beginner
to make a decent looking room, and it experts several minutes. But in
tile-based editing for 2D games like Starcraft, even a novice can create a
nice looking room in seconds, or a whole town in minutes.
The idea for the basic system came from campaign cartographer 2
www.profantasy.com its so simple when you get the hang of it, thats what
sort of tool cs really needs.
Post by Seth Galbraith
The problem with games like Starcraft is that - perhaps because of the
difficulty of modeling, rendering, and organizing nice-looking 2D tile
sets - the average user has to work with a limited set of details.
Yes this is it also my developers arn't all that good at 3d editing. There's
two of us which do that (along with most of the rest of the work).
Post by Seth Galbraith
In a 3D game, tile or prefab based editing can also be used, but it is
also easier to develop new tiles or prefabs.
The Prefab system was what I was planning to build, athough for speed i'm
planning on placing the buildings on a flat plane which has sctions at the
edge moved up to give the idea of small hills.
Post by Seth Galbraith
BTW - if you are looking for a cross platform GUI library, you may want to
look into Crystal Space's own CSWS or wxWindows which was recently
mentioned on this list.
I don't like CSWS it runs too slow on my windows system you move the mouse
to the menu and the cursor sticks for some time before going where it was
meant to. I cannot develop like that :(
I haven't tried it in linux as I just don't get around to it when i'm in
linux, is it better?
jorrit
1999-12-26 12:50:56 UTC
Permalink
Post by Nicholas Blumire
Post by Seth Galbraith
Post by Nicholas Blumire
If you recall I built quite a big level, ok it wasn't all that good
but it proved that it worked. Would it be possible to use many things
in a level to improve memory usages. A house would have many repeating
bits too it. Is this worth the bother?
Does Crystal Space have sector templates, or could something like that be
added? This way you could design a room and then duplicate it wherever
it is reused throughout a building. This would be especially useful in
larger, repetitive buildings.
Arn't "things" meant for this, i've seen nothing with says "things" do this
and speed up the engine drawing tonnes of them.
Things do not speed up the engine as such. Rendering a thing polygon
is slightly less efficient than rendering a wall polygon (sector polygon).
The reason is that a thing polygon is rendered with the Z buffer. But things
have the advantage that you can design more complex levels without having
to use too many portals. So in that sense they give a performance benefit.

Greetings,
Nicholas Blumire
1999-12-29 19:55:56 UTC
Permalink
Post by jorrit
Post by Nicholas Blumire
Post by Seth Galbraith
Post by Nicholas Blumire
If you recall I built quite a big level, ok it wasn't all that good
but it proved that it worked. Would it be possible to use many things
in a level to improve memory usages. A house would have many repeating
bits too it. Is this worth the bother?
Does Crystal Space have sector templates, or could something like that be
added? This way you could design a room and then duplicate it wherever
it is reused throughout a building. This would be especially useful in
larger, repetitive buildings.
Arn't "things" meant for this, i've seen nothing with says "things" do this
and speed up the engine drawing tonnes of them.
Things do not speed up the engine as such. Rendering a thing polygon
is slightly less efficient than rendering a wall polygon (sector polygon).
The reason is that a thing polygon is rendered with the Z buffer. But things
have the advantage that you can design more complex levels without having
to use too many portals. So in that sense they give a performance benefit.
But would it be worth using them for houses which might be repeated a couple
of times? I'm worried about loading times after it took me 1/2 an hour to
load my map on my system (don't ask why).
Nick
jorrit
1999-12-30 19:23:37 UTC
Permalink
Post by Nicholas Blumire
But would it be worth using them for houses which might be repeated a couple
of times? I'm worried about loading times after it took me 1/2 an hour to
load my map on my system (don't ask why).
Nick
Don't worry. If you are talking about city.zip then your worries are over.
With the latest version of CS (on CVS in SourceForge) loading city.zip is
a matter of two minutes at most.

Greetings,
Nicholas Blumire
1999-12-30 20:37:36 UTC
Permalink
Post by jorrit
Post by Nicholas Blumire
But would it be worth using them for houses which might be repeated a couple
of times? I'm worried about loading times after it took me 1/2 an hour to
load my map on my system (don't ask why).
Nick
Don't worry. If you are talking about city.zip then your worries are over.
With the latest version of CS (on CVS in SourceForge) loading city.zip is
a matter of two minutes at most.
Pitty i can't get it to run atm, does anyone have any idea of how to get a
toshiba internal modem working in linux, i downloaded to source in windows
and everyline has an extra character. Argghh!
Thanks
Nick
Jason Platt
1999-12-23 17:48:03 UTC
Permalink
If you were to use the same gui facilities that MazeD uses you would
probably fill all the requirements that you need.
Post by Nicholas Blumire
There is only one major problem, how should it be made, I have begun
to use
delphi to make it really quickly but i'm getting the idea that it
would be
useful for everybody if it was c++ and is gpl'ed too. Now i've never
made
windows'y gui apps in c++ so I might need a little help :) What do
people
surgest for me to use anyway?
and also which platforms do people want to see this on, win32 & x
windows?
Post by Jim Torelli
Well, I know that for our project, when the coding phase begins, we
will
Post by Jim Torelli
need a similar tool. I was looking at putting together a tool that
could
Post by Jim Torelli
randomly generate buildings and such. I would be interested in
taking a
Post by Jim Torelli
look at what you've done. I'm sure other people are in the same
boat
Post by Jim Torelli
also.
_______________________________________________
Crystal-main mailing list
http://lists.sourceforge.net/mailman/listinfo/crystal-main
=====
Jason Platt.

"If you don't play the game you can never win"
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
Nicholas Blumire
1999-12-23 23:30:36 UTC
Permalink
Post by Jason Platt
If you were to use the same gui facilities that MazeD uses you would
probably fill all the requirements that you need.
The only problem i have with it is that it seems too slow under windows on
my system. I'm developing Cs in visual c atm so it seems mfc would be
quicker but if you can surgest whats wrong with my system causing the cursor
to freeze and only begin to move where it was meant to a little while later.
There's a doc about csws in the /docs folder isn't there, i'll have a look
anyway.
Thomas Hieber
1999-12-24 14:57:56 UTC
Permalink
Post by Nicholas Blumire
Post by Jason Platt
If you were to use the same gui facilities that MazeD uses you would
probably fill all the requirements that you need.
The only problem i have with it is that it seems too slow under windows on
my system. I'm developing Cs in visual c atm so it seems mfc would be
quicker but if you can surgest whats wrong with my system causing the cursor
to freeze and only begin to move where it was meant to a little while later.
There's a doc about csws in the /docs folder isn't there, i'll have a look
anyway.
Mouse speed could easily be improved on Win32. IMHO, thats not the big
problem with using CSWS. The major problem is, that CSWS offers just the
functionality required by MazeD. It is not a general purpose GUI framework
(yet).
I think, if you decide to fo for CSWS, you must be prepared to extend the
CSWS framework.
The one thing about CSWS that I dislike the most is, that it doesn't offer
the native look of the OS. I know this is a matter of personal taste, but I
like the Win32 standard dialog for opening files much more, than the one
that is provided by CSWS.

Thomas
Peter Donald
1999-12-25 00:38:44 UTC
Permalink
Hiya,
Post by Seth Galbraith
It would be cool if we could design CSWS to support 3 different
* defualt look and feel (like it currently has)
* native look and feel, standard dialogs, etc.
(reverts to default when there is no native look and feel)
* custom look and feel plug-in.
So in other words: A GUI library that supports custom look-and-feel
plugins, native look-and-feel, a default look-and-feel where
the others are unnavailable, and works in DOS, Windows, Linux, Mac, and
other platforms. I don't think anybody else has that :-)
Are you really really really sure this is a good idea ? There are libraries
out there that already parts of this functionality and what you seem to be
talking about is essentially Swing for java. It has pluggable L&F and
works on more platforms than CS uses. Wouldn't it be more worthwhile to
invest some time to place a CS renderer in side a java app. Or perhaps one
of the other libs that already do this. What you are talking about would
require a entire rewrite of csws to seperate it into a proper MVC
architecture and the seperate deleation to different renderers etc. The
swing team had between 20-40 people working on this for over 18 months to
get something similar happening and they are still fixing bugs ... is this
something you really think that is
a> possible
b> advisable
?

Pete
Peter Donald
1999-12-25 04:59:40 UTC
Permalink
Hiya,
Post by Seth Galbraith
1. Yes, There are libraries out there that have PARTS of this
functionality, but none that have ALL of the functionality. We h ave to
compare the difficulty of integrating or extending those libraries or
creating a new library that has what we need from the beginning.
2. Yes, some aspects of my idea are inspired by Swing, but Swing is for
Java, and Java is byte code. Faster native code C++ editing tools will
allow you to do more complex things faster.
yes but is it really worth it. Quark does a lot of stuff with a really
really slow langauge and still runs at quite a acceptable speed. Java is
slower than pure C++ by around a factor of 2-3 (depends on what
jvm/libraries used). All performance intensive issues would be done in
portable c/c++ so basically performance should not be the reason to discard
java. There is a whole slew of tools/demos/visualisation apps written in
combinations of c/c++ and java (usually using magician api).
Post by Seth Galbraith
Post by Peter Donald
It has pluggable L&F and works on more platforms than CS uses.
Java does not run on all of the platforms that CS does :-)
The only platform I dont know about is nextstep/openstep. Java may or may
not run on that system but depending on how close it is to unix type apps
it may be possible to use something like japhar or jvm with a few
modifications.
Post by Seth Galbraith
Post by Peter Donald
What you are talking about would require a entire rewrite of csws to
seperate it into a proper MVC architecture and the seperate deleation
to different renderers etc. The swing team had between 20-40 people
working on this for over 18 months to get something similar happening
and they are still fixing bugs ... is this something you really think
that is a> possible b> advisable ?
I am sure it is possible.
I don't know if it is adviseable.
I simply said it would be cool :-)
It would be very kewl :P

Pete
jorrit
1999-12-26 11:55:41 UTC
Permalink
Post by Peter Donald
Are you really really really sure this is a good idea ? There are libraries
out there that already parts of this functionality and what you seem to be
talking about is essentially Swing for java. It has pluggable L&F and
works on more platforms than CS uses. Wouldn't it be more worthwhile to
invest some time to place a CS renderer in side a java app. Or perhaps one
of the other libs that already do this. What you are talking about would
require a entire rewrite of csws to seperate it into a proper MVC
architecture and the seperate deleation to different renderers etc. The
swing team had between 20-40 people working on this for over 18 months to
get something similar happening and they are still fixing bugs ... is this
something you really think that is
a> possible
b> advisable
I think that:

a) CSWS is good and it is a viable GUI system for developing CS based
editing tools. I also plan to use it for a startup menu (like in Unreal
Tournament)
before the game starts.
b) Adding support for multiple look and feel is a bit overkill IMHO.
We have more important things to worry about.
c) Support for JAVA and CS is something that I at least am going to need.
So we will do this in any case at some point in time.
d) So Swing is another viable GUI for CS development tools but with one
small disadvantage: less platform support. I don't think we have Java on

DOS and NextStep and Amiga may also be problematic.

Greetings,
Peter Donald
1999-12-26 21:41:01 UTC
Permalink
Hiya,
Post by jorrit
d) So Swing is another viable GUI for CS development tools but with one
small disadvantage: less platform support. I don't think we have
Java on
Post by jorrit
DOS and NextStep and Amiga may also be problematic.
Theres java on dos. Amiga port is broken anyway ... Unknown about NextStep.

Pete
Jason Platt
1999-12-23 17:51:19 UTC
Permalink
Post by Alex C Henderson
Post by Robert S. Elsner
Post by Nicholas Blumire
There is only one major problem, how should it be made, I have
begun to use
delphi to make it really quickly but i'm getting the idea that it
would
be
Post by Robert S. Elsner
Post by Nicholas Blumire
useful for everybody if it was c++ and is gpl'ed too. Now i've
never
made
Post by Robert S. Elsner
Post by Nicholas Blumire
windows'y gui apps in c++ so I might need a little help :) What
do
people
Post by Robert S. Elsner
Post by Nicholas Blumire
surgest for me to use anyway?
and also which platforms do people want to see this on, win32 & x
windows?
Post by Robert S. Elsner
Although this may not be popular, MFC is really nice for creating
quick
and
Post by Robert S. Elsner
good looking GUIs. I also hear Borland's OWL is good, though I'm
not sure
Post by Robert S. Elsner
if they still support it.
You might want to consider doing this in Java, though. Cross
platform and
Post by Robert S. Elsner
portable. Slow, but a tool like this doesn't need megaspeed.
Anyway, just my thoughts. I can help out on Windows GUI's in MFC,
or
plain
Post by Robert S. Elsner
Win32 API if you need that. I'm interested in your work.
Thanks for your support, i'm going to go and play with mfc tonight to
see
what i can do (probably hello world appearing of hundreds of buttons
all
over my screen) I'll let you know how things are going.
Night
Nick
The problem with MFC is that it is as cross platform as microsoft
java, or you can run it on any machine as long as your using windows.
In which case why even bother changing from delphi which has the same
restriction (although I hear it's getting ported to linux).
I really suggest using the gui code that mazed does (is it in CS or
Crystal clear or???)



=====
Jason Platt.

"If you don't play the game you can never win"
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
Brett Nash
1999-12-24 12:52:57 UTC
Permalink
Post by Nicholas Blumire
I've looked into doing random generated cities but every one i've seen
before is well blocky. Daggerfall is one which I remember, a huge world,
pitty it wasn't very interesting for normal players. Yes you can get into
the game but it has never had the ability to drag people into it. I could
never decide what to do. Anyway i'm going off the point, which was random
generated cities, are you planning to be able to edit them so you can add
various unique bits here and there?
Daggerfalls problem in that respect was it was very reptitive for what
there was. Ow wow look, buiding 12, next to buiding 3... Also the
interface meant you only normally saw cities and dungeons.... (And I
personally used levitate and a horse to see as little of the cities as
possible...).

As for improving city layouts (which I'm doing some background work on
currently) I think important things to consider are makeing buildings
made of smaller componentts that fit together in a modular way. There is
no impilicit reason why building have to be sqaure in shape - Daggerfall
probably did it that way to keep hardware requiements down.

As for something to do in the game - well I pesonally found heaps to do,
however its weakness was that things quickly got repititive, there wasn't
quite enough depth to throw yourself at anything _except_ the main story
line...

Brett.
--
Brett Nash <***@nash.nu>
Quidquid latine dictum sit, altum viditur.
Seth Galbraith
1999-12-24 18:18:48 UTC
Permalink
S E C T O R T E M P L A T E S
Post by Nicholas Blumire
Arn't "things" meant for this, i've seen nothing with says "things" do this
and speed up the engine drawing tonnes of them.
I don't think thing templates can contain sectors. They can have portals,
but you also need templates for the rooms that those portals open into.

I suspect that there are some optimizations that can be done with Things.
For example, they may only be used during the creation of a Thing, so the
actual polygon information is repeated for every instance of the Thing.


C S W S
Post by Nicholas Blumire
I don't like CSWS it runs too slow on my windows system you move the mouse
to the menu and the cursor sticks for some time before going where it was
meant to. I cannot develop like that :(
CSWS needs a lot of work, that's true. One problem is that it's not used
much. New applications for it and improving the one existing application
for it will create more interest, and then it should develop into a very
nice system.
Post by Nicholas Blumire
I've never had a problem with the mouse sticking in Linux, AMDK6/400
64mb RAM, 2.2.9 kernel. I do have a problem when running in SVGAlib
mode the mouse has a resolution of about 15 pixels... ie it jumps 15
pixels and will not go in smaller increments. In X it runs fine, no
sticking, no pausing, no jumping.
Last time I tried it (quite a while ago) the same thing (15 pixel
resolution) was happening in DOS. This is something we should look into.
Post by Nicholas Blumire
The one thing about CSWS that I dislike the most is, that it doesn't
offer the native look of the OS. I know this is a matter of personal
taste, but I like the Win32 standard dialog for opening files much
more, than the one that is provided by CSWS.
It would be cool if we could design CSWS to support 3 different
"look-and-feel" settings:

* defualt look and feel (like it currently has)
* native look and feel, standard dialogs, etc.
(reverts to default when there is no native look and feel)
* custom look and feel plug-in.

So in other words: A GUI library that supports custom look-and-feel
plugins, native look-and-feel, a default look-and-feel where
the others are unnavailable, and works in DOS, Windows, Linux, Mac, and
other platforms. I don't think anybody else has that :-)
__ __ _ _ __ __
_/ \__/ \__/ Seth Galbraith "The Serpent Lord" \__/ \__/ \_
\__/ \__/ \_ ***@krl.org #2244199 on ICQ _/ \__/ \__/
_/ \__/ \__/ http://www.planetquake.com/simitar \__/ \__/ \_
jorrit
1999-12-26 12:38:09 UTC
Permalink
Post by Seth Galbraith
S E C T O R T E M P L A T E S
Post by Nicholas Blumire
Arn't "things" meant for this, i've seen nothing with says "things" do this
and speed up the engine drawing tonnes of them.
I don't think thing templates can contain sectors. They can have portals,
but you also need templates for the rooms that those portals open into.
I suspect that there are some optimizations that can be done with Things.
For example, they may only be used during the creation of a Thing, so the
actual polygon information is repeated for every instance of the Thing.
Hmm, maybe but there is surprisingly little info that you can share I think.
Lighting (which is the bulk of the information) is different if objects are
placed
somewhere else.
Post by Seth Galbraith
So in other words: A GUI library that supports custom look-and-feel
plugins, native look-and-feel, a default look-and-feel where
the others are unnavailable, and works in DOS, Windows, Linux, Mac, and
other platforms. I don't think anybody else has that :-)
Hmm, isn't look and feel a bit out of the scope of Crystal Space?

Greetings,
Jason Platt
1999-12-24 20:09:21 UTC
Permalink
Post by Nicholas Blumire
Post by Nicholas Blumire
Post by Jason Platt
If you were to use the same gui facilities that MazeD uses you
would
Post by Nicholas Blumire
Post by Jason Platt
probably fill all the requirements that you need.
The only problem i have with it is that it seems too slow under
windows on
Post by Nicholas Blumire
my system. I'm developing Cs in visual c atm so it seems mfc would
be
Post by Nicholas Blumire
quicker but if you can surgest whats wrong with my system causing
the
cursor
Post by Nicholas Blumire
to freeze and only begin to move where it was meant to a little
while
later.
Post by Nicholas Blumire
There's a doc about csws in the /docs folder isn't there, i'll have
a look
Post by Nicholas Blumire
anyway.
Mouse speed could easily be improved on Win32. IMHO, thats not the
big
problem with using CSWS. The major problem is, that CSWS offers just
the
functionality required by MazeD. It is not a general purpose GUI
framework
(yet).
I think, if you decide to fo for CSWS, you must be prepared to extend
the
CSWS framework.
The one thing about CSWS that I dislike the most is, that it doesn't
offer
the native look of the OS. I know this is a matter of personal taste,
but I
like the Win32 standard dialog for opening files much more, than the
one
that is provided by CSWS.
Thomas
Over the next little while I'm going to see what I can do with mazed
and possibly CSWS.. Shoulden't expect much as I'm a huge
procrastinator. A few of the things I want to change in it are:

- The interface, the menu items and dialogs are not intuitive (where is
view?, the functionality is else where.)
- One click should keep the menu down without holding the mouse button
down.
- The icons (for the tools), are not intuitive.. yadda yadda.
- The key interface is a pain. Imagine something like UnrealED.

Generally it's a nice start but it's mostly unuseable from a
begginers stand point.

I'll see what I can do over the next bit, but no promises.


=====
Jason Platt.

"If you don't play the game you can never win"
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
Seth Galbraith
1999-12-25 01:41:07 UTC
Permalink
Post by Peter Donald
Are you really really really sure this is a good idea ? There are libraries
out there that already parts of this functionality and what you seem to be
talking about is essentially Swing for java.
1. Yes, There are libraries out there that have PARTS of this
functionality, but none that have ALL of the functionality. We h ave to
compare the difficulty of integrating or extending those libraries or
creating a new library that has what we need from the beginning.

2. Yes, some aspects of my idea are inspired by Swing, but Swing is for
Java, and Java is byte code. Faster native code C++ editing tools will
allow you to do more complex things faster.
Post by Peter Donald
It has pluggable L&F and works on more platforms than CS uses.
Java does not run on all of the platforms that CS does :-)
Post by Peter Donald
Wouldn't it be more worthwhile to invest some time to place a CS
renderer in side a java app. Or perhaps one of the other libs that
already do this.
These are good projects anyway.
Post by Peter Donald
What you are talking about would require a entire rewrite of csws to
seperate it into a proper MVC architecture and the seperate deleation
to different renderers etc. The swing team had between 20-40 people
working on this for over 18 months to get something similar happening
and they are still fixing bugs ... is this something you really think
that is a> possible b> advisable ?
I am sure it is possible.
I don't know if it is adviseable.
I simply said it would be cool :-)
__ __ _ _ __ __
_/ \__/ \__/ Seth Galbraith "The Serpent Lord" \__/ \__/ \_
\__/ \__/ \_ ***@krl.org #2244199 on ICQ _/ \__/ \__/
_/ \__/ \__/ http://www.planetquake.com/simitar \__/ \__/ \_
Seth Galbraith
1999-12-27 10:03:32 UTC
Permalink
Post by jorrit
Post by Seth Galbraith
I suspect that there are some optimizations that can be done with Things.
For example, they may only be used during the creation of a Thing, so the
actual polygon information is repeated for every instance of the Thing.
Hmm, maybe but there is surprisingly little info that you can share I
think. Lighting (which is the bulk of the information) is different if
objects are placed somewhere else.
Not all polygons must have lightmaps. Perspective correct gouraud
polygons aree important for huge worlds. Then the storage requirements of
a Thing will be more dependent on how many times the geometry info will
have to be duplicated.

For example imagine a simple gouraud shaded box-shaped building Thing
template with 5 sides (north, south, east, west, top) and 20 vertices.
That building also has information about it's texture and texture
alignment.

Now imagine that a city has 10 or 100 instances of that generic building
scattered around. Is it really necessary to repeat that little bit of
information for each instance of the building?

Or could the differences between instances of the building be reduced to
an offset vector and a transformation matrix?
Post by jorrit
Hmm, isn't look and feel a bit out of the scope of Crystal Space?
Um ... yeah i think all that stuff is just a a *little bit* outside the
scope of CS :-) Instead perhaps the focus of CS GUI development should
be on three points:

1. low-level GUI features in CS apps (mice and other pointing devices,
2D graphics, picking, etc.)
2. CSWS development - basic high level cross platform GUI
(Maybe some minor native support like system clipboard)
3. Native GUI integration - running in a variety of windowed environments
(i.e. like using CS in a Java app.)

So aside from CSWS, which can remain on it's current development track,
the emphasis should be on working in a freindly way with outside GUI
features instead of trying to replace or encapsulate them.

P.S.

I've got 3000 rolls of toilet paper ready to wait out the Y2K apocalypse
in my bomb shelter with my trusty shotgun to fend off hippies, mutants,
and jackbooted WTO stormtroopers.

:-)
__ __ _ _ __ __
_/ \__/ \__/ Seth Galbraith "The Serpent Lord" \__/ \__/ \_
\__/ \__/ \_ ***@krl.org #2244199 on ICQ _/ \__/ \__/
_/ \__/ \__/ http://www.planetquake.com/simitar \__/ \__/ \_
Philippe Raxhon
1999-12-27 20:45:52 UTC
Permalink
Post by Seth Galbraith
Post by jorrit
Hmm, isn't look and feel a bit out of the scope of Crystal Space?
Um ... yeah i think all that stuff is just a a *little bit* outside the
scope of CS :-) Instead perhaps the focus of CS GUI development should
1. low-level GUI features in CS apps (mice and other pointing devices,
2D graphics, picking, etc.)
Could be usefull for projects like CClear or CSGame (to build menu: options, save
and and files ... ).
Post by Seth Galbraith
2. CSWS development - basic high level cross platform GUI
(Maybe some minor native support like system clipboard)
Idem, but why make a difference? One good GUI is enought. I think CSWS could
response to all the needs. It just have to be improved a bit.
Post by Seth Galbraith
3. Native GUI integration - running in a variety of windowed environments
(i.e. like using CS in a Java app.)
So aside from CSWS, which can remain on it's current development track,
the emphasis should be on working in a freindly way with outside GUI
features instead of trying to replace or encapsulate them.
P.S.
I've got 3000 rolls of toilet paper ready to wait out the Y2K apocalypse
in my bomb shelter with my trusty shotgun to fend off hippies, mutants,
and jackbooted WTO stormtroopers.
:-)
__ __ _ _ __ __
_/ \__/ \__/ Seth Galbraith "The Serpent Lord" \__/ \__/ \_
_/ \__/ \__/ http://www.planetquake.com/simitar \__/ \__/ \_
_______________________________________________
Crystal-main mailing list
http://lists.sourceforge.net/mailman/listinfo/crystal-main
Seth Galbraith
1999-12-28 21:32:05 UTC
Permalink
Post by Seth Galbraith
1. low-level GUI features in CS apps (mice and other pointing devices,
2D graphics, picking, etc.)
options, save and and files ... ).
Yes, this stuff that is already a part of the CS 2D graphics library.
(and in some cases the 3D graphics are used because of the extra special
effects - like DrawPolygonFX.)

Are there any important low level features missing from CS 2D/3D?
Post by Seth Galbraith
2. CSWS development - basic high level cross platform GUI
(Maybe some minor native support like system clipboard)
Idem, but why make a difference? One good GUI is enought. I think CSWS
could response to all the needs. It just have to be improved a bit.
There are some OS-specific things - which are probably not actually GUI
features - which would be useful to add to CS like system registry, system
clipboard, drag-n-drop, etc.

I personally like the idea of one simple GUI that is identical on all
platforms, but other people will want native look-and-feel, or they will
have a framework in place already and just want to use CS in parts of
Post by Seth Galbraith
3. Native GUI integration - running in a variety of windowed environments
(i.e. like using CS in a Java app.)
_/ \__/ \__/ Seth Galbraith "The Serpent Lord" \__/ \__/ \_
\__/ \__/ \_ ***@krl.org #2244199 on ICQ _/ \__/ \__/
_/ \__/ \__/ http://www.planetquake.com/simitar \__/ \__/ \_
Philippe Raxhon
1999-12-28 22:35:57 UTC
Permalink
Post by Seth Galbraith
Post by Seth Galbraith
1. low-level GUI features in CS apps (mice and other pointing devices,
2D graphics, picking, etc.)
options, save and and files ... ).
Yes, this stuff that is already a part of the CS 2D graphics library.
(and in some cases the 3D graphics are used because of the extra special
effects - like DrawPolygonFX.)
Are there any important low level features missing from CS 2D/3D?
Don't think so
Post by Seth Galbraith
Post by Seth Galbraith
2. CSWS development - basic high level cross platform GUI
(Maybe some minor native support like system clipboard)
Idem, but why make a difference? One good GUI is enought. I think CSWS
could response to all the needs. It just have to be improved a bit.
There are some OS-specific things - which are probably not actually GUI
features - which would be useful to add to CS like system registry, system
clipboard, drag-n-drop, etc.
You're right, it's not really GUI features.
Post by Seth Galbraith
I personally like the idea of one simple GUI that is identical on all
platforms, but other people will want native look-and-feel,
We should use a "standard" look-and-feel that is already well none by many
people. I'm thinking about Windows' look-and-feel (ctrl-c, ctrl-v, File, Edit,
...) just like some are trying to do under Linux. I don't think many people will
feel lost. But if they want to change it, they are always free to costumize it.
Post by Seth Galbraith
or they will
have a framework in place already and just want to use CS in parts of
Post by Seth Galbraith
3. Native GUI integration - running in a variety of windowed environments
(i.e. like using CS in a Java app.)
Out of the scope of CS.

My conclusion is: improvrement and use of CSWS in CS, CClear, CSGame, ...
Everywhere
Post by Seth Galbraith
_/ \__/ \__/ Seth Galbraith "The Serpent Lord" \__/ \__/ \_
_/ \__/ \__/ http://www.planetquake.com/simitar \__/ \__/ \_
_______________________________________________
Crystal-main mailing list
http://lists.sourceforge.net/mailman/listinfo/crystal-main
Seth Galbraith
1999-12-28 23:26:16 UTC
Permalink
Post by Philippe Raxhon
Post by Seth Galbraith
3. Native GUI integration - running in a variety of windowed environments
(i.e. like using CS in a Java app.)
Out of the scope of CS.
A lot of people want to use CS within Java apps or other environments
which have their own approach to GUI programming. So what I mean by item
#3 is that CS should be a well behaved guest in those contexts.
__ __ _ _ __ __
_/ \__/ \__/ Seth Galbraith "The Serpent Lord" \__/ \__/ \_
\__/ \__/ \_ ***@krl.org #2244199 on ICQ _/ \__/ \__/
_/ \__/ \__/ http://www.planetquake.com/simitar \__/ \__/ \_
Brandon Ehle
1999-12-29 22:33:19 UTC
Permalink
Post by Seth Galbraith
Post by Philippe Raxhon
Post by Seth Galbraith
3. Native GUI integration - running in a variety of windowed environments
(i.e. like using CS in a Java app.)
Out of the scope of CS.
A lot of people want to use CS within Java apps or other environments
which have their own approach to GUI programming. So what I mean by item
#3 is that CS should be a well behaved guest in those contexts.
My outtake from looking into that is that we need to split the Window Manager and
2D Rasterizer thingy into 2 seperate interfaces, such that someone can override
the default window manager and supply one that implements CS into their
application.
Philippe Raxhon
1999-12-31 09:10:17 UTC
Permalink
Post by jorrit
Post by Nicholas Blumire
But would it be worth using them for houses which might be repeated a couple
of times? I'm worried about loading times after it took me 1/2 an hour to
load my map on my system (don't ask why).
Nick
Don't worry. If you are talking about city.zip then your worries are over.
With the latest version of CS (on CVS in SourceForge) loading city.zip is
a matter of two minutes at most.
Greetings,
Where city.zip can be found?

Philippe Raxhon
Post by jorrit
_______________________________________________
Crystal-main mailing list
http://lists.sourceforge.net/mailman/listinfo/crystal-main
Nicholas Blumire
2000-01-01 16:31:51 UTC
Permalink
Post by Philippe Raxhon
Where city.zip can be found?
Have a look around my website www.empathy.hostingcheck.com, if you can't
find it there try looking in
ftp.empathy.hostingcheck.com/pub/empathy/crystal/
if you want i have a version with more textures, i haven't uploaded it yet
as i'm not sure if i'm happy with it in cs as its still not running well on
my system :(
Thomas Hieber
2000-01-02 16:21:08 UTC
Permalink
Post by Nicholas Blumire
Post by Philippe Raxhon
Where city.zip can be found?
Have a look around my website www.empathy.hostingcheck.com, if you can't
find it there try looking in
ftp.empathy.hostingcheck.com/pub/empathy/crystal/
if you want i have a version with more textures, i haven't uploaded it yet
as i'm not sure if i'm happy with it in cs as its still not running well on
my system :(
I think you should upload the most current version. This will give all the
engine people the chance to try your map, and to optimise CS to make your
map run instead of crawl.
But you should also consider to change your map. It has many open places,
that have an awsome polygon count. You can't expect CS to do miracles and
when there are several thousend polygons visible, the engine will become
slow.

You should try to make your city tighter. Give it less open spaces, make the
ways bend more often, so you can't see that far. Remove some details from
your buildings and replace these details with better textures, that have
details painted on them. Remove the windows in the upper floors and replace
them by textures showing windows. All this together should provide a
significant speedup.

Thomas
Nicholas Blumire
2000-01-02 18:13:36 UTC
Permalink
Post by Thomas Hieber
Post by Nicholas Blumire
Post by Philippe Raxhon
Where city.zip can be found?
Have a look around my website www.empathy.hostingcheck.com, if you can't
find it there try looking in
ftp.empathy.hostingcheck.com/pub/empathy/crystal/
if you want i have a version with more textures, i haven't uploaded it yet
as i'm not sure if i'm happy with it in cs as its still not running well
on
Post by Nicholas Blumire
my system :(
I think you should upload the most current version. This will give all the
engine people the chance to try your map, and to optimise CS to make your
map run instead of crawl.
But you should also consider to change your map. It has many open places,
that have an awsome polygon count. You can't expect CS to do miracles and
when there are several thousend polygons visible, the engine will become
slow.
I know its just me being lazy cs does seem to do a good job of high poly
worlds though where all other programs chug even more. I'll work on a new
version of the map this week and you all will get a post saying new improved
city map done dl it here...
Post by Thomas Hieber
You should try to make your city tighter. Give it less open spaces, make the
ways bend more often, so you can't see that far. Remove some details from
your buildings and replace these details with better textures, that have
details painted on them. Remove the windows in the upper floors and replace
them by textures showing windows. All this together should provide a
significant speedup.
I'm planning to rebuild the map completely when I decide if if i can be
bothered to learn how to use q3 radiant, as you might be able to notice the
map is just one or two houses which are placed down in a neat pattern does
anyone round here have any good resources of medevil houses? as I'm looking
for some ideas and london doesn't really have any old buildings nowdays.
I've also put up some screenshot on my website, see above for the url.
Nick
Wyatt Miler
2000-01-02 17:44:54 UTC
Permalink
Post by Nicholas Blumire
Post by Philippe Raxhon
Where city.zip can be found?
Have a look around my website www.empathy.hostingcheck.com, if you can't
find it there try looking in
ftp.empathy.hostingcheck.com/pub/empathy/crystal/
if you want i have a version with more textures, i haven't uploaded it yet
as i'm not sure if i'm happy with it in cs as its still not running well on
my system :(
When I tried to load this map, I got a whole lot of
'Duplicate vertex-index' messages. Did anybody else
run into this?

- Wyatt -
Nicholas Blumire
2000-01-02 18:16:30 UTC
Permalink
Post by Wyatt Miler
Post by Nicholas Blumire
Post by Philippe Raxhon
Where city.zip can be found?
Have a look around my website www.empathy.hostingcheck.com, if you can't
find it there try looking in
ftp.empathy.hostingcheck.com/pub/empathy/crystal/
if you want i have a version with more textures, i haven't uploaded it yet
as i'm not sure if i'm happy with it in cs as its still not running well on
my system :(
When I tried to load this map, I got a whole lot of
'Duplicate vertex-index' messages. Did anybody else
run into this?
Thats normal for the map worldcraft says the world is fine but only map2cs
will convert and allow me to run it, when i've re done it it will have no
errors (honest :) )
jorrit
2000-01-02 20:20:07 UTC
Permalink
Post by Nicholas Blumire
Post by Philippe Raxhon
Where city.zip can be found?
Have a look around my website www.empathy.hostingcheck.com, if you can't
find it there try looking in
ftp.empathy.hostingcheck.com/pub/empathy/crystal/
if you want i have a version with more textures, i haven't uploaded it yet
as i'm not sure if i'm happy with it in cs as its still not running well on
my system :(
Maybe you should post it so that I can see what is wrong with it (or most
likely with CS :-)

Greetings,
Post by Nicholas Blumire
_______________________________________________
Crystal-main mailing list
http://lists.sourceforge.net/mailman/listinfo/crystal-main
Nicholas Blumire
2000-01-02 21:56:11 UTC
Permalink
Post by jorrit
Post by Nicholas Blumire
Post by Philippe Raxhon
Where city.zip can be found?
Have a look around my website www.empathy.hostingcheck.com, if you can't
find it there try looking in
ftp.empathy.hostingcheck.com/pub/empathy/crystal/
if you want i have a version with more textures, i haven't uploaded it yet
as i'm not sure if i'm happy with it in cs as its still not running well on
my system :(
Maybe you should post it so that I can see what is wrong with it (or most
likely with CS :-)
The map is just a version of city.zip with improved textures and a few more
polys for the ground, i'll see what i can do, btw is there any good
materials around on the next with images of medievil town & citys?
Thomas Hieber
2000-01-03 08:25:39 UTC
Permalink
Post by Nicholas Blumire
Post by jorrit
Post by Nicholas Blumire
Post by Philippe Raxhon
Where city.zip can be found?
Have a look around my website www.empathy.hostingcheck.com, if you can't
find it there try looking in
ftp.empathy.hostingcheck.com/pub/empathy/crystal/
if you want i have a version with more textures, i haven't uploaded it
yet
Post by jorrit
Post by Nicholas Blumire
as i'm not sure if i'm happy with it in cs as its still not running
well
Post by Nicholas Blumire
on
Post by jorrit
Post by Nicholas Blumire
my system :(
Maybe you should post it so that I can see what is wrong with it (or most
likely with CS :-)
The map is just a version of city.zip with improved textures and a few more
polys for the ground, i'll see what i can do, btw is there any good
materials around on the next with images of medievil town & citys?
In general, I have found the Crystal Space texture archive to be a good
source for textures. You should probably give it a look.

Thomas
Nicholas Blumire
2000-01-03 19:06:13 UTC
Permalink
<snip>
Post by Thomas Hieber
In general, I have found the Crystal Space texture archive to be a good
source for textures. You should probably give it a look.
Its more a matter of what they should look like now how they will be
textured.
Thomas Hieber
2000-01-03 19:28:55 UTC
Permalink
Post by Nicholas Blumire
<snip>
Post by Thomas Hieber
In general, I have found the Crystal Space texture archive to be a good
source for textures. You should probably give it a look.
Its more a matter of what they should look like now how they will be
textured.
Excuse me, then I misunderstood you. We have some towns near, which still
have some areas that have not changed much since mediaeval times, but I
don't have any photos of these available right now.

Thomas

Seth Galbraith
2000-01-02 20:52:40 UTC
Permalink
Post by Thomas Hieber
But you should also consider to change your map. It has many open
places, that have an awsome polygon count. You can't expect CS to do
miracles and when there are several thousend polygons visible, the
engine will become slow.
Several thousand polygons is not a lot these days when a single character
may have more than a thousand.
__ __ _ _ __ __
_/ \__/ \__/ Seth Galbraith "The Serpent Lord" \__/ \__/ \_
\__/ \__/ \_ ***@krl.org #2244199 on ICQ _/ \__/ \__/
_/ \__/ \__/ http://www.planetquake.com/simitar \__/ \__/ \_
Loading...