Atomic Ivy MMO (AIM) : Debug Levelpack Fill

Debug Levelpack Fill, Atomic Ivy

Video For Horizontal Monitors :



Video For Vertical Montiors :

https://youtube.com/shorts/wJe7cQaQTLg

I decided to use the "Konami Code" as an easy way to "reserve" letter keys "A" through "Z"
for debug functions. The idea is that since debug functions don't need to be accessed in
high frequency, the cost of having to press "up up , down down , left right , left right" and
THEN a letter [ A - Z ] is not a big deal.

This allows me to use normal keyboard mappings for how I want the editor and game to
work when released, but also gives me a way to have plenty of space for an easy way to
test things out and make sure they are working correctly.

Some might say "Unit Tests" are the way. But I say that... "shaders are their own unit tests".
If you have a 1,000 x 1,000 pixel image, you effectively have a realtime unit test running
1,000,000 unit tests every frame.

The current unit test I have written is :

"A" : Fills all levelpacks on "THE_DUM" with tiles of all sizes and all layers.

"B" : Empties all levelpacks on "THE_DUM"

This is accomplished by either binary 1 filling all of the levelpacks or binary 0 filling all of the
level packs. I am doing this because something is wrong with my game and I need to figure out
if the bug is in either :

1 : The Renderer
2 : The Tile Setting Logic
3 : The CPU to GPU Upload Logic

Some time has passed since I made this video and here is what I think:

1. Renderer Logic Looks Pretty Good.
2. TILE SETTING LOGIC IS TOTALLY SUS
3. GPU upload seems to work fine.

The "DUM" ( Discrete Units Map ) :

The "DUM" is the sub-section of the worldmap that has been loaded into RAM from the MMO database. We obviously cannot load all million+ levels into the game at once, so we only keep 9 level packs in memory at any given time. Each level pack contains 13 rooms. The 13 rooms exist in a 5x5 grid. 5 * 5 == 25 , but we only have 13 rooms. This is why you see this "diamond" shape. The dark red area is where the "void rooms" are. Void rooms are parts of the worldmap where levels physically cannot exist. It is not a "restriction" it is an impossibility. The data literally does not exist for them and can never exist for them. Confusing? Well, all of the data for a level pack is packed into a 512x512 grid of pixels. That is a FINITE amount of [ data / pixels ]. That finite amount of pixels, which encode bit-packed tile values , is only enough data for 13 levels.

Follow my progress on video ! You have 3 options:

ADVANCED PROGRAMMERS:
www.tinyurl.com/BOMB-PLAYLIST-001

BEGINNER + INTERMEDIATE PROGRAMMERS :
www.tinyurl.com/BOOM-PLAYLIST-001

PEOPLE WHO LIKE TO BE TORTURED:
www.tinyurl.com/WEEB-PLAYLIST-001

-KanjiCoder , 2022.08.25



Comments

Popular posts from this blog

Level Isolated Mirroring Brush

Atomic Ivy MMO - GPU Texture Sampling Math Is Wrong

Hooray! Click+Drag! - Atomic Ivy MMO