Inside3D!
     

Makaqu
Goto page 1, 2, 3, 4  Next
 
Post new topic   Reply to topic    Inside3d Forums Forum Index -> Engine Programming
View previous topic :: View next topic  
Author Message
mk



Joined: 04 Jul 2008
Posts: 94

PostPosted: Mon Apr 12, 2010 2:47 am    Post subject: Makaqu Reply with quote

I'm working on Makaqu, aiming for a 2.0 release.

Here's the to-do list so far, from the top of my head:
  • General stability and mod compatibility improvements.
  • Get the hardware renderer working.
  • Finish improving the controller support in Windows.
  • Proper implementation of Fightoon's features.
  • Alpha blending for BSP models.
  • Automatic generation of blendmaps.
  • 16/32 bit color software rendering.
  • 8-bit colored lighting in software.
  • 16/32 bit colored lighting in software and hardware.
  • Brown/custom colored tinting of the menu background.
  • Better support for multiple resolutions (HUD/menu/console scaling, custom screen aspect, etc.).
  • Port to flash.
  • Port to Linux.
  • Port to DOS.


And the wish list:
  • Hardware rendering on the Dreamcast.
  • Support for the Dreamcast lightgun.
  • BSP texture dithering on the software renderer.
  • WAV/MP3/OGG/FLAC/ADX streaming and CDDA replacement.
  • QuakeWorld support.
  • Port to Mac.
  • Port to Wii.
  • Port to Nintendo DS.
  • Port to PSP.


Work in progress:
[list][*]Dreamcast controller's analog stick bugfix. (untested)
[list][*]Stippled sky. (cvar & menu option left)
  • Test map.


Current changelog:


I'll keep this post updated.
_________________
Makaqu engine blog / website.

Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.


Last edited by mk on Fri Jun 04, 2010 11:22 pm; edited 3 times in total
Back to top
View user's profile Send private message
leileilol



Joined: 15 Oct 2004
Posts: 1321

PostPosted: Mon Apr 12, 2010 3:47 am    Post subject: Reply with quote

Add "Port to DOS" in there Smile

You'd have to then truncate the long filenames, cook up a make file, etc. but it's still very possible to get it into DOS no matter how advanced the engine is. Hexen II's best port had a DOS version (H2 never was a DOS game)

If you do make Dreamcast hardware support in there (SGL api) you could hack in PowerVR PCX-2 support as well even though no one uses that card but me! But if you get one of those crappy cards (Apocalypse 3Dx) and optimize for that, it'll benefit the Dreamcast as well since the chip in that is a direct successor with the same features, plus blending. Good luck turning leafs into infinite planes, though... also remember, vertex lighting will help a ****lot**** for this chipset, so you'll also have to come up with a good implementation to translate lightmap to vertex.

Forget about ADX and MP3 streaming, that's very very patented.
_________________
Back to top
View user's profile Send private message
mk



Joined: 04 Jul 2008
Posts: 94

PostPosted: Mon Apr 12, 2010 3:51 pm    Post subject: Reply with quote

The ADX support would be for the Dreamcast version, as iirc the DC hardware has some sort of decompression support for it.

Porting to DOS is a good idea, it would allow the game to run from bootable CDs or flash drives with FreeDOS installed.

leileilol wrote:
If you do make Dreamcast hardware support in there (SGL api) you could hack in PowerVR PCX-2 support as well even though no one uses that card but me! But if you get one of those crappy cards (Apocalypse 3Dx) and optimize for that, it'll benefit the Dreamcast as well since the chip in that is a direct successor with the same features, plus blending. Good luck turning leafs into infinite planes, though... also remember, vertex lighting will help a ****lot**** for this chipset, so you'll also have to come up with a good implementation to translate lightmap to vertex.

I'll keep these in mind, thanks.
_________________
Makaqu engine blog / website.

Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.
Back to top
View user's profile Send private message
frag.machine



Joined: 25 Nov 2006
Posts: 728

PostPosted: Mon Apr 12, 2010 4:14 pm    Post subject: Reply with quote

I always wanted to understand the software renderer with more depth, documenting the key portions (at least a "who-does-what" vision of the main renderer functions) would be an awesome contribution for more people work on it.
_________________
frag.machine - Q2K4 Project
http://fragmachine.quakedev.com/
Back to top
View user's profile Send private message Visit poster's website
mk



Joined: 04 Jul 2008
Posts: 94

PostPosted: Mon Apr 12, 2010 9:21 pm    Post subject: Reply with quote

BSP translucency is a pain.

Currently the BSP renderer scans and draws all opaque surfaces in one pass, and does the same for all translucent surfaces in a second pass. I've done it this way because the renderer doesn't allow BSP scanlines to overlap.

The problem with this is that since all translucent surfaces are rendered in a single second pass, they won't overlap each other, only the opaque ones. So, for example, if a portal is underwater it will be invisible when looked at from outside the water.

