01 October 2019, 12:49 | #161 | ||||
Registered User
Join Date: Sep 2019
Location: Gdansk / Poland
Posts: 134
|
Quote:
Quote:
Quote:
My current map has 344 sectors, which get cut into 411 subsectors (if it . There are 1230 lines in the map, and up to 133 lines visible from a single point of view, but much less on average. Each subsector requires a list of visible lines, and each line on this list takes two bytes (16-bit number). Ultimately, the raw visibility data takes about 64kB. Still quite a lot, and I have plans to optimize it (e.g. by grouping lines that usually get shown together), but current solution is good enough for now. TL;DR: Thousands is something we can manage. Quote:
|
||||
02 October 2019, 18:32 | #162 | |
Registered User
Join Date: Jul 2015
Location: Novi Sad, Serbia
Posts: 1,650
|
Quote:
If polygon rendering is so much faster, why all wolf3D/Doom clones for Amiga used raycasting method? |
|
03 October 2019, 00:32 | #163 | |
Registered User
Join Date: Sep 2019
Location: Gdansk / Poland
Posts: 134
|
Quote:
One major strength with raycasting is that you don't need any visibility data, because it emerges naturally. And you need fairly good visibility information for drawing polygons. Also Wolf3D made raycasting famous, so everybody might just try it first because of that. *) I don't draw polygons as-is. They get "drawn" to a scanline buffer storing scale & texture information for each screen column. Because of that, drawing polygons is very cheap, and final pass draws only pixels really visible. |
|
03 October 2019, 08:02 | #164 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,292
|
Polygons in a game as Wolf3d, can be precalculated, so in realtime you don't need to rotate them. You can merge edge and doing stuff like this. I did some test on A500 AND they are very fast.
|
03 October 2019, 08:04 | #165 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
|
03 October 2019, 08:07 | #166 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,292
|
|
03 October 2019, 08:08 | #167 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
|
03 October 2019, 08:10 | #168 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,292
|
|
03 October 2019, 08:14 | #169 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
|
03 October 2019, 08:16 | #170 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,292
|
|
03 October 2019, 08:18 | #171 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
|
03 October 2019, 08:22 | #172 | |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
Quote:
EDIT: Oh, and really nice work with your game engine. It's also great to see you putting making a good game before adding tons of new features. And now I don't need to finish my wolf3d-clone |
|
03 October 2019, 08:40 | #173 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,292
|
Sorry but my idea was to do 1*1 polygons not 2*2 or worse textured...
|
03 October 2019, 08:41 | #174 |
Ex nihilo nihil
Join Date: Oct 2017
Location: CH
Posts: 4,890
|
|
03 October 2019, 08:48 | #175 | |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
Quote:
Fortunately while the two games will kind of look similar (with KK's of course looking more advanced), the approaches are way different, which still makes it interesting for me to try out some ideas. And will probably also make for two games with quite a different feel and gameplay. |
|
03 October 2019, 08:51 | #176 |
Ex nihilo nihil
Join Date: Oct 2017
Location: CH
Posts: 4,890
|
^
|
03 October 2019, 09:20 | #177 | |||||
Registered User
Join Date: Sep 2019
Location: Gdansk / Poland
Posts: 134
|
Quote:
Quote:
Basically, for every screen column I store: - drawing scale - a 1..50 number in Wildcat, - texture & X texture coord - can be a data pointer, or just a coord (if you glue your textures together) This way polygon rendering just has to write one entry to the buffer, making overdraw negligible. Rendering order also doesn't matter, because scale is already kind of Z-buffer (bigger scale = closer object). The scale can also later be used in this matter for obstructing sprites. The pixel crunching is done in later pass. Quote:
Quote:
Too bad it didn't get more recognition at Revision. Quote:
|
|||||
03 October 2019, 09:32 | #178 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,292
|
Rotation can be precalculated as Projection. At least the latter can be very fast since you don't have a lot of them, and just by merging edge, since a lot of walls share the same. That's what I did with my tests. And even clipping can be fast since guard band clipping
|
03 October 2019, 09:32 | #179 | |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
Yeah, well we have ourselves to blame here, as the presentation wasn't really that good (for example, we forgot to add the background ambience sounds).
Quote:
|
|
03 October 2019, 10:40 | #180 | |||
Registered User
Join Date: Sep 2019
Location: Gdansk / Poland
Posts: 134
|
Quote:
Quote:
Quote:
|
|||
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 |
|
|