Posts

Showing posts from October, 2022

Hard Texture Upload Debugging : Atomic Ivy MMO

Image
 Hard Texture Upload Debugging www.tinyurl.com/BOMB-PLAYLIST-003 Email Me : KanjiCoder@Gmail.com Discord : KANJICODER#0255 I am making an MMO called "Atomic Ivy MMO" using Vanilla JavaScript Sub texture push is broken. It is much more noticable when I draw vertical strokes than when I draw horizontal strokes. I am making a system called "HARDTEX" for "HARD TEXture uploads". AKA: Hard refresh. I am going to make some hard refresh presets that will hopefully help me diagnose the problem. HARDTEX should __NOT__ be used during normal game execution. It is just a utility dedicated to finding a bug. But, like all things.... I am sure that if it is a permanent [fixture/system] within the code base it will eventually end up being used for something other than it's original purpose of "Debugging and Sanity Checking" stuff. -KanjiCoder

Salacious Foot Picture Loader

Image
 Salacious Foot Picture Loader www.tinyurl.com/BOMB-CODE www.tinyurl.com/BOMB-PLAYLIST-003 Introducing the only engine in the world where foot-pics are valid level data. How is this possible? Did I make a deal with Satan? Let me explain to you how it's done young padawan. All levelpacks are encoded into 512x512 .PNG files. Whenever I need a "binary file format" I always use a .PNG file. Been doing it that way for years. Because levelpacks are encoded into 512x512 .PNG files, and because WE DON'T WASTE BITS IN THIS FUCKING HOUSE. IN THIS HOUSE BE BELIEVE : BITS ARE FUCKING PREVIOUS. Well anyways, because of that, any 512x512 .PNG file is a valid level pack. It's kind of fun to just load in random images and see what happens. Follow my tutorial series! I am making a fully destructable fractal geometry side-scroller metroidvania bomberman-style game using Vanilla JavaScript ! I call it "Atomic Ivy MMO" or "AIM" for short. www.tinyurl.com/BOMB-PLAY

Loading and Saving Levelpacks Using UPNG Library

Image
Load Levels From RAM www.tinyurl.com/BOMB-CODE  www.tinyurl.com/BOMB-PLAYLIST-003 Email Me : KanjiCoder@Gmail.com Discord : KANJICODER#0255 Loading levelpacks from [ R.A.M. / RAM ] is now working. Hopefully adding the extra code to load/save from disk won't be too hard. Load/Save from the WEB will be very difficult. Ever roll your own HTTP-POST with a binary payload? I was lucky enough to find someone on stack overflow who had some example code of how to do it. Concatting array buffers for your payload is tricky. Because you need to convert the text to binary without it getting corrupted. And UTF-8 and Binary , while very similar, are not the same thing. And it's an easy mistake to make, HTTP protocol works with text payloads... And you need to pack a binary payload into the middle of a text payload. If you encode the text as UTF-8 , it will corrupt your binary payload. TL;DR : Be careful you how concat your array buffers together when creating a binary http-post request. -Kanj

The Difference Between A Normal Person And A Nerd , Examples

Image
  Difference Between A Normal Person And A Nerd , Examples I shall update this will examples as I find them. Quote At 4 minutes and 7 seconds. "I define a nerd as somebody who thinks the purpose of     " "communication is to submit your ideas to peer review.     " "And um, normal people understand that the primary purpose " "of communication is to negotiate alignment. And these     " "purposes tend to conflict. Which means nerds have to      " "learn how to interact with society at large.              " -Joscha Bach

Deploy Node.js App To Google AppEngine #1

Image
 I was using IMGUR to make a gallery for this... But imgur's auto-save feature corrupted my gallery. So now I am very paranoid about working any further in it. We are going to re-make the two galleries I have so far on[ www_imgur_com ]here in a series of two posts. Redundancy is good. ..... After trying to re-make this in blogger... I give the fuck up. I named all my images in order using numbers, yet even after alphanumerically sorting them, and batch loading the images... They end up inserted out of order... I don't know if this is worth my time... Here are the imgur galleries , I guess I'll stick with that. It's just easier to use, just the risk of "no save button" is irritating. Gallery #1: https://imgur.com/a/OyYRxBo Gallery #2: https://imgur.com/a/oKMEW8S Google searches will tell you that "firebase" is the replacement for "heroku". But digging a bit deeper... Well... it's confusing as f_u_c_k... I think.... the solution is &quo

Rotatable Auto Tiles

Image
Rotatable Auto Tiles www_tinyurl_com/BOMB-PLAYLIST-001 The engine natively rotates auto-tiles now. I am starting to wonder if google de-ranks your pages if you include "tinyurls" in them. I have the strong suspicion that IMGUR does this. As I had a much more interesting post that got only 5 views (but plastered tinyurls in it) and then another post that was more boring with 1,000+ views where I censored my tinyurls. I am thinking that either: 1. Imgur thinks my posts are spam. 2. Imgur wants to avoid promoting posts that funnel people AWAY FROM IMGUR. From what I know about "youtube's goal is to keep you on youtube" item #2 actually seems highly probable. Like, if I  had to bet... Item #2 would be it.