I've thought about using a single pass for each translucent texture's surfaces, because doing this would be faster than doing a single pass for each surface. But there would be depth problems, as surfaces with different turbulent textures could be between them.

IIRC the renderer already sorts all surfaces from back to front, so there shouldn't be any depth problems if I use a single pass for each translucent surface. However, the BSP renderer needs more optimization for this, otherwise it may suffer massive slowdowns.
_________________
Makaqu engine blog / website.

Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.
Back to top
View user's profile Send private message
Spike



Joined: 05 Nov 2004
Posts: 944
Location: UK

PostPosted: Mon Apr 12, 2010 10:36 pm    Post subject: Reply with quote

if it helps, q3 sorts by texture before depth.
_________________
What's a signature?
Back to top
View user's profile Send private message Visit poster's website
Baker



Joined: 14 Mar 2006
Posts: 1538

PostPosted: Fri Apr 16, 2010 4:54 am    Post subject: Re: Makaqu Reply with quote

mk wrote:
I'm working on Makaqu, aiming for a 2.0 release.

Here's the to-do list so far, from the top of my head:
  • General stability and mod compatibility improvements.
  • Get the hardware renderer working.
  • Finish improving the controller support in Windows.
  • Proper implementation of Fightoon's features.
  • Alpha blending for BSP models.
  • Automatic generation of blendmaps.
  • 16/32 bit color software rendering.
  • 8-bit colored lighting in software.
  • 16/32 bit colored lighting in software and hardware.
  • Brown/custom colored tinting of the menu background.
  • Better support for multiple resolutions (HUD/menu/console scaling, custom screen aspect, etc.).
  • Port to flash.
  • Port to Linux.
  • Port to DOS.


And the wish list:
  • Hardware rendering on the Dreamcast.
  • Support for the Dreamcast lightgun.
  • BSP texture dithering on the software renderer.
  • WAV/MP3/OGG/FLAC/ADX streaming and CDDA replacement.
  • QuakeWorld support.
  • Port to Mac.
  • Port to Wii.
  • Port to Nintendo DS.
  • Port to PSP.


Work in progress:
  • Dreamcast controller's analog stick bugfix (untested).


Current changelog:


I'll keep this post updated.


Awesome.

Many people would love to see a 16/32 bit software render that supports alpha transparency. It is kind of the holy grail of software renderers.
_________________
Tomorrow Never Dies. I feel this Tomorrow knocking on the door ...
Back to top
View user's profile Send private message
mk



Joined: 04 Jul 2008
Posts: 94

PostPosted: Sun May 16, 2010 6:53 pm    Post subject: Reply with quote

Currently wading through all Fightoon's and Makaqu's files...

Now that I'm working alone on Fightoon it will be a lot easier to reorganize everything. There's a lot of useless content scattered all over the place, so I'll salvage what can still be used, organize it and work from there.

Yesterday I skinned a third character that uses some previously unused animation frames. The other two still needs some recoloring.

I'm also making a test map for normal Quake, for testing engine features and catching bugs, but I'll turn it in a whole mod solely for this, complete with a custom progs.dat and whatever else it needs.
_________________
Makaqu engine blog / website.

Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.
Back to top
View user's profile Send private message
mh



Joined: 12 Jan 2008
Posts: 909

PostPosted: Sun May 16, 2010 11:49 pm    Post subject: Reply with quote

mk wrote:
I'm also making a test map for normal Quake, for testing engine features and catching bugs, but I'll turn it in a whole mod solely for this, complete with a custom progs.dat and whatever else it needs.

That would be an absolutely awesome thing to have! Very Happy
_________________
DirectQ Engine - New release 1.8.666a, 9th August 2010
MHQuake Blog (General)
Direct3D 8 Quake Engines
Back to top
View user's profile Send private message Visit poster's website
leileilol



Joined: 15 Oct 2004
Posts: 1321

PostPosted: Fri May 28, 2010 6:50 am    Post subject: Reply with quote

I get nasty crashes with 1.3 when I use the old blocky particle function (for pentium speed)

Also for 8-bit colored lighting, you might want to look at the Vavoom engine. It's a quake-based doom port that uses quake's rendering as a base and has neat stuff implmenented in 8-bit color software, and even has new ASM code for drawing colored lighting surfaces in software.
_________________
Back to top
View user's profile Send private message
R4mb0



Joined: 18 Feb 2010
Posts: 3

PostPosted: Sun May 30, 2010 12:11 pm    Post subject: Reply with quote

Good see you back on this !
Dreamcast needs a good 3D open-source engine with hardware acelaration and colored liths
something like kurok is for the psp.
You will finish Fightoon too ?
For hardware acelaration you will use D3d, open-gl or kglx ?
I have a request:
Add wad3 suport and maybe hl map suport on Makaqu
Halo Solitude (quake mod) team commented that they increase the framerate and the textures color quality on psp with halflife bspīs.
For the sound a lot of the last quake-mods use mp3 for music
For sfx you can use wav-adcpm too, instead adx sound.

