03 October 2019, 10:49 | #181 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,291
|
@KK/Altair
Since in a game like Wolf3d walls are fixed as real size to positions, you can prerotate one blocks, and in realtime, you have only to put into right position. Example: I've used wall as 64*64 unit, so I prerotated them into a table, then in realtime, I pick-up the right angle based upon Camera rotation. To have the right position on screen I did this: Just rotated walls' pos and voilĂ ! I think I can even precalculate it. About Projection, I maybe we can use 1/z to do One Divs and 2 muls, instead 2 divs. I'm still try to figure out if is it possible to use interleaved bitplanes, since they are some sort of y-chunky, and if we can precalculate texture by 16 pixel to make them blitter friendly Last edited by sandruzzo; 03 October 2019 at 11:12. |
03 October 2019, 11:26 | #182 | |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
Quote:
|
|
03 October 2019, 11:43 | #183 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,291
|
|
03 October 2019, 11:47 | #184 | |
Registered User
Join Date: Jul 2015
Location: Novi Sad, Serbia
Posts: 1,646
|
Quote:
@Britelite Your Wolf3D engine is also amazing. Please, keep it up. |
|
05 October 2019, 23:17 | #185 | |
Registered User
Join Date: Oct 2019
Location: Spain
Posts: 35
|
Quote:
The only "flaw" I see in your engine is that colors don't certainly look very good (yet), so I would like to ask if you considered HAM mode. I know it may sound crazy, but according to this dev: [ Show youtube player ] [ Show youtube player ] His engine didn't get slower because of it being in HAM8 , but because it's in hi-res (you can check in the comments of the second video) And this one (althought probably in lower resolution) seems to work quick on a stock 1200 [ Show youtube player ]. And different question: if you are managing polygons, would the engine be capable of showing something similar to quake? (imagine it aplying the same kind of restrictions you are using right now for sizes, visualization, light, etc...) |
|
06 October 2019, 20:47 | #186 | |
Registered User
Join Date: Jul 2015
Location: Novi Sad, Serbia
Posts: 1,646
|
Quote:
It would be cool that kind of style, for some fantasy rpg game, but for the doom/ marine, military style, I rather go with that gray, metal look... looks more serious. He is using that graphics, just as a temporary texture assets, thou. I really hope the final textures will look similar as this one he already using, because I really like the look. |
|
07 October 2019, 00:01 | #187 |
Registered User
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 1,987
|
|
07 October 2019, 02:26 | #188 |
Registered User
Join Date: May 2018
Location: Ireland
Posts: 674
|
|
08 October 2019, 20:40 | #189 | ||||||
Registered User
Join Date: Sep 2019
Location: Gdansk / Poland
Posts: 134
|
Quote:
Quote:
But note that I didn't make the assets nor didn't put extreme efforts into conversion, so there certainly are people around that would do much better job at this (and I'd love to let them, as soon as the game starts being moddable). Quote:
Quote:
But feature-wise, angled ceilings and floors are not out of question (but still flat-shaded). Quote:
Quote:
|
||||||
09 October 2019, 13:31 | #190 |
Registered User
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 1,153
|
If you did want to pursue this at some point in the future, there's a quirk in the non-AGA Amiga chipset where if you set the number of bitplanes to 7, DMA fetches only four planes but Denise behaves as though six are active. This means it's possible to have a fixed repeating pattern loaded into BPL[5|6]DAT registers (setting the HAM control bits to, for example, R G B G R G B G) but with the same performance as a four bitplane display. It doesn't work on AGA, but on AGA cranking up the fetchmode solves the bandwidth problem anyway.
|
09 October 2019, 15:47 | #191 | |
Registered User
Join Date: Dec 2014
Location: germany
Posts: 439
|
Quote:
I have attached some test images. The method I've used is very quick and dirty: Convert the image to 16 colors (I've used just Gimp without any tweaking, no dithering), use that for the even pixel (R_16, G_16, B_16), compute the error for the green channel and change the odd pixel's green value G' so that the average of those two pixel's greens equals the original one G_original: Code:
G' = 2*G_original - G_16 (check for zero and 0xF) There's a lot of possible improvements to this very simple algorithm, but I thought I just share those results. Some examples show very noticeable color artifacts (green/purple mostly) that could be reduced with some smarter algorithm, e.g. introducing a hue threshold. Also choosing the 16 color base palette with the green modification in mind could improve image quality. Images are as following: original (160x90 without doubled pixels in x and y) and ham version (doubled in y, dithered as described in x). Both with 4 bit per color channel. Two images from the freedoom page, the ubiquitous Lenna image and an image from Big Buck Bunny. Last edited by chb; 09 October 2019 at 15:58. Reason: mixed up even and odd - first pixel has index 0. :) |
|
25 October 2019, 10:01 | #192 | |
Registered User
Join Date: Sep 2019
Location: Gdansk / Poland
Posts: 134
|
Quote:
I don't really mind the dithering artifacts, because in your images they are comparable or better to what I'm having now with just dithering the palette. The only real problem with this method is that AFAIK it won't on AGA chipsets, which would require fall back to current method... making OCS surpass AGA in image quality for the first time ever. |
|
25 October 2019, 10:07 | #193 | |
Lemon. / Core Design
Join Date: Mar 2016
Location: Tier 5
Posts: 1,212
|
Quote:
|
|
25 October 2019, 10:13 | #194 |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,474
|
|
25 October 2019, 10:17 | #195 |
Ex nihilo nihil
Join Date: Oct 2017
Location: CH
Posts: 4,883
|
@chb: the result is really cool ! Nice colour selection.
|
26 October 2019, 06:46 | #196 |
Registered User
Join Date: Jun 2010
Location: US
Posts: 111
|
KK can I ask a dumb question? And I promise this is going to be legitimately dumb so I apologize in advance: I swear I'm not trying to be a pest!
Okay, in your screenshots we can see you have variable height ceilings...but you have said the map will have fixed height floors. Could you not (depending on the room)...erm..."flip" the map so that your floor becomes the ceiling? And then have a variable height floor in some cases? |
05 November 2019, 10:10 | #197 | ||
Registered User
Join Date: Sep 2019
Location: Gdansk / Poland
Posts: 134
|
Quote:
Quote:
The problem is, though, that I have a separate line drawing function for each line mode (where line is a 2D line on the top-down map view). So, for example, one of the functions would be responsible for drawing: - Z = top ... -128 --- sky - Z = -128 ... -64 --- texture - Z = -64 ... 0 --- gap (skips this part and sets Ymin/Ymax to clip further lines) - Z = 0 ... bottom --- floor color For all possible combinations, including whether the line is first one visible (no clipping needed) and if perspective correction is on/off (I control that dynamically per-line) I have currently 50-something of such functions. Of course they are automatically generated, but the generator is already complex and adding floors would blow that to the sky... So, instead I decided that I should focus on the gameplay and return to the topic later. And in the meantime I've got idea how to handle it better and completely, so instead of just adding floors, this part is waiting for a total rewrite. But with full Z support this time. |
||
05 November 2019, 10:12 | #198 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,291
|
Just a Thought: but, by setting interleaved bitplanes, and using lines drawing with blitter, should that be fast enough for gaming?
|
05 November 2019, 21:53 | #199 |
Registered User
Join Date: Sep 2019
Location: Gdansk / Poland
Posts: 134
|
|
05 November 2019, 22:50 | #200 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,291
|
I did a test with blitter, and it's possible to do with it cp2 via line drawing. By setting interleaved bitplane you can do it. And since you can drive blitter with copper, the only thing that cpu have to do is feeding blitter register with 4, 16 colors chunky pixels!
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Amiga DRAM chip tester for HYB-514256B with Arduino UNO - Amiga 500/500+ | andy2018 | support.Hardware | 0 | 31 October 2018 21:27 |
Amiga 500 Rev.6A VS Amiga 500 Plus with 2MB chip and ACA 500 | turrican9 | support.Hardware | 0 | 24 December 2016 02:16 |
Final Fight on AMIGA 500+ (500 Plus), not 500! | padremayi | support.Games | 55 | 09 March 2016 20:39 |
Possible to port Alien Breed 3D maps to Doom? (I know AB3D has features Doom can't) | dex | Coders. General | 2 | 21 January 2012 22:06 |
GL Doom for Amiga | fitzsteve | support.Games | 1 | 09 November 2010 12:52 |
|
|