. /../A few needed questions about.../ 1
written by Batmanifestdestiny on Jun 24, 2009 04:26
Alright, if there's going to be a resurrection of Project Twilight, I need to know a few things:

1.What programming language is it in?
2.What compiler does it use?
3. Which SDK is being used?
4. Could I see the source?
5. Which libraries are needed for this?


I'm sincerely hoping that this is a C++ project, using GNU compiler, and Code::Blocks, but I'm generally wrong :/
written by Cryoburner on Jun 24, 2009 06:40
The general agreement for Twilight was to use C++, though as of yet, programming hasn't really taken off. Unless someone's been working on it in the shadows, the project to this point exists mainly as a collection of basic tech demos and a number of ideas.

Much of the initial momentum seemed to be held back by lengthy discussions regarding the basics of what 3D engine, coding style and so on to use, without much actual progress being made on the game engine itself. I suppose if someone were to start working on it now with their choice of environment and formatting, that would probably be adopted, unless it were considered worth changing for some reason. A lot of things, like the choice of 3D engine used, might have to be experimented with before a final decision can be made.

So I suppose if the community-developed Noctis project is to be reseurrected, people will actually have to code things. : )
written by Barebones on Jun 24, 2009 07:41
I've being doing some work on the surface renderer, but have still a lot of work to do before showing something minimally decent. Besides, working alone sucks.

