Patch 0.1.6.0 has been released a few weeks ago. This patch introduced improved cockpits with lighting & shadowing, the hauler NPC ship ( static at the moment, but once the game becomes more mature there will be A.I. ), military bases and factories ( currently placeholders: undetailed and untex…
Hey Everybody, long time no see, Ysaneya here ! I haven't posted in the past 6 years if I count well. Most of you probably don't remember me, but the few of you who do should remember the Infinity project and how it all started back in 2005. It started with a dream, one made of stars and full of pr…
It's been many years since the release of the last video showcasing the seamless planetary engine, so I'm happy to release this new video. This is actually a video of the game client, but since there's little gameplay in it, I decided to label it as a "tech demo". It demonstrates an Earth-like plan…
Finally, the long awaited ASEToBin 1.0 has been released !
ASEToBin is a tool that is part of the I-Novae engine ( Infinity's engine ). It allows contributors and artists to export their model from 3DS Max's .ASE file format and to visualize and prepare the 3D model for integration into the game.
Thi…
ASEToBin is a tool that is part of the I-Novae engine ( Infinity's engine ). It allows contributors and artists to export their model from 3DS Max's .ASE file format and to visualize and prepare the 3D model for integration into the game.
Thi…
Logarithmic zbuffer artifacts fix
In cameni's Journal of Lethargic Programmers, I've been very interested by his idea about using a logarithmic zbuffer.
Unfortunately, his idea comes with a couple of very annoying artifacts, due to the linear interpolation of the logarithm (non-linear) based formula.…
In cameni's Journal of Lethargic Programmers, I've been very interested by his idea about using a logarithmic zbuffer.
Unfortunately, his idea comes with a couple of very annoying artifacts, due to the linear interpolation of the logarithm (non-linear) based formula.…
Tip of the day
Anybody who tried to render to a dynamic cube map probably has encountered the problem of filtering across the cube faces. Current hardware does not support filtering across different cube faces AFAIK, as it treats each cube face as an independent 2D texture (so when filtering pixels …
Anybody who tried to render to a dynamic cube map probably has encountered the problem of filtering across the cube faces. Current hardware does not support filtering across different cube faces AFAIK, as it treats each cube face as an independent 2D texture (so when filtering pixels …
In this journal, no nice pictures, sorry :) But a lot to say about various "small" tasks ( depending on your definition of small. Most of them are on the weekly scale ). Including new developments on the audio engine and particle systems.
Audio engine
As Nutritious released a new sound pack ( of an e…
Audio engine
As Nutritious released a new sound pack ( of an e…
In the past weeks, I've been focusing my efforts on the server side. A lot of things are going on, especially on the cluster architecture. But one particular area of interest is the procedural galaxy generator. In this journal, I will be speaking of the algorithm used to generate the stars and the …
In the past months, I've been wondering how to approach the problem of lighting inside hangars and on ship hulls. So far, I had only been using a single directional light: the sun. The majority of older games precompute lighting into textures ( called lightmaps ) but clearly this couldn't work well…
Many people have been worried by the lack of updates recently. No, we haven't got lazy, in fact quite the contrary :) We've been awfully busy at work.
In this journal I'm going to review some of the recent work, without going too far into details. In a future dedicated update I'll come back more ext…
In this journal I'm going to review some of the recent work, without going too far into details. In a future dedicated update I'll come back more ext…
I don't usually post concept art, but this one, made by Dr. CM Wong ( alias Koshime ) is particularly good (click on it for high-res):
It is showing a station blowing up. Another concept, showing the original station, can be seen on our forums.
You can see more of his work on his CG Portfolio
It is showing a station blowing up. Another concept, showing the original station, can be seen on our forums.
You can see more of his work on his CG Portfolio
2008 Retrospective
First of all, Happy new year 2009 !
Looking back at 2008, I can't say I'm particularly happy about how things went. There has been some serious delays on what I intended to achieve, and it's not due to a single reason, but more to various causes that accumulated and became critica…
First of all, Happy new year 2009 !
Looking back at 2008, I can't say I'm particularly happy about how things went. There has been some serious delays on what I intended to achieve, and it's not due to a single reason, but more to various causes that accumulated and became critica…
Normal maps on the GPU
In the last journal, I was explaining that one of the main benefits of working on the GPU instead of the CPU is the ability to create normal maps. Of course, it would be technically possible to generate them on the CPU too, but it would be far too costly, even with multithread…
In the last journal, I was explaining that one of the main benefits of working on the GPU instead of the CPU is the ability to create normal maps. Of course, it would be technically possible to generate them on the CPU too, but it would be far too costly, even with multithread…
GPU Planetary Generation
Motivation
Until now, the planetary generation algorithm was running on the CPU synchronously. This means that each time the camera zoomed in on the surface of the planet, each terrain node was getting split into 4 children, and a heightmap was generated synchronously for eac…
Motivation
Until now, the planetary generation algorithm was running on the CPU synchronously. This means that each time the camera zoomed in on the surface of the planet, each terrain node was getting split into 4 children, and a heightmap was generated synchronously for eac…
General progress
In the past weeks, I've been concentrating on the new website. Thanks to Amshai and Choub, the layout is pretty much finished, but a lot of components are still not yet integrated ( like the galleries, videos, forums, etc.. ). Choub is in charge of this part, so don't hesitate to ch…
In the past weeks, I've been concentrating on the new website. Thanks to Amshai and Choub, the layout is pretty much finished, but a lot of components are still not yet integrated ( like the galleries, videos, forums, etc.. ). Choub is in charge of this part, so don't hesitate to ch…
General progress
In the past two weeks, I've been working a lot on "polishing" the engine. This means investigating all sorts of bugs and problems that I had noticed, but didn't have the time to fix so far.
For example, I added support for minidumps. When the engine/program crashes, the exception get…
In the past two weeks, I've been working a lot on "polishing" the engine. This means investigating all sorts of bugs and problems that I had noticed, but didn't have the time to fix so far.
For example, I added support for minidumps. When the engine/program crashes, the exception get…
In the past weeks, I've written a story/descriptions generator for players, NPCs or even locations. Steve Breslin, our storywriter, has helped to design the system, and so will be the one to try to explain it in today's journal (in better english than I could :) ):
Introduction
As you may have heard,…
Introduction
As you may have heard,…
Meta-server
In the past 3 weeks, I've been busy working on the meta-server. The meta-server is the server on which the client is first connecting. It handles connections to the server clusters ( shards ), patches, authentication, etc.. I won't go deeply in all details, but here are the list of thing…
In the past 3 weeks, I've been busy working on the meta-server. The meta-server is the server on which the client is first connecting. It handles connections to the server clusters ( shards ), patches, authentication, etc.. I won't go deeply in all details, but here are the list of thing…
Today's a short tip of the day aimed at graphics programmers.
Most people don't realize that bilinear filtering an RGBA8 ( fixed point, 8 bits per channel ) texture results in a fixed point value.
What I mean is extremely simple. RGB8/RGBA8 textures are a standard used commonly everywhere. In shaders…
Most people don't realize that bilinear filtering an RGBA8 ( fixed point, 8 bits per channel ) texture results in a fixed point value.
What I mean is extremely simple. RGB8/RGBA8 textures are a standard used commonly everywhere. In shaders…
Many people have been asking me how the terrain texturing is implemented, so I'll make a special dev journal about it.
Sub-tiling
The whole technique is based on sub-tiling. The idea is to create a texture pack that contains N images ( also called layers or tiles ), for example for grass, rock, snow,…
Sub-tiling
The whole technique is based on sub-tiling. The idea is to create a texture pack that contains N images ( also called layers or tiles ), for example for grass, rock, snow,…
Yesterday's news was obviously an April Fool's.. But like last year, a lot of people thought it was true. I must say, posting it in the 31th didn't help, but in the GMT timezone it was near midnight and I didn't want to wait another 12h to post it, which would have been in the middle of the 1st Apr…
Unfortunately, I have a bad news to announce.
Sometimes, things that you thought would never happen, do happen. Today, I learned it the hard way.
I'm a pretty paranoid developer. I always keep 4 copies of my work, as backups, in case something happens. In the worst case, only a few days or weeks of w…
Sometimes, things that you thought would never happen, do happen. Today, I learned it the hard way.
I'm a pretty paranoid developer. I always keep 4 copies of my work, as backups, in case something happens. In the worst case, only a few days or weeks of w…
This journal will cover terrain texturing, and since I haven't taken new screenshots since the last time, it's probably going to lack nice images. But I'll explain a bit the approaches I took with terrain texturing so far, the algorithm I finally settled on, and its limitations.
If you usually don't…
If you usually don't…
No way in hell I could have done that manually, so I asked OrangyTang from gamedev.net his python script to collect all pictures posted in gamedev.net's journals, and adapted it for the contributions forum.
The result is a mega thread of 25 pages, each containing hundreds of thumbnails of pictures t…
The result is a mega thread of 25 pages, each containing hundreds of thumbnails of pictures t…
Nitpicking
- clouds don't have a coriolis effect
- no storm effect
- motion blur / bluriness in starfield
- clouds have patterns
- terrain too blue
- atmosphere too thick
- over saturation to white
- areas too sharp / contrasted
- terrain only based on altitude / too randomized
- texture pack for ship is too…
- clouds don't have a coriolis effect
- no storm effect
- motion blur / bluriness in starfield
- clouds have patterns
- terrain too blue
- atmosphere too thick
- over saturation to white
- areas too sharp / contrasted
- terrain only based on altitude / too randomized
- texture pack for ship is too…
Anti-aliasing with multiple render targets
It took me months to figure out ( of course, not full time. Just a couple of hours here and there ), but I had a serious problem to combine anti-aliasing with multiple render targets.
Inn OpenGL, it all comes down to how to make the EXT_framebuffer_object, A…
It took me months to figure out ( of course, not full time. Just a couple of hours here and there ), but I had a serious problem to combine anti-aliasing with multiple render targets.
Inn OpenGL, it all comes down to how to make the EXT_framebuffer_object, A…
Status:
First of all, a little status check. I know I haven't posted a lot of dev journals in the past 2 months, but there's a good reason for that. And it's not because I've been inactive, quite the contrary. I easily spent 80+ hours of work ( split 50/50 between normal job and Infinity work ) in t…
First of all, a little status check. I know I haven't posted a lot of dev journals in the past 2 months, but there's a good reason for that. And it's not because I've been inactive, quite the contrary. I easily spent 80+ hours of work ( split 50/50 between normal job and Infinity work ) in t…
Construction and style of asteroids
Which method ?
When making asteroids for a 3D game, an artist can spill out asteroids with three different methods. Simplest way is to model low poly asteroids and slam diffuse/bump maps on them with simple texture projections. There are two more advanced ways: di…
Which method ?
When making asteroids for a 3D game, an artist can spill out asteroids with three different methods. Simplest way is to model low poly asteroids and slam diffuse/bump maps on them with simple texture projections. There are two more advanced ways: di…
Finally, an update ? Yes and no.. the "major" thing I've been working on recently, the planetary engine, is making good progress, and I have a lot to say about it, and pics to show but.. not yet. I prefer to make sure everything is 100% running as expected before doing that, but once it'll be ready…
Screen-space ambient occlusion.
I've been experimenting a new idea for faster SSAO. To keep it short, it's a post-processing effect that only requires the depth/distance buffer. The depth buffer is blurred in a smart way ( the amount of blur is determined per-pixel, depending on the absolute depth d…
I've been experimenting a new idea for faster SSAO. To keep it short, it's a post-processing effect that only requires the depth/distance buffer. The depth buffer is blurred in a smart way ( the amount of blur is determined per-pixel, depending on the absolute depth d…
Advertisement
Popular Blogs
Advertisement