Andrea Lotito

13 posts

Andrea Lotito

Andrea Lotito

@AxleGear89

Beigetreten Ağustos 2024
5 Folgt55 Follower
Andrea Lotito
Andrea Lotito@AxleGear89·
@stubbertville @falco_girgis @Frogbull55 @poiitidis i did experiment with custom hands actually! Just giving priority to textures art. later on, hands upgrade won't take much~ Detailed hands eats quite some triangles too so i'd rather wait more mature builds and test them in cutscenes with multiple characters on screen on real HW!
English
0
0
1
237
Andrea Lotito
Andrea Lotito@AxleGear89·
#regta3dc @falco_girgis @Frogbull55 @poiitidis past weeks i've been (slowly) progressing on some further texture upgrades (still at original resolution, no extra files), i'm focusing on cutscene characters for now! Might play more with their brightness/contrast
Andrea Lotito tweet mediaAndrea Lotito tweet mediaAndrea Lotito tweet mediaAndrea Lotito tweet media
English
11
12
81
3.7K
Andrea Lotito
Andrea Lotito@AxleGear89·
@falco_girgis wizard man is giving Dreamcast the zoomies and that makes me happy, even if i didn't understand a thing of what he says!
English
0
0
2
132
Falco Girgis
Falco Girgis@falco_girgis·
Working on optimizing the physics engine for a high-profile "impossible" port of a AAA title to the Sega #Dreamcast and keep running into this C++ matrix transform code, implemented through operator overloading, which looks innocent and adorable... YET RUNS LIKE SHIT. So lets dive in! In the left column, you can see a snippet of high-level collision checking code, which needs to transform a series of vectors by a single matrix (in order to use the results for a later fine-grained collision check). What really matters here is the manner in which these vectors are transformed... with an overloaded multiplication operator (implemented in the top right column). What are the repercussions of doing this? Can't we still optimize it to use SIMD instructions or to go faster than doing the transformation in plain C? Sure, we can. Notice in the #else branch, I'm doing exactly that, accelerating the overloaded operator with Dreamcast SH4 SIMD code... but guess what, it's still suboptimal and is going to run like shit! Notice our usage pattern for the vector transforms... We're iterating over a series of vectors, transforming them all BY THE SAME EXACT MATRIX in a loop... So essentially, even with the fast SIMD implementation, we're forced to reload the same damn matrix every iteration of the loop just to multiply it by a single vector! How do we fix this anti-pattern? Here, I've accomplished it by separating the loading of the matrix from the transforming of the vertices... by doing that, we're able to only load the matrix a SINGLE TIME, then transform any number of vertices by it, keeping it withing registers the entire time. To generalize this pattern into a single function, favor an API in the following form over an API built around operator overloads: Transform(const Matrix& matrix, const Vector* in, Vector* out, unsigned count); This allows you to do BATCH vector transforms against a single matrix and maps much more elegantly and efficiently to SIMD code! TL;DR: BEWARE of using overloaded operators for fundamental linear algebra operations in C++! #cpp #cplusplus #gamedev
Falco Girgis tweet media
English
20
61
543
36.7K
Andrea Lotito
Andrea Lotito@AxleGear89·
for catalina i just redone the uvs and removed ugly seams, textures are actually stock! while for the mobsters suit i struggled to make them look good in my eyes in a way that doesn't look ugly when characters bends/twist their torsos "chunks"
Andrea Lotito tweet mediaAndrea Lotito tweet mediaAndrea Lotito tweet mediaAndrea Lotito tweet media
English
0
2
22
797
Andrea Lotito
Andrea Lotito@AxleGear89·
#regta3dc @falco_girgis @poiitidis i've done UVs from scratch on Claude's model and tried to squeeze as much detail i could at the original 256x256 texture size, here some footage on pc at 480p, apparently his mesh was meant to show a shirt under the jacket..?
Andrea Lotito tweet media
English
4
1
22
1.2K
Andrea Lotito
Andrea Lotito@AxleGear89·
@falco_girgis understood, thanks for the explanation! Then yeah i can see it would be overkill for gta3~
English
0
0
2
64
Falco Girgis
Falco Girgis@falco_girgis·
It would be extreeeeemely challenging to implement this kind of full-fledged dynamic lighting in GTA3 for Dreamcast... The PS2 has a vector coprocessor for accelerating this kind of math, and it's still not achieving this level of lighting in GTA3. Why's it so hard? Because once you need to apply a calculation *for every single vertex onscreen*, you've now entered what is typically the most performance-critical path on a Dreamcast game... The lighting equations must be done for every vertex onscreen, millions of times per second. Just the act of adding the extra calculations alone can be pretty heavy.... which is why the PS2 version of GTA3 uses some cheap distance-based lighting approximation while also having virtually no "point lights" which are the most expensive ones to calculate the lighting equations for... Tricks like this can definitely produce pretty good looking and mostly accurate results, and are definitely viable... actually working on it right now for DC... But there's another problem with attempting to achieve what's going on here with GTA3: the bump mapping. Bump mapping requires an extra 2-channel texture plus an extra 1-2 passes per bump mapped surface to achieve.... In a game like GTA3 where we're already extremely low on VRAM, it would be incredibly hard to pull the effect off.... Perhaps on a few "important" surfaces only in the foreground... Maybe... If there's enough VRAM left. lol.
English
1
0
9
207
Falco Girgis
Falco Girgis@falco_girgis·
More absolutely incredible dynamic lighting work from jnmartin as his #Doom 64 port continues to break new ground on the Sega #Dreamcast... He's had a long, hard, cruel road out of hell with figuring out the ins and outs of bump mapping on the DC, including learning how to work within its limitations, but I finally think everything is resolved! Not only that, but he's contributing his tool for generating Dreamcast-compatible bump map PVR textures from standard RGB888 normal maps to KallistiOS for the rest of the community to use! github.com/KallistiOS/Kal… For the latest updates and video progress, please follow jnmartin on his YT channel: youtube.com/watch?v=_qi1_f… #gamedev #retrogaming #graphics
YouTube video
YouTube
English
3
39
236
13K
Andrea Lotito
Andrea Lotito@AxleGear89·
@falco_girgis hahaha! even tho is a trippy mess now, it doesn't seems to cause any dramatic hit to performance yet, this is gonna make some very opinionated people NOT happy at all :P
English
0
0
3
99
Andrea Lotito
Andrea Lotito@AxleGear89·
@Frogbull55 i say PC, asymmetric haircut looks nicer. in wireframe the PS2 face has more interesting features (less round, more pointy)but i really don't like the final PS2 look because of how they textured her
Andrea Lotito tweet media
English
0
0
2
64
Andrea Lotito
Andrea Lotito@AxleGear89·
@falco_girgis @Jameshhoward @Frogbull55 if needed, would be possible to add more LODs in the game? or would it introduce other drawbacks? I'm thinking of PC models at average camera distance and Frogbull55 trimmed models between that and the existing game's lowpoly (and them last, like, one meter closer to camera)
English
0
0
0
89
Falco Girgis
Falco Girgis@falco_girgis·
@Frogbull55 I know you've done an analysis on that, but did you actually wind up going ahead and doing that? Personally, I don't care too much right now, man... if I'm able to look at this code and still see inefficiencies in the draw path (which I absolutely can see), then my job isn't done, and I don't yet know if we ACTUALLY need to start downgrading things. lol.
English
1
0
7
316
Falco Girgis
Falco Girgis@falco_girgis·
Just woke my sorry ass up from a code-induced coma after spending the night optimizing the rendering for #GTA3 on the Sega #Dreamcast... still have a SHITTON more code to go through, but the results are looking fantastic! Here's the second half of the opening intro! A bunch of the special effects such as screen-space bloom, spot-lights, fog, and rain have made their way onto the DC, and while it looks like there are a few graphical glitches here and there, the aesthetic of the original game is starting to be realized without impacting performance too much! I need to go approve a few PRs into the KallistiOS repository to buy us a few more KB of RAM back to ensure that a 16MB stock DC can make it this far into the intro cutscene without running out of memory, though, along with giving us the space to enable these -O3 optimizations on all builds, as they're currently an optional build flag only enabled when targeting units with the 32MB RAM expansion. Right now 16MB builds are currently only optimized at -O2, which yields a drop of maybe 3-5 FPS or so. ON IT! The rendering glitches with the spotlights are almost certainly textbook graphics pipeline state change leaks (common especially with OpenGL-style APIs which manipulate global static state), and will just take a little more sleuthing to resolve. Finally, there is still a SHITLOAD of room left for increased performance on the rendering side... I will be continuing my work there, Jaxyn will be implementing the final portion of the near-plane clipping algorithm, and our fearless leader, @poiitidis will be tackling everyone's favorite thing to ask about: audio. Thank you all so much for your continued support and for proving that, despite what you may have been told, the Sega Dreamcast is still alive and kicking! ...and maybe, just maybe, the narrative you've all been fed (and many of you are still parroting) about the DC not being able to handle this game was fake news. ;) #gamedev #retrogaming #indiegame
English
27
63
464
24.8K
Andrea Lotito
Andrea Lotito@AxleGear89·
@YTNaiAdventure @falco_girgis @poiitidis @Frogbull55 on a serious note this tickles an idea, what if REGTA3 uses xbox models for cutscenes? that would be another slap to the ps2, also in-game Claude could feat nicer hands (but still lowpoly like sonic here) rather than the weird "mittens" featured in all PS2 gta trilogy
English
0
0
0
69
Andrea Lotito
Andrea Lotito@AxleGear89·
@falco_girgis Never used twitter/X in my life before but i had to make an account just to follow this project :) I'm also shocked by the amount of butthurts about regta3, i lost count of the confidently incorrect "gotchas" that is actually tech illiterate brainrot. And it's just one month in..
English
1
0
4
107
Falco Girgis
Falco Girgis@falco_girgis·
Here's an actual hardware capture someone just sent me of our Sega #Dreamcast port of #GTA 3, running from our latest GitLab branch... and HOLY SHIT, it can handle that!? WTF!? We have only just BEGUN to bust out the big guns, and while we might not have dynamic lighting yet, we should be pushing more polygons than the PS2 was, running the game with the PC version's hugely increased draw distance... on a game we've been told for DECADES would be impossible to run on the DC!
English
23
73
475
25.7K