Here is something anyone can help: how do you display a nice atmosphere around the planet? One that is not only a thin layer when seen from afar, but that grows and accompanies you as you descend to the surface? And that keeps track of the position of the sun(s), and changes color accordingly? If somebody can kick a prototype on this (with the planet painted just as a sphere, doesn't matter), on any language or technique, it would help. Preferably without eating all CPU resources, since the terrain renderer will use by far most of the available CPU.

It could be something as simple as 32 or 64 or however-many polygons in a ring around the planet, with the proper color degrade toward the outside. But calculating the proper viewing transformation matrix, or changing the color of the polygons according to the sun or suns, is not trivial. Coding demos are welcome.
goggles!
written by Albeyamakiir on Jun 24, 2009 11:08
At a distance, all you'd really need is a flat image that rotates or changes size depending on the sun and camera locations. And on which direction the camera is looking, for closer shots. I'm not sure how you'd transition to the ground, but I imagine that the sky would slowly fade from black with dots, to the atmosphere colour for the time of day. If done with a little care, I don't think you would notice the difference.

Making games is all about cheating, so I don't feel as though the atmosphere needs to be a 3d object.
written by Batmanifestdestiny on Jun 24, 2009 19:39
I'm glad that someone in the world other than me still has hopes for Project Twilight.

For the atmosphere, what I would do is set up a very thin rendering fog(and I mean VERY) and then just have a flat object above the planet with a scrolling texture of stars and stuff.
"gheeh!" (c)h.azuma
written by Yayo on Jun 25, 2009 01:24
I'm not totally sure about this, since I didn't try it, by myself, but it should be someway easy to do, using fog concept as batman said.

You would need to define for each planet the atmosphere color and its thickness.

Then you just need to shift each pixel color to the fog color according to these 3 conditions:

1_ the distance of the pixel-area-location in space from the center of the planet (more distance = less effect, with fog effect disappearing after a certain distance)
2_ the distance from the point of view (coming closer should dissolve the fog effect)
3_ the angle between the pointOfView-TO-planet line and the planetCenter-TO-pixelArea line (you should see the highest effect looking at the edge of the planet).

Amirite? Is it clear enough?

y.

EDIT: p.s. 3rd condition can be probably used also to change athmosphere color according to the sun position: calculating the angle.
written by Cryoburner on Jun 25, 2009 06:35
One idea I have would be to measure the distance of a vector passing through the atmosphere from your point of view to a given vertex, either on the terrain, or on an outer atmosphere layer. I'll provide an example in the form of a potentially obscure 2D diagram...



Using this method, you would measure the distance along your line of site between an object, such as a terrain vertex, and a sphere covering the outermost edge of the atmosphere. The final lighted and textured terrain polygon could be mixed with the atmosphere color by the opacity determined by this distance. That way, if you're looking at the surface directly below you, your line of sight will pass through the least atmosphere and the terrain might only be slightly tinted with the air's color, while if you look closer to the horizon, your view will pass through more of the atmosphere, increasing the visibility of the air color on that terrain.

The same process could be performed on the sky around the planet by rendering a polygonal sphere of varying opacity at the outer edge of the atmosphere, with only its inner faces visible. From orbit, this would only be visible between the planet's horizon and the outer atmosphere layer. Similar to the terrain coloring, you would measure the distance between a vertex of this layer and the edge of the atmosphere closest to you to determine its opacity.

As you enter the atmosphere, the sphere will cover the entire sky, and will gradually fade in behind you as the distance between you and its vertexes increases, obscuring objects outside. You will now measure distances directly from your point of view, since you are inside the atmosphere. Tinting can probably be skipped below a certain distance to improve performance rendering nearby detail objects where the changes in color will be nearly invisible anyway. Likewise, it won't be necessary to re-check the distances between you and the outer atmosphere or distant terrain vertexes every single frame when on the ground, since they are not likely to change that quickly anyway.

One other thing to keep in mind is that the atmosphere's density is not constant, and gradually fades toward its outer reaches. It might be possible to approximate this decently by dividing the atmosphere into a number of divisions at certain altitudes, and calculating how far the line of site passes through each layer. That could potentially cause banding to appear though, so some other method might be necessary to create a more realistic gradient.

I haven't yet thought in great detail about how the sun's location would affect the atmosphere's opacity, but it seems like you could measure how far the sunlight travels through the atmosphere to reach the surface. Where it travels farther through the atmosphere, the sky layer will be less opaque, and its color will be shifted. These distances could probably be precomputed and rotated to match the planet's rotation, and wouldn't likely require great detail or accuracy. It might also be best to take into account each star in a multi-star system though. These values could be written to a map, which could be used to determine the shift in color of the atmosphere near the division between night and day, and to fade the effect of the atmosphere glow on the night side. This might require some experimenting to get a good method worked out though.

Anyway, I think that's enough for now. : P
written by Batmanifestdestiny on Jun 26, 2009 00:33
Another thing to do is have the planet as a sphere(duh) but also have another, non-rendered sphere, and have common internal tangents running between the two spheres, and have enough lines going to form a 3D intersection(none of this will be visible) and plot a light source there, being fixed in space(that will be seen) and then as the planet rotates, only the areas within the tangent lines will render the star, and the rest will be the dark side.

Here's an illustration:
halp! tail!
written by Alex on Jul 01, 2009 21:33
Cryoburner said:
Much of the initial momentum seemed to be held back by lengthy discussions regarding the basics of what 3D engine, coding style and so on to use, without much actual progress being made on the game engine itself.
Sounds familiar. My own tragedy with Noctis V was mostly determined by being uncapable of sticking with linoleum's existing libraries, overall "quality", coding style, etc...

this tragedy is going to end.
I'll restart putting together gargantuan messes of hacks and shut down my internal quality control agent.
goggles!
written by Albeyamakiir on Jul 02, 2009 02:06
I kinda think the best quality control comes when you release something imperfect, and let other people find problems. The user is always more inventive at breaking things than the developer, anyway.
halp! tail!
written by Alex on Jul 02, 2009 02:31
Yeah, it sounds quite rational. But in the distorted mind of a pathological perfectionist, letting others find mistakes means you'll expose yourself to their reports, which will sound like failures. And the silly perfectionist is highly sensitive to being shown his mistakes...

it takes nothing to figure it's an illogical behavior, but not for the perfectionist in person: because in such cases you can't admit to yourself you're being an idiot.
written by Barebones on Jul 02, 2009 07:49
Alex said:
[Somehow try to] shut down my internal quality control agent.
The story of my life. But mostly on subjects other than computers.
written by Batmanifestdestiny on Jul 03, 2009 15:53
3 things:

1.Okay! When I get the time, I'll try to work more on my C++ skills and perhaps release soemthing!
2.So.....Alex.....is that a message saying you're going to work on NV?
3.I understand you're perfectionist ways. I mod things like Wolfenstein 3D, and I'm OCD about textures and whatnot.
halp! tail!
written by Alex on Jul 03, 2009 16:59
Batmanifestdestiny said:
2.So.....Alex.....is that a message saying you're going to work on NV?
Yes, definitely. Most importantly, in my own natural way, no longer planning this and that forever... just like when Postline was born. I later cleaned up its code a bit, but... really, Postline was fully functional in less than a month, when I started it in... the spring of 2003, if I'm correct.
written by Batmanifestdestiny on Jul 04, 2009 16:15
Alex said:
Batmanifestdestiny said:
2.So.....Alex.....is that a message saying you're going to work on NV?
Yes, definitely. Most importantly, in my own natural way, no longer planning this and that forever... just like when Postline was born. I later cleaned up its code a bit, but... really, Postline was fully functional in less than a month, when I started it in... the spring of 2003, if I'm correct.
That's some of the best news ever!

That means that some time I'll be able to play Noctis without having to boot up DOS(since I've already replaced my DOS boot with Linux ) AND it'll have the same starmap as everyone else!
reading this thread
no members are reading this thread
. /../A few needed questions about.../ 1
43345, 14 queries, 0.140 s.this frame is part of the AnyNowhere network