You've heard of "Auto Tiling" but what about "Auto Latching" ?

Image
  Auto Latching, the next advancement of Auto Tiling www.tinyurl.com/BOMB-CODE Shader 5 : No auto tiling , no auto latching. Shader 6 : Auto Tiles (verb) , but does not "Auto Latch". Shader 7 : Auto Tiling And Auto Latching are both present. I am making an MMO from complete scratch in JavaScript. Deployed to a Heroku server for the time being. But moving to google app engine soon as heroku will no longer be free in November of 2022. ALSO... This video is the first time I have showcased the "capper graphics". These capper graphics make the tiles slighly ayssmetrical by applying some details to ONLY THE TOP of our tiles. We are going to use this extra graphical detail to help us implement the "auto mirroring" bits of our auto tiling method ( AM4 ) bits. -KanjiCoder

These Groups Are Identical

Image
 These Groups Are Identical www.tinyurl.com/BOMB-CODE If these groups of tiles are identical , then how do they look different? The answer is "Auto Tiling Bits". In addition to tiles having a "tile value" , we also reserve 4 bits for a thing called the "auto tiling method". (AM4). Two of the bits in the AM4 determine if the tile will latch with it's neighbor horizontally or vertically. If both bits are turned off, the tile is unable to auto tile and is always rendered as a block. When both bits are turned on, you get your classic auto tiling effect. When only one of the bits are set (turned on) you get a striated vertical or horizontal auto-tiling effect. What does this mean for the artist ? It means the artist can draw ONE AUTO TILE SET , and re-use it 4-TIMES. 4X artwork leverage is pretty cool right? But wait... There is MORE!!! Remember I said that "AM4" is a 4 bit value? I've only mentioned what 2 of those bits do. -KanjiCoder

Auto Tiled Shader - Atomic Ivy MMO

Image
 Auto Tiled Shader - Atomic Ivy MMO www.tinyurl.com/BOMB-CODE Shader #7 looks a lot different with auto tiling applied to it. We didn't change any of the rendering code from the previous youtube #short . All we did was inject an auto tiling method bitfield equal to 0xC ( binary: 1100 ) into our tile values. Tiles with the most significant 2 auto tiling method bits set will auto tile horizontally and vertically... Let's make a truth table     AM4 BINARY[ 0 0 0 0 ] : Auto Tiles With NOTHING     AM4 BINARY[ 0 1 0 0 ] : Auto Tiles Only HORIZONTALLY     AM4 BINARY[ 1 0 0 0 ] : Auto Tiles Only VERTICALLY     AM4 BINARY[ 1 1 0 0 ] : Auto Tiles In BOTH DIRECTIONS          Don't worry about those other bits ,     we will get to those bits later.          They also do cool stuff.     -KanjiCoder

Forking Shader 7 into 7 & 8

Image
 Forking Shaders www.tinyurl.com/BOMB-CODE      Shader 7 will be the base of shader 8.     Reasoning? We are __NOT__ finished with the work     I wanted to do for shader #7 , but this looks     really cool and seems like it could be useful.     I know if visual is only accessable by turning on the     correct debug flags, it will just get burried and     forgotten about. I know from exprience.     So the visuals we currently have for shader #7     we are going to STICK with. The rest of the     work we had planned will be done in shader #8     by copying everything we have, pasting it into     shader #8 , and then diverging to two pieces     of shader code from one another.     Once we fork the two shaders , we need to remember     to make the current rendering method in shader 7     the PRODUCTION METHOD. Right now the render for     shader 7 you see in this video is from a     DEBUG BLOCK of code.     Heroku won't be free for much longer, so we might     want to halt shader 8 wor

Tile Value Block-In ( A.I.M. Dev Log )

Image
 Tile Value Block-In www.tinyurl.com/BOMB-PLAYLIST-002 I AM MAKING AN MMO FROM SCRATCH IN JAVASCRIPT!! And I document EVERY SINGLE LINE OF CODE. You think you heard me, but you didn't hear me. EVERY SINGLE LINE OF CODE is documented. I've never seen anyone document code to the level of O.C.D. that I do. Hopefully my obsession will help you understand the code to the fullest if you wish to follow along. We are blocking in the 15 non-zero tile values into groups of 3 and 5. Tiles :  1 -  5 : Shaded Red Tiles :  6 - 10 : Shaded Green Tiles : 11 - 15 : Shaded Blue Tile 0 : Signifies empty space, should be rendered transparent, but doesn't seem to do this for all tile layers. DARK TILES : Layer 0 , the geometry layer FULL SATURATION TILES : Layer 1 , the bomb layer PASTEL TILES : Layer 2 , the FADA layer FADA == Flames_And_DAmage . This layer used to animate explosions as well as used as a "damage mask" to render tiles in a destroyed state. This is the 3rd, and NOT FIN