19 January 2018, 12:29 | #61 |
Registered User
Join Date: Dec 2017
Location: Denmark
Posts: 182
|
|
22 January 2018, 09:56 | #62 |
Inviyya Dude!
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,803
|
Just dropping by here to say, that this is quite frankly amazing what you guys are doing here...
Keep up the great work.. Add/edit: Why do you think that collissions and game logic will hit the FPS so hard? Last edited by Tigerskunk; 22 January 2018 at 10:11. |
22 January 2018, 10:49 | #63 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 823
|
|
22 January 2018, 14:48 | #64 | |
Inviyya Dude!
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,803
|
Quote:
At the moment it looks kind of amazing already, it's hard for me to imagine what's still missing except collisions and some "game" around it... |
|
22 January 2018, 16:33 | #65 |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,223
|
Ray casting is for determining line of sight for collisions and sprites overlapping and underlapping walls and other sprites.
|
22 January 2018, 16:56 | #66 | |
Registered User
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 1,162
|
Quote:
Raycasting is about figuring out which column of which wall has to be drawn at which height, for every column of pixels on the screen, which is why it's likely to be a bit of a framerate drag. It will be very interesting to see just how much! |
|
22 January 2018, 18:13 | #67 |
Registered User
Join Date: May 2010
Location: Helsinki, Finland
Posts: 1,341
|
I'm sure it's calculating them in real time, just the movement pattern is fixed instead of user controllable.
|
22 January 2018, 18:21 | #68 | ||
Registered User
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 1,162
|
Quote:
Quote:
|
||
22 January 2018, 18:22 | #69 |
Registered User
Join Date: Feb 2008
Location: Northampton/UK
Posts: 537
|
|
22 January 2018, 18:28 | #70 |
Registered User
Join Date: May 2010
Location: Helsinki, Finland
Posts: 1,341
|
Ah, okay - I interpreted that as data output from his raycaster so others don't have to code one to try improving the wall rendering portion. But I won't speculate further
|
22 January 2018, 19:14 | #71 |
Inviyya Dude!
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,803
|
Okay, thanks for the clarification, guys...
|
23 January 2018, 07:33 | #72 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 823
|
The raycasting is precalculated in the demo, as that way anyone else using the binary blob would be able to directly compare their implementation to mine (and it's easier to optimize the rendering part in general if everything else has constant cpu-usage).
|
23 January 2018, 14:39 | #73 |
Ex nihilo nihil
Join Date: Oct 2017
Location: CH
Posts: 5,130
|
Just having a little walk here with the help of the "Today's post" option.
Men ! The thread is really interesting and the engine done so far is red-hot for the A500 ... |
24 January 2018, 09:41 | #74 |
Inviyya Dude!
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,803
|
It's really amazing. Cannot believe what I am seeing running on my A500, even without the raycasting active at the moment...
Would really love to see this getting finished.. |
24 January 2018, 11:23 | #75 |
Registered User
Join Date: Jun 2016
Location: UK
Posts: 428
|
I was wondering if you could use fake scaling, like the scroll register hack method for horizontal scaling but with the CPU.
Rather than doing precise scaling you can just scale every N pixels, with a number of pre-scaled textures. That way you can use longer read/writes and save a few cycles on instruction fetch/decode. Back in the day I wanted to try doing a blitter vertical fill for the walls. That would use 1 bitplane that acted as a kind of mask. The other bitplanes would be a repeating 1 pixel high "brightness map" that made the walls fade into darkness as they got further from the player. Could even be dithered with the scroll register. |
24 January 2018, 15:22 | #76 | |
Registered User
Join Date: Dec 2017
Location: Denmark
Posts: 182
|
Quote:
But then again, to take full advantage of it, you would need several copies of the same texture in memory, which would take up to much memory at least for a game like Wolfenstein. |
|
25 January 2018, 17:01 | #77 | |
Registered User
Join Date: Jun 2016
Location: UK
Posts: 428
|
Quote:
If you want to port Wolfenstien then yeah, you can't use these tricks. But this is just Wolf-style rendering so it doesn't have to look exactly the same. You could, for example, use a 1 bitplane pre-scaled texture and then a static "noise" texture under it that wouldn't need re-rendering each frame. I'm just thinking from a demo effect perspective, how could you get as close as possible to 60 fps at high resolution (320x256). How far can you get with an A500 and things like screen mirroring and blitter fill? |
|
25 January 2018, 19:29 | #78 | |||
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 823
|
Quote:
Quote:
Quote:
|
|||
28 January 2018, 18:25 | #79 | ||
Registered User
Join Date: Dec 2017
Location: Denmark
Posts: 182
|
Quote:
and the result was an average of 9 rasterlines gained. best case from the stream gained 7 rasterline, and worst case gained 11 raster lines. Also tried this out: Quote:
So by using these two improvements the demo is now a tiny bit faster, with overall better visual quality. Last edited by LaBodilsen; 28 January 2018 at 18:32. |
||
28 January 2018, 22:12 | #80 | |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,223
|
Quote:
|
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Wolf3D on stock A500 | gururise | Retrogaming General Discussion | 9 | 08 November 2017 14:03 |
Wolf3d: more ideas. | AndNN | Coders. Asm / Hardware | 7 | 17 October 2017 13:03 |
Optimizing HAM8 renderer. | Thorham | Coders. Asm / Hardware | 5 | 22 June 2017 18:29 |
NetSurf AGA optimizing | arti | Coders. Asm / Hardware | 199 | 10 November 2013 14:36 |
rendering under wb 1.3 | _ThEcRoW | request.Apps | 2 | 02 October 2005 17:23 |
|
|