Krzysztof Kluczek

286 posts

Krzysztof Kluczek

Krzysztof Kluczek

@KK_DMA

Independent Game Developer, active demoscener in Altair group

Gdańsk, Poland Katılım Haziran 2012
73 Takip Edilen576 Takipçiler
Krzysztof Kluczek
Krzysztof Kluczek@KK_DMA·
@sergei_am @bonzajplc Nice! Epic guys pointed us at data channels, but back then they were still in the making. But rolling own VFX still had benefits, as we can render 100 000 of different particle systems in a one Draw call, while Niagara likely would need elaborate setup for each .
English
1
1
2
882
Sergei
Sergei@sergei_am·
@bonzajplc @KK_DMA Our use case is hundreds particle effects that are made of several emmiters at various distances to the camera. Data channels and probably 2-3 cascades of Niagara for speed.
English
1
0
1
99
Michal Staniszewski
Michal Staniszewski@bonzajplc·
The reason why we have completely disabled Niagara in UE is very simple. We didn't want 10 bombs with 100000 particles each. We wanted 100000 bombs with 10 particles each. We could do it with data channels. But it really took just around 3 weeks for @KK_DMA to implement data driven, art dir controlled system that exactly does what we wanted and nothing more. We use it for all VFX effects in the game. Healing, XP, respawning you name it. It practically does not pop up in the profiler.
English
8
9
141
18.1K
Krzysztof Kluczek
Krzysztof Kluczek@KK_DMA·
Why would I implement my own VFX system in Unreal Engine from scratch? See below:
Michal Staniszewski@bonzajplc

The reason why we have completely disabled Niagara in UE is very simple. We didn't want 10 bombs with 100000 particles each. We wanted 100000 bombs with 10 particles each. We could do it with data channels. But it really took just around 3 weeks for @KK_DMA to implement data driven, art dir controlled system that exactly does what we wanted and nothing more. We use it for all VFX effects in the game. Healing, XP, respawning you name it. It practically does not pop up in the profiler.

