Posts

Showing posts from August, 2022

Hooray! Click+Drag! - Atomic Ivy MMO

Image
 Drag To Set Tiles - Atomic Ivy MMO -     We can now set tiles by holding down the mouse and     dragging in addition to the previous clicking method.     This is great , but it lags horribly.     Why?     Well... Every time we set ONE(1) tile we are     pushing up the entire 2048 x 2048 texture that     encodes our tilemap data.     Question : How many pixels encode a single tile?     Answer : ONE(1)     So... We are doing ( 2048 * 2048 ) more work than     what needs to be done so....     Instead of pushing up 1 pixel evey time we set a     tile we are pushing up...     4,194,304 pixels..     That's massively inefficient.     If I had a dollar for every time I wasted 4 bytes of     GPU bandwidth... Well.. I'd have 4 million dollars     per click. Better cash in on that. I need the money     to fund my really expensive beef jerky and coffee     habbit.     Luckily I am doing better than most people my age     because I stay away from avacado toast and coffee.     I know someon

It looks like we put in the NES cartridge wrong - Atomic Ivy MMO (AIM)

Image
 Corrupted NES Cartridge - Atomic Ivy MMO Things are starting to get interesting looking. Hopefully as the code base reaches some sort of "critical mass" the amount of new and interesting content I have to show will be more and more frequent. These videos are VER_013 & HOR_013 , which are short summaries of where we currently are as of video #216 in the Atomic Ivy MMO tutorial series. I am trying to be super meticulous with documentation. This is an all or nothing thing. If we make a million dollar game, people will be very interested in seeing the "how it's made" style documentary series I will put together. "INFOTAINMENT" category of youtube is the most profitable technical category, which means it is CRITICAL that I make these progress update videos every time some new and interesting development can be visually captured. We are now stamping text glyphs to the master memory. For fun. The glyph stamper was actually written so that we can create a

Tiles Of Different Sizes In Atomic Ivy MMO

Image
We can now set tiles of different sizes , 7 sizes to choose from. Quick Demo Videos The tutorial video #205 has not been uploaded at this time, but when it does it will be at the links below. We can now set tiles of different sizes. Well, technically we could before this video, but now it actually renders correctly. Doesn't matter what kind of amazing data exists if all you can render is a black screen or jumbled pixels right? The diagnostic shader is about done. Time to move onto... Save and load from database I think. If you would like to follow along , you have 3 options, however, if you are reading at the time of release of this video, the playlists MIGHT NOT EXIST YET as they are on a scheduled release schedule. But here they are: 1__MIN : www.tinyurl.com/BOMB-PLAYLIST-003   (KANJICODER) 10_MIN : www.tinyurl.com/BOOM-PLAYLIST-003   (NINJACODER) 1_HOUR : www.tinyurl.com/WEEB-PLAYLIST-003   ( WEEBCODER) -KanjiCoder

Atomic Ivy MMO - GPU Texture Sampling Math Is Wrong

Image
The tile shader in Atomic Ivy MMO has a bit of a bug in it.... One Of These Videos Is For Vertical Monitors ( or phones ). The other is for Horizontal Monitors. If you are really clever, you can turn your phone sideways to make it a horizontal monitor.     Video Footage From :     Atomic Ivy MMO Tutorial Series - Video #206     After creating a set of debug functions in our     KonamiC ( Konami Code ) system, I found that only     the "7" key resulted in any visible feedback.     The key that should have been filling EXACTLY ONE     LEVEL PACK appeared to be filling ALL NINE LEVEL PACKS.     Realizing that it was only the top corner level pack     being edited that resulted in visual feedback from     the shader, I decided to try to set tiles in the     first level pack...     Turns out...     I can only see tiles if they are set in the FIRST LEVEL     of the FIRST LEVEL PACK. We have a 3x3 grid of     levelpacks loaded into the game. Debug functions     bound to the numpad k

Atomic Ivy MMO - Alpha Compositing

Image
     Atomic Ivy MMO : ALPHA COMPOSITING! WOOOH! B_G : Geometry Tiles : The materials the world is built with. F_G : Bomb Tiles : The bombs that can blow up the world. M_G : Fada Tiles : FADA == "FlAmes and DAmage" tiles. Vertical Monitor Video ( below ) : Horizontal Monitor Video ( below ) :     We are now stacking the geometry, bomb, and fada     tiles from back to front with alpha compositing.     The results I am seeing look correct. Or in     other words, I am seeing what I expected to     see.     RED dominates because FADA tiles are rendered using     red and they are composited on top of the other     two tile types.     Upon close observation I can also see that the     most extreme inset amount is being applied to     the red fada tiles.     I am very tired and somewhat delirious.          -KanjiCoder

We Can Finally See Tiles In Atomic Ivy MMO !

Image
MVP Tile Rendering Is FINISHED! This isn't done yet. It is just enough information to see each individual tile that can exist on the tilemap. Right now we are coloring tiles based on : 1. Tile Size Exponent ( bigger tiles in background are darker ) 2. Tile Layer ( geom == green ,  bombs == blue , fada == red ) Everything you see is grey because we have binary 1 filled all the level packs, making the tile map 100% saturated. When averaging together an equal amount of red, green, and blue tiles we would expect to see grey. We now have enough information to work with to find the bug in our tile setting code. For some reason clicking to set a tile within a levelpack does __NOT__ work. It should be fixed within.... At most the next 100 videos. Pessimistally the next 10. Hopefully the next 3. The footage you are seeing right now is from video #196 of this playlist: www.tinyurl.com/BOMB-PLAYLIST-002 Vertical Monitor Video (below): Horizontal Monitor Video (below): -KanjiCoder , 2022.08.26

Atomic Ivy MMO (AIM) : Debug Levelpack Fill

Image
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 h

Atomic Ivy MMO Development Has Begun!

Image
www.tinyurl.com/BOMB-PLAYLIST-001 (For the JavaScript Tutorials) 10 years ago , I made this prototype . These are 3 render settings applied to the same multi-layer tilemap. The idea was that if we combine auto tiling with multi-layer and render modes, we can create visually interesting fully destructible geometry for a game.   But there was a problem , I wrote this in FLASH and it didn't render in realtime. In 2020 I started learning shader code and started making prototype proof of concepts. I never quite got back to here, but I got to here: I have made about 4 small proof of concepts , 1 JavaScript game attempt , and 2 C99 game attempts... So far... I haven't finished anything. I really want to make the game we made in 2012 and re-do it using what I've learned about graphics to make a destructible geometry side scroller bomberman game that PLAYS and FEELS like an old NES game , but looks a hell of a lot better. To accomplish this, I had an idea to implement a thing I call