Good luck!
Back to top
View user's profile Send private message
mk



Joined: 04 Jul 2008
Posts: 94

PostPosted: Thu Jun 03, 2010 7:21 pm    Post subject: Reply with quote

I've actually been thinking that one of the best things that could be done to this engine would be adding support for a skeletal model format.

Fightoon suffered too damn much for the lack of this, it's excessively hard to make animated models that interpolates well. A custom skeletal model format with support for some kind of in-game editing would be the best.
leileilol wrote:
I get nasty crashes with 1.3 when I use the old blocky particle function (for pentium speed)

The old particles checks the Z-buffer depth for each pixel of the particle, so I guess they may actually be slower than the new particles, which only checks the Z-buffer depth of their center pixel.

leileilol wrote:
Also for 8-bit colored lighting, you might want to look at the Vavoom engine. It's a quake-based doom port that uses quake's rendering as a base and has neat stuff implmenented in 8-bit color software, and even has new ASM code for drawing colored lighting surfaces in software.

Depending on how similar its rendering code is, it may be useful. But I already know more or less how to get the colored lighting to work:


R4mb0 wrote:
You will finish Fightoon too ?

No, but I'll release a version with at least three characters and two stages.

In the last weeks I've been making some new content for it, and polishing what's already in there.
R4mb0 wrote:
For hardware acelaration you will use D3d, open-gl or kglx ?

OpenGL on the PC, KGL-X or whatever else works better on the Dreamcast.

R4mb0 wrote:
I have a request:
Add wad3 suport and maybe hl map suport on Makaqu
Halo Solitude (quake mod) team commented that they increase the framerate and the textures color quality on psp with halflife bspīs.
For the sound a lot of the last quake-mods use mp3 for music
For sfx you can use wav-adcpm too, instead adx sound.

Good luck!

Thanks. I can't promise anything, but I'll remember that.
_________________
Makaqu engine blog / website.

Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.
Back to top
View user's profile Send private message
frag.machine



Joined: 25 Nov 2006
Posts: 728

PostPosted: Thu Jun 03, 2010 7:55 pm    Post subject: Reply with quote

mk wrote:
leileilol wrote:
Also for 8-bit colored lighting, you might want to look at the Vavoom engine. It's a quake-based doom port that uses quake's rendering as a base and has neat stuff implmenented in 8-bit color software, and even has new ASM code for drawing colored lighting surfaces in software.

Depending on how similar its rendering code is, it may be useful. But I already know more or less how to get the colored lighting to work:


Colored lights in software Quake. This is something I never imagined I would see someday. Awesome work, mk!
_________________
frag.machine - Q2K4 Project
http://fragmachine.quakedev.com/
Back to top
View user's profile Send private message Visit poster's website
leileilol



Joined: 15 Oct 2004
Posts: 1321

PostPosted: Thu Jun 03, 2010 8:57 pm    Post subject: Reply with quote

mk wrote:
Depending on how similar its rendering code is, it may be useful.


It is similar. The rendering engine is practically Quake with only Doom file formats supported. The lighting is all lightmaps, even! It supports both static and dynamic colored lighting.

I don't like the strange additiveness of the lighting it's too Saturn Quakey (actually that is appropriate considering the intended audience is delusional DC fanboys), but I suspect you're just using addmap.lmp for that.. and that can be fixed with another lookup table blended differently.
_________________
Back to top
View user's profile Send private message
mk



Joined: 04 Jul 2008
Posts: 94

PostPosted: Sat Jun 05, 2010 4:17 pm    Post subject: Reply with quote

Exactly. As I said, I didn't figure out the full effect yet, mostly because it was just a quick experiment I did years ago.

Those screenshots are from this thread.

Right now I'm going to do some experiments with the sky renderer, there's something I want to change in it.

[edit] What I wanted was to:
- Make the lower part of the sky sphere scroll backwards.
- Flip the texture of the lower part of the sky sphere.

This should be enough to make the sky truly rotate, instead of splitting and merging into itself at the horizon.

However, I don't even know the name of the algorithm they used to draw the sky as an oval. This was the best info I could find about it, but I don't understand it yet; gotta do some more tests.

Ideally, the sky should scroll in a trajectory that reminds of the lines of a shell turned on its side (its current trajectory seems to be somewhat different to that, though I'm not sure why):



[edit 2] Opened a blog for this project: http://makaqu.tumblr.com/
_________________
Makaqu engine blog / website.

Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Inside3d Forums Forum Index -> Engine Programming All times are GMT
Goto page 1, 2, 3, 4  Next
Page 1 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2004 phpBB Group