30 August 2018, 14:22 | #141 | ||
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
Quote:
Quote:
|
||
11 December 2018, 09:13 | #142 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
Okay, so I've been toying around with ideas for the sprite rendering. The current idea I have is to use the same kind of scaling and rendering as with the walls, but instead of doing move.w for two texels, I would do move.l for a combination of texels and mask (basically t1t2m1m2).
Basically I would render a column with the cpu to a separate buffer with texels and mask, and then use the blitter to draw this onto the screen buffer. This would also give me the option of reusing the buffer when using larger scaling factors, as the same column might get repeated. |
11 December 2018, 18:13 | #143 |
Registered User
Join Date: Apr 2018
Location: UK
Posts: 487
|
Will the sprites be entirely prerendered on boot in ram for speed? Will they always be facing the player like SNES doom, or a more complex approach?
|
11 December 2018, 18:26 | #144 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
Nope, the sprites won't be prescaled as that would eat up too much memory. Haven't decided yet if they'll remain facing the player at all times, that pretty much depends on how much memory and style of gameplay.
|
12 December 2018, 17:59 | #145 |
Registered User
Join Date: Apr 2018
Location: UK
Posts: 487
|
With regards to ram and prescaling, how many colours is it running in? What are the speeds at 8colours vs. 16? How much ram is already used?
|
12 December 2018, 18:49 | #146 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
It currently runs in 16 colors (you can have a look at the previews available in this very thread). Making it run in 8 colors won't make much of a difference regarding speed as that would only affect a small portion of the c2p-routine, and would have zero impact on memory when it comes to the graphics due to the way textures and sprites are stored.
|
13 December 2018, 14:58 | #147 |
Registered User
Join Date: Apr 2018
Location: UK
Posts: 487
|
I'd go with just facing away and facing forward baddies. 1 frame on the facing away (or possibly just the head part) and 2 frames on the coming forward, DOOM style.
Would that possibly fit in to RAM prerendered? I know you have said there isn't enough RAM but have you calculated how much faster prerendered baddies would be? Even if it was only for 2MB machines? I'm just curious about the possibilities. I have been following the thread over the last year and I did try your demo and it is impressive, I just wondered about the general specs and speeds on various setups. It is fantastic you have decided to tackle this, it's one of the last great Amiga achievements. I do hope you make a boxed copy. |
13 December 2018, 16:55 | #148 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
Assuming 32 pixel wide sprites, with sprite height never exceeding the viewport and precalculating the vertical scaling, we'd get (40*40*128)/2=102400 bytes per frame. And for this to be of any use it would have to reside in chip ram so the blitter can access it. If we have the data in slow/fast ram we can as well do the scaling with the cpu as it's pretty much copyspeed anyway, and thus save a lot of memory.
|
13 December 2018, 17:39 | #149 | |
Registered User
Join Date: Dec 2017
Location: Denmark
Posts: 179
|
Quote:
Also the idea with using move.l to plot the sprite and mask, and then blit it on to the screen is pretty brilliant. btw: i love that there is some small updates in this thread. |
|
13 December 2018, 17:57 | #150 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
|
13 December 2018, 18:41 | #151 |
Registered User
Join Date: Dec 2017
Location: Denmark
Posts: 179
|
|
07 January 2019, 08:51 | #152 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
So, during the weekend I implemented sprite rendering to the engine, using the method I described earlier. For z-buffering I'm cheating a bit and only compare the sprite vs wall (or sprite vs sprite) height, instead of the actual distance, as both wall and sprite elements are 64 pixels high. This could lead to some small priority bugs if a sprite is very close to a wall, but that can be remedied by not allowing sprites too close to walls
Regarding performance I haven't done any real measurements yet, but everything was still running nicely with a few sprites on screen. Next up are all the boring bits like game logic, enemy AI, and so on. Should I maybe start a new thread for that, and only write up any possible graphical ideas and optimizations here? |
07 January 2019, 09:43 | #153 |
ex. demoscener "Bigmama"
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,624
|
|
07 January 2019, 10:31 | #154 | |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
Quote:
So yeah, I think I'll write updates here only if I come up with improvements regarding the rendering itself (and I actually have a few tricks in mind I'm going to try out). |
|
02 February 2019, 09:26 | #155 |
Registered User
Join Date: Jul 2016
Location: Sydney / London
Posts: 589
|
Just tried this on a 1000, it's astonishing how smoothly it runs, amazing work!
|
04 February 2019, 10:28 | #156 |
Registered User
Join Date: Jun 2016
Location: UK
Posts: 428
|
Any chance someone could capture and do a YouTube video?
|
04 February 2019, 12:43 | #157 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
|
04 February 2019, 13:52 | #158 |
Registered User
Join Date: Jun 2016
Location: UK
Posts: 428
|
I guess WinUAE is pretty accurate these days, in terms of cycle exact A500 speed.
|
21 April 2019, 13:27 | #159 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
Anyone interested in the current state of the game should take a look at the game dev competition at the Revision 2019 demoparty tonight
|
21 April 2019, 15:55 | #160 |
Registered User
Join Date: Apr 2018
Location: UK
Posts: 487
|
|
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 |
|
|