Brahma is a 3D game engine with a rather retrofuturistic design, intended for small studios and solo developers. It's being written from scratch in C++ using standard Windows API and no third-party libraries. This technology introduces an entirely new class of low-latency real-time engines that make special timing requirements, treating frames as video fields with a target time budget of 2-4 ms each, down from 16-33 ms frame budgets normally seen in game engines. It evolves in a different way than other modern engines, rejecting conventional BSP, Z-buffer, floating-point coordinates, and most of the lame screen-space effects in favor of innovative and efficient techniques. The engine is non-Euclidean capable to some degree; also it supports true displacement mapping for sectors as a means to virtualize geometry that affects collisions. The engine is also carefully designed to be easy and convenient to develop for, yet versatile and adaptive to any needs.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Add media Report RSS Emulation of interlaced scan (288i on a 144p display) (view original)
Emulation of interlaced scan (288i on a 144p display)
embed
share
view previous next
Share Image
Share on Facebook Post Email a friend
Embed Image
Post comment Comments
SPY-maps
SPY-maps - - 2,904 comments

Never was a fan of interlacing, to me it makes images look less beautiful. But I am a tech noob, so I am not sure why you would add it. Even after reading your description on the right side; "set up the engine to make my 144 Hz display effectively work at 288 frames per second by means of interlacing."
Is it really necessary to have such high fps of 288 frames I ask myself? But again, I am a real noob when it comes to tech stuff, am more a creative (mapper) guy so to speak, lol.

All in all, admire you keep working on your engine as you do. Can only think of that it will be used at one time for delivering a great game.

Success,
Leon

Reply Good karma Bad karma+1 vote
punpcklbw Author
punpcklbw - - 42 comments

You would probably notice the difference if you saw this technique in motion. ;)
Sure it can bring some artifacts on still frames; on the other hand, the game actually becomes a lot smoother, as the stroboscopic effect associated with the limited refresh rate is greatly reduced.

There's also an experimental frame blending technique that renders the game at double the monitor refresh rate and blends two images together for display (what is effectively full-blown temporal supersampling). Interlacing just aims to achieve a similar effect with substantially less computational effort, what enables to play in 4K at 120 fps with ease, for example.

Reply Good karma+1 vote
SPY-maps
SPY-maps - - 2,904 comments

Maybe you can make another video again, your last one is from over a year ago now. Maybe it would be nice to make a new one covering all things you have done over the last year. Especially with things like this that can be noticed better in motion. But, I know, a screenshot is quickly placed. Recording and editing a video is something different hahaha. I myself still need to make for many months now, a gameplay video of map 3rd map of my new Ion Fury mod called Ion Jungle). And that when I am almost done with map4. So, I get why it takes more time and effort to make video's lol.

success,
Leon

Reply Good karma Bad karma+2 votes
punpcklbw Author
punpcklbw - - 42 comments

Yes, I was thinking of making another video lately, going through some Duke3D levels and also maps from other games such as Doom, I just need to fix a couple of issues to do justice to all the new features =P

Reply Good karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account:

Description

I've set up the engine to make my 144 Hz display effectively work at 288 frames per second by means of interlacing. As the engine is given only 3 ms for a frame to pop out, I've halved the raw image resolution for this test. However, the anti-aliasing helps keep the image clean. In fact, at framerates this high my hybrid AA algorithm renders not two (i.e. for odd and even scanlines), but as many as eight video fields consecutively, providing an eightfold increase of visible detail as compared with what would be rendered the usual way.

Interlaced scanning is not just a hacky workaround to reduce CRT flicker back in the day, but a clever trick that allows to trade some spatial resolution for improved temporal resolution and thus yields less temporal aliasing. It works even for flat panel displays that work with progressive signal, if we can accept some subtle combing. Despite the interlacing is only emulated here and the signal remains progressive, the movement appears a lot smoother since temporal aliasing is reduced twice.

Doing motion blur in games as a postprocessing effect is wrong. Sampling with smaller time intervals and rendering more frames per second that all contribute to visual output is the way to go if we're trying to make the game world feel lifelike.