English
0
0
8
307
ZD1908
ZD1908@ZDi____·
@valigo Highlighted is win32, from memory (haven't touched it in forever)
ZD1908 tweet media
English
4
0
55
3.9K
Valentin Ignatev
Valentin Ignatev@valigo·
Let's play a game - win32 types vs Polish language: LPCWSTR PSZCZYNA WCSLEN WCZESNY LPCTSTR BYDGOSZCZ WSTRZAS HGDIOBJ DOWOD HWINSTA DLUGOSC LPCSTR DWORD KAL LPWSTR SZCZECIN PCWSTR BLAD PUHALF CHUJ UHALF
Polski
255
931
10.7K
481.7K
Krzysztof Kluczek
Krzysztof Kluczek@KK_DMA·
@gfelisberto Updates on Dread, you mean? All the updates recently went to Patreon, but the next video is in the works, so stay tuned. :)
English
0
0
0
0
Krzysztof Kluczek
Krzysztof Kluczek@KK_DMA·
Dread FPS game for Amiga 500 and Atari ST - new episode is out! This time complete with the demo DOWNLOAD. :) (check links in video description) Have fun! :) youtube.com/watch?v=ZxhO1Z…
YouTube video
YouTube
English
5
11
47
0
Krzysztof Kluczek
Krzysztof Kluczek@KK_DMA·
@DanielWienerson Beautiful! :) It feels a bit squished, though - did you take into the account the VGA pixel aspect ratio? The original graphics used non-square pixels, so if you based on them, your voxels should be taller than cubes to get proportions right.
English
1
0
0
0
Dan Peterson
Dan Peterson@DanielWienerson·
cyberdemon days
GIF
English
17
71
549
0
Krzysztof Kluczek
Krzysztof Kluczek@KK_DMA·
@phyronnaz Any details about recruitment deadline? Haven't switched jobs for 9 years straight, so my CV is severely outdated, but this one looks really cool. :)
English
1
0
0
0
Victor Careil
Victor Careil@phyronnaz·
We're not looking for a voxel expert, so don't hesitate to apply even if you've never worked with voxels before! Experience with Unreal is appreciated but also not a requirement
English
1
1
17
0
Arnaud Carré
Arnaud Carré@leonard_coder·
@KK_DMA so it mean in your specific context the blitter could run 2x slower during this part, it won't change the global framerate? then I get it. (with nasty off, blitter will take more time. but maybe it's not an issue in your context in that part of the frame)
English
1
0
0
0
Krzysztof Kluczek
Krzysztof Kluczek@KK_DMA·
@leonard_coder The game is currently CPU bound. I might try this one day, but the thought of having 84 or 168 firing every frame scares me already.
English
1
0
0
0
Arnaud Carré
Arnaud Carré@leonard_coder·
@KK_DMA also on STE you can do line-doubling using scanline interrupt and set line modulo every other line (should be a win over blitter memcpy )
English
1
0
1
0
Krzysztof Kluczek
Krzysztof Kluczek@KK_DMA·
@leonard_coder Yes, Blitter takes some CPU cycles, but it's a performance win as CPU can already start computing the next frame. Turning nasty bit ON causes very considerable performance drop - with it CPU no longer has that head start on next frame.
English
1
0
0
0
Arnaud Carré
Arnaud Carré@leonard_coder·
@KK_DMA but blitter c2p on amiga isn't free regarding CPU right? even with nasty-mode OFF, blitter is taking CPU cycles if doing anything more complex than CLEAR. did you tried to set nasty bit? I suspect global framerate won't change a lot with nasty bit ON
English
2
0
0
0
Krzysztof Kluczek
Krzysztof Kluczek@KK_DMA·
@leonard_coder Sky bitmap is drawn as normal "ceiling" in chunky at the time of rendering the 3D. And as said above, "magic" Amiga Blitter C2P is involved. Except it's not magic, but simply shuffling bits around - always two sources, shifted, mixed with a constant mask.
English
1
0
1
0
Arnaud Carré
Arnaud Carré@leonard_coder·
@KK_DMA also maybe the sky bitmap horizontal scroll using amiga blitter. But the c2p is faster on Atari right? (using movep). Or did you used magic amiga blitter c2p?
English
1
0
1
0
Krzysztof Kluczek
Krzysztof Kluczek@KK_DMA·
@leonard_coder Yes. Line doubling kills some perf (even when on STe it uses the Blitter), but you can disable it in options choosing "Scanlines" mode. The other perf killer is chunky 2 planar, which takes minimum CPU hit on Amiga thanks to interrupt-driven Blitter.
English
1
0
0
0
Arnaud Carré
Arnaud Carré@leonard_coder·
@KK_DMA just looked at Atari version, that's awesome! Doom on Atari 8Mhz is quite something. @KK_DMA I read somewhere Amiga version is slightly faster than Atari, I'm interested to know why. My guess is doubling Y res using copper modulo (instead of memcpy lines on atari).
English
2
0
1
0
Atari Legend
Atari Legend@AtariLegend·
@KK_DMA Hey KK, you wanted help with the blitter code for the Atari STe version of Dread? Try @RetroRacing , he has done some amazing things and wants to help. I am also linking @leonard_coder , as he is (one of) the best coder(s) on the Atari ST.Hope you don't mind I put your name here.
English
1
0
3
0
Krzysztof Kluczek
Krzysztof Kluczek@KK_DMA·
@keithclarkcouk 2MB is minimum. I didn't really optimize it for size, and then SFX samples came, which take quite a bit of space. The Amiga version uses all kinds of Paula volume/pitch/retrigger tricks to reuse sample data (e.g. keycard pickups are actual melody), but STe can't do that.
English
0
0
2
0
Keith Clark
Keith Clark@keithclarkcouk·
@KK_DMA Amazing work on Dread! I tried the ST demo in an emulator but couldn't get it to start with less than 2MB RAM. Is that the minimum requirement for the ST version? If it should run in 1MB, I'll write a floppy and try in on my real 1MB STe tonight.
English
1
0
2
0
Krzysztof Kluczek
Krzysztof Kluczek@KK_DMA·
@thanius Definitely will look into it! :) I already check for trigger 50 times per second, so it should be up to 20ms, I guess.
English
0
0
0
0
Krzysztof Kluczek
Krzysztof Kluczek@KK_DMA·
@knarkowicz @TechArtAid Number of components does matter and linearly increases the computation cost, as to be expected. Virtually all GPUs now are scalar per execution thread now - because 1-component sin/cos should be four times faster than the 4-component one.
English
1
0
2
0
Krzysztof Narkowicz
Krzysztof Narkowicz@knarkowicz·
@TechArtAid GCN/RDNA cos is quarter rate and mul is full rate - so x4. Number of components doesn't matter (well, outside of some special cases). That smoothstep approximation will be slower (same reg usage, but more ALU).
English
1
0
4
0
Oskar Świerad
Oskar Świerad@TechArtAid·
Two questions about realtime shaders: -How complex is cos(x) on desktop GPUs vs a mult instruction? 8x? Does it scale linearly with # of vec components? -Hermite approx of cosine is surprisingly close. What are the cons, other than "gpu vendors optimize cos()"? Register usage?
Oskar Świerad tweet media
English
2
0
3
0