{"id":1096,"date":"2025-05-08T07:20:07","date_gmt":"2025-05-08T11:20:07","guid":{"rendered":"https:\/\/kushaltimsina.com\/blog\/?p=1096"},"modified":"2025-05-08T07:25:17","modified_gmt":"2025-05-08T11:25:17","slug":"how-i-scripted-roblox-games-for-9-years-without-giving-up","status":"publish","type":"post","link":"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/","title":{"rendered":"How I Scripted Roblox Games for 9+ Years Without Giving Up"},"content":{"rendered":"\n<p>Hi! I&#8217;m Kushal.<\/p>\n\n\n\n<p>I started scripting Roblox games when I was 12 years old.<\/p>\n\n\n\n<p>In this article, you&#8217;ll learn how I was able to script Roblox games for 9+ years without giving up. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Early Beginnings<\/strong><\/h2>\n\n\n\n<p>Before I even began scripting, I had a desire to learn.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Showcase Of Dbfa Trasform &quot;Xx Mlg god Xx&quot;\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/ifj1ceelrzU?start=109&#038;feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>This desire was fueled by seeing this <a href=\"https:\/\/kushaltimsina.com\/blog\/2025\/02\/12\/how-i-got-started-with-roblox-scripting-and-how-you-can-too\/\">transformation in a Dragon Ball game on Roblox<\/a>. <\/p>\n\n\n\n<p>At the time, all I wanted was to be able to make my own awesome transformations for my own games.<\/p>\n\n\n\n<p>The Toolbox had transformation scripts too, but they weren&#8217;t very good.<\/p>\n\n\n\n<p>A lot of time, the transformation scripts on the Toolbox were extremely buggy as well. I didn&#8217;t know how to fix any of the issues that they had. <\/p>\n\n\n\n<p>I was in a battle with myself: Should I just use the toolbox to make transformations or learn to script? <\/p>\n\n\n\n<p>Using the existing transformations in the toolbox felt like I could just add them in and they&#8217;d work for my game.<\/p>\n\n\n\n<p>So, that&#8217;s what I did.<\/p>\n\n\n\n<p>I just used the toolbox.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Kushal&#8217;s First Game (2016)<\/strong><\/h2>\n\n\n\n<p>My first game (ever) on Roblox was called Dragon Ball: Ultimate Power \/ Dragon Ball: Beyond Evolution. <\/p>\n\n\n\n<p>In hindsight, I never was able to decide between the two names, so let&#8217;s just say I called it both. <\/p>\n\n\n\n<p>Lol.<\/p>\n\n\n\n<p>The intention of Dragon Ball: Ultimate Power (my game) was to create a game similar to the dragon ball game that I loved, Dragon Ball: Final Adventures. <\/p>\n\n\n\n<p>But more particularly, I wanted to create my own transformations. <\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"ROBLOX: DRAGON BALL Z FINAL ADVENTURES ALL TRANSFORMATIONS [READ DESC]\" width=\"500\" height=\"375\" src=\"https:\/\/www.youtube.com\/embed\/yJ000DnbIcA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>If you view the video above, you can see all of the transformations that Dragon Ball: Final Adventures (the game I loved) had. <\/p>\n\n\n\n<p>Sure, for today&#8217;s day and age, they seem pretty basic. <\/p>\n\n\n\n<p>But back then? <\/p>\n\n\n\n<p>That&#8217;s all I wanted to be able to script. <\/p>\n\n\n\n<p>And I wanted it <strong>badly<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Scripting Dreams<\/strong><\/h3>\n\n\n\n<p>Now, at this time, I had a friend who was <a href=\"https:\/\/kushaltimsina.com\/blog\/2025\/02\/25\/how-to-motivate-yourself-to-learn-roblox-scripting\/\">able to script his own transformations<\/a> that also heavily inspired me.<\/p>\n\n\n\n<p>This friend, however, was already so good at scripting that he could <em>already<\/em> make the entire Dragon Ball: Final Adventures game by himself.<\/p>\n\n\n\n<p>He was often in Roblox Studio making his own transformations. <\/p>\n\n\n\n<p>Every time I saw one of his own transformations, I was captivated.<\/p>\n\n\n\n<p>It was my dream to be able to have amazing transformations for my Roblox game.<\/p>\n\n\n\n<p>One day, he let me <em>have<\/em> his supreme being transformation&#8230;<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"MLG SUPREME BEING FOR MY GAME\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/AAeUU8liT_4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>At around this time, you can see that most of the features in this game were made by him. <\/p>\n\n\n\n<p>Everything else was directly from the toolbox. <\/p>\n\n\n\n<p>From looking at his scripts, I realized a few things:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>I didn&#8217;t know anything about scripting<\/li>\n\n\n\n<li>I could change some text in the script to change what my character says <\/li>\n<\/ol>\n\n\n\n<p>So, I would go ahead and try to change the text in the script to tailor his code to my game. <\/p>\n\n\n\n<p>And that&#8217;s how I began learning.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Beginning Roblox Scripting<\/strong><\/h3>\n\n\n\n<p>I was frustrated that I couldn&#8217;t change some of the things in his system without breaking it completely.<\/p>\n\n\n\n<p> Learning to script, <a href=\"https:\/\/kushaltimsina.com\/blog\/2025\/03\/26\/should-you-learn-roblox-scripting-or-use-free-models\/\">rather than using premade ones from the Toolbox<\/a>, would allow me to create my <em>own<\/em> transformations and chatting systems. I wanted <em>that<\/em> more than anything.<\/p>\n\n\n\n<p>So, I took the leap of faith and began learning scripting, with the intention of one day being able to create my own transformations. <\/p>\n\n\n\n<p>Every night, I would read a chapter of a scripting book before going to sleep.<\/p>\n\n\n\n<p>The next day, I would practice what I had learned.<\/p>\n\n\n\n<p>To learn more about this stage of my early beginnings as a scripter, <a href=\"https:\/\/kushaltimsina.com\/blog\/2025\/02\/12\/how-i-got-started-with-roblox-scripting-and-how-you-can-too\/\">please feel free to read this article<\/a>.<\/p>\n\n\n\n<p>Over time, I was able to create amazing things.<\/p>\n\n\n\n<p>Take a look at how my game, turned out:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Dragon Ball: Beyond Evolution Gameplay\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/6zmakChYH2w?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"DBUP\/DBBE Fight Showcase #1\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/5CUdPBl_Mrc?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Note: This game relied on a lot of assets from another game, called Dragon Ball: Generations (which never came out). While the systems were scripted by me, the other assets weren&#8217;t made by me.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>The End of Dragon Ball: Ultimate Power<\/strong><\/h3>\n\n\n\n<p>In my eyes, I never thought about the possibility of the game succeeding and getting constant players. <\/p>\n\n\n\n<p>There was not much of a sense of progression.<\/p>\n\n\n\n<p>So, people came, enjoyed the game, and then left.<\/p>\n\n\n\n<p>But I never viewed it as a success or failure. <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>I was just having fun creating games. There was no concept of success\/failure. I just worked on what was fun for me.<\/p>\n<\/blockquote>\n\n\n\n<p>In hindsight, I think that assigning a success\/failure mark to anything has a large effect on your motivation, as you&#8217;ll see pretty soon. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Dragon Ball: Galaxy Burst<\/strong><\/h2>\n\n\n\n<p>At this point, I had experience in developing a solo game as a 12 year old.<\/p>\n\n\n\n<p>During this time in 2016, a lot of exploits were rampant; it was pretty easy to get the source code of any Roblox game. <\/p>\n\n\n\n<p>What does a 12 year old do when he gets the source code for a game he really enjoys?<\/p>\n\n\n\n<p>He copies it!<\/p>\n\n\n\n<p>And that&#8217;s what I did, along with a bunch of friends.<\/p>\n\n\n\n<p>We had the client-sided source code of a Dragon Ball game and with my newfound scripting knowledge from my first game, I managed to reproduce the server-sided source code for a whole bunch of features.<\/p>\n\n\n\n<p>If this sounds a bit unfamiliar to you, basically, I had managed to obtain 50% of a Dragon Ball game&#8217;s code.<\/p>\n\n\n\n<p>This wasn&#8217;t enough to make the game work, though. <\/p>\n\n\n\n<p>So, I used my previous scripting knowledge to infer parts of the remaining 50% of the code.<\/p>\n\n\n\n<p>And other scripters saw my progress, they joined in. We reproduced just about all of the code, made things better, and we created Dragon Ball: Galaxy Burst, which had a maximum CCU of about 1,700 players.<\/p>\n\n\n\n<p>You can take a look at the video here.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"DBGB is worth playing\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/95hr2v-MKf0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Dragon Ball: Galaxy Burst had 1,000,000+ visits in total.<\/p>\n\n\n\n<p>Apart from working on the base server-sided stuff for the game, I also worked on new transformations, like this SSJG (super saiyan god).<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Dragon Ball Galaxy Burst SSJG Preview\" width=\"500\" height=\"375\" src=\"https:\/\/www.youtube.com\/embed\/qLPsTQcgyDI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>This was my first experience with reading other people&#8217;s code on scale (since DBGB was originally based off another dragon ball game) and working with other people.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Sword Brawl (Late 2016)<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"432\" height=\"432\" src=\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/04\/image-26.png\" alt=\"\" class=\"wp-image-1098\" srcset=\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/04\/image-26.png 432w, https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/04\/image-26-300x300.png 300w, https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/04\/image-26-150x150.png 150w\" sizes=\"auto, (max-width: 432px) 100vw, 432px\" \/><\/figure>\n\n\n\n<p>After I was finished with Dragon Ball: Galaxy Burst, I realized that I wanted to make a game of my own that received players. No copying. Just plain code.<\/p>\n\n\n\n<p>Now, instead of overthinking about what to do and doing nothing (as I&#8217;m guilty of having done recently), I assembled my team and got to work. <\/p>\n\n\n\n<p>From the work on Dragon Ball: Ultimate Power and Dragon ball: Galaxy Burst, I had attracted a few friends, and we began working. <\/p>\n\n\n\n<p>After a few months of hard work, we released the game and threw ads onto it. <\/p>\n\n\n\n<p>About 1,000 visits on my first, <em>fully original <\/em>game. <\/p>\n\n\n\n<p>Unfortunately, I don&#8217;t have any videos of this game, since it never took off.<\/p>\n\n\n\n<p>Game Link (unplayable): <a href=\"https:\/\/www.roblox.com\/games\/576301425\/ALPHA-Sword-Brawl\">https:\/\/www.roblox.com\/games\/576301425\/ALPHA-Sword-Brawl<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Pokemon: Midnight Shadow<\/strong><\/h2>\n\n\n\n<p>After my Dragon Ball saga, Sword Brawl, and countless mini projects in Studio, I discovered Pokemon, and I found myself really intrigued with it.<\/p>\n\n\n\n<p>My favorite series was definitely the Pokemon B\/W and XY series.<\/p>\n\n\n\n<p>After Sword Brawl failed, I lost the motivation I had to create games. <\/p>\n\n\n\n<p>But after discovering Pokemon, I found myself back at it, wanting to make my own Pokemon game.<\/p>\n\n\n\n<p>So, I began Pokemon: Midnight Shadow.<\/p>\n\n\n\n<p>At this time, I wasn&#8217;t aware that there were already Pokemon games on the platform, like Pokemon: Brick Bronze and Project: Pokemon.<\/p>\n\n\n\n<p>I just hopped into Studio and started scripting.<\/p>\n\n\n\n<p>I really wish I had screenshots of this game, but I unfortunately don&#8217;t.<\/p>\n\n\n\n<p>However, I managed to get animated sprites working (and, due to my lack of knowledge about Pokemon: Brick Bronze, thought it was the first game on Roblox with it), by splitting them into frames. <\/p>\n\n\n\n<p>Basically, a GIF of a pokemon is like a video that is comprised of pictures, called frames.<\/p>\n\n\n\n<p>I took the GIF and split it into however many images it was comprised of, uploaded all of them into Roblox, and played them in order, where I showed one frame at a time.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls loop src=\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/04\/darkrai-ezgif.com-gif-to-mp4-converter.mp4\"><\/video><figcaption class=\"wp-element-caption\">The Darkrai gif from pokemonshowdown.com<\/figcaption><\/figure>\n\n\n\n<p>By doing this (I was 13 at this time), I was able to achieve the illusion that a video was playing inside of Roblox Studio itself &#8211; long before <a href=\"https:\/\/create.roblox.com\/docs\/reference\/engine\/classes\/VideoFrame\">VideoFrames<\/a> came out. <\/p>\n\n\n\n<p>Later on, someone told me about Pokemon: Brick Bronze, which had already achieved this effect (albeit, using a different method).<\/p>\n\n\n\n<p>After discovering Pokemon: Brick Bronze, I stopped Pokemon Midnight Shadow. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Pokemon: Breeze<\/strong> <strong>(2017-2018)<\/strong><\/h2>\n\n\n\n<p>I played Pokemon: Brick Bronze for 1.5+ years. <\/p>\n\n\n\n<p>It was by far my favorite game on Roblox.<\/p>\n\n\n\n<p>At this time, there were a lot of copies of famous Roblox games out there; it was pretty normalized. This was long before Roblox had anything in their TOS about the intellectual property of Roblox developers, so the system was abused by a lot of people (including my unknowing young self).  <\/p>\n\n\n\n<p>I was 14 years old at this time.<\/p>\n\n\n\n<p>Long story short, I obtained my own copy of Pokemon Brick Bronze, added randomizer to the game, drove it to 12K+ CCU and millions of visits, had it taken down and reuploaded multiple times, and stopped it. <\/p>\n\n\n\n<p>Even though the copies had stopped, I silently studied every line of code inside of Pokemon: Brick Bronze for 4 years straight.<\/p>\n\n\n\n<p>I studied day and night. Everything from the infrastructure to the individual lines of code that were used with mathematics to achieve smooth effects. <\/p>\n\n\n\n<p>For Pokemon: Breeze, this was a huge necessity in order to add newer features.<\/p>\n\n\n\n<p>For those who have never seen it before, Pokemon: Brick Bronze&#8217;s codebase is <em>extremely<\/em> <em>advanced<\/em> code. <\/p>\n\n\n\n<p>I would often question &#8220;why did the developer write it this way?&#8221; <\/p>\n\n\n\n<p>Through this process of studying and reproducing extremely advanced code, I went through a metamorphosis and became an extremely advanced scripter. <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>The main lesson I took away from these experiences is that copying games yields a lot more success than starting original games. But, deep inside, I longed for an original game of my own to do well.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Pokemon: Creation of Zygarde<\/strong><\/h2>\n\n\n\n<p>After I was done with Pokemon: Breeze, I went all in on <em>Pokemon: Creation of Zygarde<\/em> (P:COZ).<\/p>\n\n\n\n<p>Pokemon: Creation of Zygarde was my original Roblox Pokemon game. <\/p>\n\n\n\n<p>At the time, the best technology in a Roblox Pokemon Game was using pixelated animated sprites, as Pokemon: Brick Bronze did.<\/p>\n\n\n\n<p>I was deeply bent on heavily improving this old technology.<\/p>\n\n\n\n<p>The PCOZ team found high definition versions of Pokemon sprites, and I wrote my own sprite rendering system to render the sprites.<\/p>\n\n\n\n<p>In the video below, you can see the HD sprites on the left, and the blurry sprites on the right. <\/p>\n\n\n\n<blockquote class=\"twitter-tweet\" data-media-max-width=\"560\"><p lang=\"en\" dir=\"ltr\">We plan on using animated sprites for our UI and 3D models for everything 3D, including battles. Left is PCOZ and right is PBB. <a href=\"https:\/\/t.co\/dZKaDy61Pa\">pic.twitter.com\/dZKaDy61Pa<\/a><\/p>&mdash; Script\ud83d\udcbb (@script_ing) <a href=\"https:\/\/twitter.com\/script_ing\/status\/1017000947590094849?ref_src=twsrc%5Etfw\">July 11, 2018<\/a><\/blockquote> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<p>Later on, we decided to use the <em>actual<\/em> <em>models<\/em> from the games themselves.<\/p>\n\n\n\n<p>This was a drastic change in the Roblox Pokemon genre, because prior to this decision, every Pokemon game had modeled their own versions of Pokemon. <\/p>\n\n\n\n<p>We were going to use the official 3D models from the game (yes, copyright, which I&#8217;ll get to pretty soon). <\/p>\n\n\n\n<p>Below, you can see the summary GUI that I was in the middle of writing the code for.<\/p>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"en\" dir=\"ltr\">Still a WIP, some text has not been changed yet but here&#39;s how it looks. <a href=\"https:\/\/t.co\/fLR66L2guA\">pic.twitter.com\/fLR66L2guA<\/a><\/p>&mdash; Script\ud83d\udcbb (@script_ing) <a href=\"https:\/\/twitter.com\/script_ing\/status\/990551884414029824?ref_src=twsrc%5Etfw\">April 29, 2018<\/a><\/blockquote> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<p>This decision to use the official 3D models from the original Pokemon games made such a significant impact in the quality of the game that it attracted 100,000+ supporters.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Modeling Technology<\/strong><\/h3>\n\n\n\n<p>Now, the original models from the Pokemon games were one large model (like one MeshPart in Roblox). <\/p>\n\n\n\n<p>This meant that animating individual parts of the Pokemon (getting the tail to move, head to move, etc.) was <em>impossible<\/em>.<\/p>\n\n\n\n<p>Roblox didn&#8217;t have mesh deformation technology at the time, so the only way to animate these Pokemon was by splitting the mesh into different parts in Blender (taking the entire Bulbasaur and turning its head into one mesh, each leg into another mesh, etc.)<\/p>\n\n\n\n<p>By doing this, we were able to animate everything.<\/p>\n\n\n\n<p>Now, the quality of our animations wasn&#8217;t as good as the professionally made versions for the original Pokemon games, because of Roblox&#8217;s lack of mesh deformation technology.<\/p>\n\n\n\n<p>But we did what we could to make it work.<\/p>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"en\" dir=\"ltr\">We are getting closer and closer to actually completing our very first 3D model! We&#39;d love to have the second one done and animated by Sunday next week. After that, I can start implementing them for battling. I will post updates frequently. Thanks for the support and patience! <a href=\"https:\/\/t.co\/1KYU8KrF8M\">pic.twitter.com\/1KYU8KrF8M<\/a><\/p>&mdash; Script\ud83d\udcbb (@script_ing) <a href=\"https:\/\/twitter.com\/script_ing\/status\/955238844382707713?ref_src=twsrc%5Etfw\">January 22, 2018<\/a><\/blockquote> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<p>I remember this day very clearly. <\/p>\n\n\n\n<p>Bulbasaur was our first model where we were able to split its parts into different limbs and animate them.<\/p>\n\n\n\n<p>Fun fact, the head animation didn&#8217;t use Roblox&#8217;s animation editor (I manually scripted the animation itself).<\/p>\n\n\n\n<p>We didn&#8217;t just stop there, either. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"642\" src=\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/04\/image-27-1024x642.png\" alt=\"\" class=\"wp-image-1101\" srcset=\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/04\/image-27-1024x642.png 1024w, https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/04\/image-27-300x188.png 300w, https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/04\/image-27-768x481.png 768w, https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/04\/image-27-1536x962.png 1536w, https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/04\/image-27-2048x1283.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Work in progress Pokemon models for Pokemon: Creation of Zygarde <\/figcaption><\/figure>\n\n\n\n<p>Within a month, we had rows of high quality Pokemon models all lined up.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Pokemon Takedowns<\/strong><\/h3>\n\n\n\n<p>Soon, Nintendo began taking down Pokemon games because every Pokemon game violated their intellectual property (IP).<\/p>\n\n\n\n<p>Pokemon: Brick Bronze was the first. <\/p>\n\n\n\n<p>Slowly, every other Pokemon game went down as well.<\/p>\n\n\n\n<p>But, that didn&#8217;t stop me, a determined 14 year old, from working on PCOZ.<\/p>\n\n\n\n<p>Through writing tens of thousands of lines of code, I eventually attained a state where our 3D models could be used inside of battles themselves, with custom camera effects, as you can see with this Latias.<\/p>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"en\" dir=\"ltr\">A glimpse of the unfinished wild battling! Something everyone will get to test prior to the game&#39;s release! <a href=\"https:\/\/t.co\/LHYVOFDRlp\">pic.twitter.com\/LHYVOFDRlp<\/a><\/p>&mdash; Script\ud83d\udcbb (@script_ing) <a href=\"https:\/\/twitter.com\/script_ing\/status\/1001250851053297670?ref_src=twsrc%5Etfw\">May 28, 2018<\/a><\/blockquote> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Animation Technology <\/strong><\/h3>\n\n\n\n<p>One problem that arose, due to Roblox&#8217;s lack of mesh deformation technology, was the inability to animate tails and curvature for models.<\/p>\n\n\n\n<p>For snake-like Pokemon, like Serperior and Rayquaza, whose animations require curvature, there was no way to get their meshes to curve. <\/p>\n\n\n\n<p>As I developed the battling and game systems, the modeling team began researching a new way of achieving flawless sprite animation &#8212; one that would be unparalleled to anything that has been achieved in Roblox Pokemon.<\/p>\n\n\n\n<p>Eventually, with months of research and development, we were able to get the encrypted models for the original Pokemon games themselves and use some software to extract animations themselves.<\/p>\n\n\n\n<p>From what I understood, we would be able to get the original Pokemon animations from the games themselves, instead of using our own versions.<\/p>\n\n\n\n<p>This would mean that, not only would our models be the best possible models, but our animations would also be the best possible animations.<\/p>\n\n\n\n<p>We were doing it for the players (and to push the boundaries of Roblox).<\/p>\n\n\n\n<p>It was a long process, but we were able to take the original animations from Pokemon games, split them into frames (similar to what we did for animated sprites), and play them one by one. <\/p>\n\n\n\n<p>This was easier said than done, of course.<\/p>\n\n\n\n<p>At 14 years old, I began looking at ways to optimize this process, so that it would be able to run, even on lower end devices.<\/p>\n\n\n\n<p>I remember the first time we achieved this technology, it was really lag. <\/p>\n\n\n\n<p>I worked for countless hours to optimize everything, so that this video could be taken, illustrating our new technology.<\/p>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"en\" dir=\"ltr\">For the past SEVERAL months we&#39;ve been trying to put in blender animations, and now we&#39;ve done it! <a href=\"https:\/\/t.co\/jTjqNiFV2Z\">pic.twitter.com\/jTjqNiFV2Z<\/a><\/p>&mdash; Script\ud83d\udcbb (@script_ing) <a href=\"https:\/\/twitter.com\/script_ing\/status\/1020663677245157376?ref_src=twsrc%5Etfw\">July 21, 2018<\/a><\/blockquote> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<p>This was truly the point at which a lot of people began looking into PCOZ. <\/p>\n\n\n\n<p>They knew that we were <em>serious<\/em> about this game. <\/p>\n\n\n\n<p>We were going to do whatever it took to give players an awesome game.<\/p>\n\n\n\n<p>The days that followed were with much excitement and vigor, as we added many different Pokemon into the game, with this technology.<\/p>\n\n\n\n<p>Another issue is that this process took 1-2 hours per Pokemon&#8230; and there were 800+ Pokemon&#8230;.<\/p>\n\n\n\n<p>But we kept persisting. <\/p>\n\n\n\n<p>We just wanted to give players the best possible experience.<\/p>\n\n\n\n<p>We were even able to get the models to blink. It was truly remarkable.<\/p>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"en\" dir=\"ltr\">Greninja&#39;s ready to dive into battle! <a href=\"https:\/\/twitter.com\/hashtag\/ROBLOX?src=hash&amp;ref_src=twsrc%5Etfw\">#ROBLOX<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/RobloxDev?src=hash&amp;ref_src=twsrc%5Etfw\">#RobloxDev<\/a> <a href=\"https:\/\/t.co\/y5UDacMace\">pic.twitter.com\/y5UDacMace<\/a><\/p>&mdash; Script\ud83d\udcbb (@script_ing) <a href=\"https:\/\/twitter.com\/script_ing\/status\/1021489902196871168?ref_src=twsrc%5Etfw\">July 23, 2018<\/a><\/blockquote> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"en\" dir=\"ltr\">Charizard&#39;s ready to soar into battle! <a href=\"https:\/\/twitter.com\/hashtag\/ROBLOX?src=hash&amp;ref_src=twsrc%5Etfw\">#ROBLOX<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/RobloxDev?src=hash&amp;ref_src=twsrc%5Etfw\">#RobloxDev<\/a> <a href=\"https:\/\/t.co\/BlUlVx4eKT\">pic.twitter.com\/BlUlVx4eKT<\/a><\/p>&mdash; Script\ud83d\udcbb (@script_ing) <a href=\"https:\/\/twitter.com\/script_ing\/status\/1021490719868047361?ref_src=twsrc%5Etfw\">July 23, 2018<\/a><\/blockquote> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<p>This new technology allowed us to achieve curvature in our models quite nicely, as well, as you can see from Articuno&#8217;s tail. <\/p>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"en\" dir=\"ltr\">Articuno is freezing to enter a battle! <a href=\"https:\/\/twitter.com\/hashtag\/ROBLOX?src=hash&amp;ref_src=twsrc%5Etfw\">#ROBLOX<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/RobloxDev?src=hash&amp;ref_src=twsrc%5Etfw\">#RobloxDev<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/PCOZ?src=hash&amp;ref_src=twsrc%5Etfw\">#PCOZ<\/a> <a href=\"https:\/\/t.co\/lKUtGh8EGL\">pic.twitter.com\/lKUtGh8EGL<\/a><\/p>&mdash; Script\ud83d\udcbb (@script_ing) <a href=\"https:\/\/twitter.com\/script_ing\/status\/1024409582586802176?ref_src=twsrc%5Etfw\">July 31, 2018<\/a><\/blockquote> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"en\" dir=\"ltr\">I just had a dream come true! Riding a Kyogre!! <a href=\"https:\/\/twitter.com\/hashtag\/Roblox?src=hash&amp;ref_src=twsrc%5Etfw\">#Roblox<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/RobloxDev?src=hash&amp;ref_src=twsrc%5Etfw\">#RobloxDev<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/PCOZ?src=hash&amp;ref_src=twsrc%5Etfw\">#PCOZ<\/a> <a href=\"https:\/\/t.co\/DElk71Fo9x\">pic.twitter.com\/DElk71Fo9x<\/a><\/p>&mdash; Script\ud83d\udcbb (@script_ing) <a href=\"https:\/\/twitter.com\/script_ing\/status\/1046389428279799808?ref_src=twsrc%5Etfw\">September 30, 2018<\/a><\/blockquote> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>PCOZ&#8217;s End<\/strong><\/h3>\n\n\n\n<p>Of course, PCOZ wasn&#8217;t legally allowed to be put on the Roblox platform.<\/p>\n\n\n\n<p>We were violating someone else&#8217;s intellectual property.<\/p>\n\n\n\n<p>Through the development of the game, I matured and realized that we&#8217;d be putting years of effort to create an awesome game, just for it to get taken down.<\/p>\n\n\n\n<p>So, it had to end, to the disappoint of all of its fans.<\/p>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"en\" dir=\"ltr\">Here&#39;s the official announcement. Also, I have changed quite a bit of TSE features. <a href=\"https:\/\/t.co\/1CHXH7r9E7\">pic.twitter.com\/1CHXH7r9E7<\/a><\/p>&mdash; Script\ud83d\udcbb (@script_ing) <a href=\"https:\/\/twitter.com\/script_ing\/status\/1074780045141520384?ref_src=twsrc%5Etfw\">December 17, 2018<\/a><\/blockquote> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>The Sacred Element (TSE)<\/strong><\/h2>\n\n\n\n<p>In the midst of uncertainty with PCOZ, I had begun making another game, called The Sacred Element.<\/p>\n\n\n\n<p>This game would be similar to a popular online game called <a href=\"https:\/\/www.wizard101.com\">Wizard101<\/a>. <\/p>\n\n\n\n<p>In The Sacred Element, you&#8217;d have cards and engage in turn-based combat, similar to the Roblox game Hexaria.<\/p>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"qme\" dir=\"ltr\"><a href=\"https:\/\/twitter.com\/hashtag\/Roblox?src=hash&amp;ref_src=twsrc%5Etfw\">#Roblox<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/RobloxDev?src=hash&amp;ref_src=twsrc%5Etfw\">#RobloxDev<\/a> <a href=\"https:\/\/t.co\/mmUkhFVinP\">pic.twitter.com\/mmUkhFVinP<\/a><\/p>&mdash; Script\ud83d\udcbb (@script_ing) <a href=\"https:\/\/twitter.com\/script_ing\/status\/1048996420240527361?ref_src=twsrc%5Etfw\">October 7, 2018<\/a><\/blockquote> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<p>I had a lot of developing this game, coming up with card ideas and attack animations. <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>At this time, my mindset was to just create whatever I enjoyed. It didn&#8217;t matter how long it took, or how much money it brought. I was just having fun.<\/p>\n<\/blockquote>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"zxx\" dir=\"ltr\">\ud83d\ude42 <a href=\"https:\/\/t.co\/DMyTgMbUT6\">pic.twitter.com\/DMyTgMbUT6<\/a><\/p>&mdash; Script\ud83d\udcbb (@script_ing) <a href=\"https:\/\/twitter.com\/script_ing\/status\/1027729265738035201?ref_src=twsrc%5Etfw\">August 10, 2018<\/a><\/blockquote> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"qme\" dir=\"ltr\"><a href=\"https:\/\/twitter.com\/hashtag\/Roblox?src=hash&amp;ref_src=twsrc%5Etfw\">#Roblox<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/RobloxDev?src=hash&amp;ref_src=twsrc%5Etfw\">#RobloxDev<\/a> <a href=\"https:\/\/t.co\/07tNTM8wEU\">pic.twitter.com\/07tNTM8wEU<\/a><\/p>&mdash; Script\ud83d\udcbb (@script_ing) <a href=\"https:\/\/twitter.com\/script_ing\/status\/1035854076746055680?ref_src=twsrc%5Etfw\">September 1, 2018<\/a><\/blockquote> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<p>Throughout the process of TSE, I realized that creating hundreds of card images would take a long time, and I felt reconnected with my passion for turn-based games.<\/p>\n\n\n\n<p>I wanted to create my own turn-based game, but we&#8217;ll come back to this in a bit.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Mini-Projects<\/strong><\/h2>\n\n\n\n<p>I wasn&#8217;t as fully connected with The Sacred Element as I was with my previous games.<\/p>\n\n\n\n<p>This was probably due to to working on something I cared about for a long time and not seeing it all the way through.<\/p>\n\n\n\n<p>To cope with this, I worked on mini-projects.<\/p>\n\n\n\n<p>One was this Fortnite inspired gun thing.<\/p>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"zxx\" dir=\"ltr\"><a href=\"https:\/\/t.co\/iCdvQrTNJx\">pic.twitter.com\/iCdvQrTNJx<\/a><\/p>&mdash; Script\ud83d\udcbb (@script_ing) <a href=\"https:\/\/twitter.com\/script_ing\/status\/1094713934324600834?ref_src=twsrc%5Etfw\">February 10, 2019<\/a><\/blockquote> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<p>I spent a few days creating this as well, a sword fighting system inspired by Adventure Quest Worlds. <\/p>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"en\" dir=\"ltr\">You asked for it, here it is. Keep in mind that this is a Work-In-Progress. <a href=\"https:\/\/twitter.com\/hashtag\/Roblox?src=hash&amp;ref_src=twsrc%5Etfw\">#Roblox<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/RobloxDev?src=hash&amp;ref_src=twsrc%5Etfw\">#RobloxDev<\/a> <a href=\"https:\/\/t.co\/8zyA80k0yy\">pic.twitter.com\/8zyA80k0yy<\/a><\/p>&mdash; Script\ud83d\udcbb (@script_ing) <a href=\"https:\/\/twitter.com\/script_ing\/status\/1103787603168555008?ref_src=twsrc%5Etfw\">March 7, 2019<\/a><\/blockquote> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Elemental Adventures<\/strong><\/h2>\n\n\n\n<p>That passion for a turn-based game incited me to turn The Sacred Element into Elemental Adventures, which would be my own, original, turn based game.<\/p>\n\n\n\n<p>Now, bear in mind that I was <strong>still<\/strong> studying Pokemon Brick Bronze&#8217;s code at this time, to improve my scripting abilities.<\/p>\n\n\n\n<p>Clearly, Pokemon games aren&#8217;t allowed in Roblox. <\/p>\n\n\n\n<p>But, I could still make my own turn based game.<\/p>\n\n\n\n<p>In fact, it didn&#8217;t even have to feature creature catching.<\/p>\n\n\n\n<p>I could make it however I wanted. <\/p>\n\n\n\n<p>So, here&#8217;s the first public sneak-peek I posted of Elemental Adventures, in July 7, 2019.<\/p>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"qme\" dir=\"ltr\"><a href=\"https:\/\/twitter.com\/hashtag\/Roblox?src=hash&amp;ref_src=twsrc%5Etfw\">#Roblox<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/RobloxDev?src=hash&amp;ref_src=twsrc%5Etfw\">#RobloxDev<\/a> <a href=\"https:\/\/t.co\/lgXE5Tzk8L\">pic.twitter.com\/lgXE5Tzk8L<\/a><\/p>&mdash; Script\ud83d\udcbb (@script_ing) <a href=\"https:\/\/twitter.com\/script_ing\/status\/1147875734528122880?ref_src=twsrc%5Etfw\">July 7, 2019<\/a><\/blockquote> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<p>Everything in there is original, except for the encounter animation (which I used from Pokemon: Brick Bronze).<\/p>\n\n\n\n<p>After a month or so after that was posted, I had even more of Elemental Adventures developed. <\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Elemental Adventures Battle Teaser\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/xkQPhomTwWY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>In the video above, you can see some of the UI and attack animations that I was working on at the time. <\/p>\n\n\n\n<p>8+ months later..<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Elemental Adventures WIP\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/aeGNPQ430CI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Elemental Adventures Move: Water Shark Missile\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/XHEqeYcdFWY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>We had decided that the whole game of Elemental Adventures would be much too large to release at once. <\/p>\n\n\n\n<p>So, we worked on a Demo version throughout 2020-2022. <\/p>\n\n\n\n<p>Throughout the time, we created several google documents, outlining the vision of Elemental Adventures, planned out the story for it, and wrote the story for the demo version of Elemental adventures in detail &#8212; which was 80+ pages.<\/p>\n\n\n\n<p>Yes, 80+ pages of documents for the story for the <em>demo<\/em> version of Elemental Adventures.<\/p>\n\n\n\n<p>Scripting that story took <em>forever<\/em>.<\/p>\n\n\n\n<p>I was around 80% of the way done with the story for the demo version of Elemental Adventures.<\/p>\n\n\n\n<p>I&#8217;ve shared some of the screenshots of the features I developed for those several years with Elemental Adventures below.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/01\/18834b6ace2018a67254f1aa265661fe.mp4\"><\/video><figcaption class=\"wp-element-caption\">The introduction of Dalewood Depths, a large forest map in Elemental Adventures.<\/figcaption><\/figure>\n\n\n\n<p><strong>Fun fact:<\/strong> Dalewood City was the name of the first city that we had originally planned in Pokemon: Creation of Zygarde.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/01\/463f8ac29a473fd043f68635d22c0e92.mp4\"><\/video><figcaption class=\"wp-element-caption\">Sirius, Elia, Norman, and the player, bickering amongst one another in Elemental Adventures.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/02\/12be7d72c65a57d1cd19e36be898df84.mp4\"><\/video><figcaption class=\"wp-element-caption\">Exiting Dalewood Quarry<\/figcaption><\/figure>\n\n\n\n<p>With Elemental Adventures, I wanted to create a masterpiece turn-based game that wasn&#8217;t necessarily about creature catching.<\/p>\n\n\n\n<p>I wanted to be able to create my own fantastical places. I wanted to take the things in my imagination and put them on Roblox for the world enjoy.<\/p>\n\n\n\n<p>When I was younger, at around 12 years old, I was reading the Percy Jackson series and I was fascinated with the concept of Greek Gods and Greek mythology in general.<\/p>\n\n\n\n<p>But when I looked for Roblox games with Greek Gods, they were all low quality. <\/p>\n\n\n\n<p>I wanted to bring a masterpiece of an adventure to Roblox.. and I wanted to also add Greek Gods to it. <\/p>\n\n\n\n<p>A game with an amazing storyline, battle mechanics, elements, and fantastical creatures: a fantasy RPG. <\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/05\/dbeb0fec936b92b9d2190da99e648b05.mp4\"><\/video><figcaption class=\"wp-element-caption\">The Flashlight mechanic in Elemental Adventures<\/figcaption><\/figure>\n\n\n\n<p>There were so many different challenges with Elemental Adventures. Some things took 12 hours to finish. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Custom Terrain Serialization Technology<\/strong><\/h3>\n\n\n\n<p>One of the features of Elemental Adventures is that some of the maps were made using a combination of Roblox&#8217;s terrain tools and Roblox&#8217;s normal building tools.<\/p>\n\n\n\n<p>Elemental Adventures is a game where player 1 and player 2 can be in different maps and as a result, see different things.<\/p>\n\n\n\n<p>I wanted player 1 to see the terrain for map 1 while player 2 only sees the terrain for map 2. <\/p>\n\n\n\n<p>And if player 3 was also playing the game on map 1, I wanted player 3 to see player 1 in the same terrain. <\/p>\n\n\n\n<p>I thought that I could use <a href=\"https:\/\/create.roblox.com\/docs\/reference\/engine\/classes\/Terrain#CopyRegion\">CopyRegion and PasteRegion<\/a> to achieve this. <\/p>\n\n\n\n<p>However, Roblox doesn&#8217;t allow you to achieve this effect using <a href=\"https:\/\/create.roblox.com\/docs\/reference\/engine\/classes\/TerrainRegion\">TerrainRegions<\/a>, so I spent 8+ months making my own custom TerrainRegion framework (with help from some friends) that serializes the terrain into a string and deserializes the string back into terrain. <\/p>\n\n\n\n<p>If that sounded confusing, it basically means that I spent 8+ months to write a system that takes all of the terrain in every map and turns it into a random sequence of letters, like &#8220;DGweF3feGREQWKMwegOfMF3f.&#8221;<\/p>\n\n\n\n<p>And that random sequence of letters can be turned right back into terrain at any time. <\/p>\n\n\n\n<p>It turns out that was a very hard thing to do, because there&#8217;s many limitations and considerations:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The deserialization process (loading the terrain given the random sequence of characters) can&#8217;t cause lag for players <\/li>\n\n\n\n<li>The Region3 used for the serialization\/deserialization can&#8217;t exceed Roblox&#8217;s maximum Region3 threshold. To combat this, my implementation used batched Region3&#8217;s for saving\/loading.<\/li>\n\n\n\n<li>Turning a lot of terrain into a random sequence of characters will yield a lot of information. Sometimes, in trying to paste the encoded version of the terrain into a script, <a href=\"https:\/\/kushaltimsina.com\/blog\/2025\/03\/15\/how-to-use-the-roblox-script-editor-step-by-step-guide\/\">Roblox&#8217;s Script Editor<\/a> itself broke. So, a lot of optimizations had to be in place.<\/li>\n\n\n\n<li>The loaded terrain must load in the exact place and not override existing terrain. Some maps have holes that are a part of the story mode for Elemental Adventures. If the terrain didn&#8217;t load in the exact place that it was saved at, the holes would appear in different locations, which would interfere with the scripts for the story mode.<\/li>\n<\/ol>\n\n\n\n<p>But, at the end, it all worked out. <\/p>\n\n\n\n<p>Two players were able to be in different terrains at the same time. Even with large-scale terrain, there was 0.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/05\/0e02265d079f3a54e304ca6c9cecd088.mp4\"><\/video><\/figure>\n\n\n\n<p>I still await the day that Roblox makes this a feature that doesn&#8217;t require all of this madness, lol.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Many Iterations of Turn Based Battling Systems<\/strong><\/h3>\n\n\n\n<p>When I was developing Pokemon: Creation of Zygarde, I had to study Pokemon Brick Bronze&#8217;s turn-based battle engine (which was over 50,000+ lines of code long) as well as Pokemon: Showdown&#8217;s open source battle engine (which had way more). <\/p>\n\n\n\n<p>These were my best references of a turn based battle engine system.<\/p>\n\n\n\n<p>In that studying process, I had made many many attempts to make my <em>own<\/em> battle engines for Pokemon: Creation of Zygarde.<\/p>\n\n\n\n<p>I remember creating my own battle engine for 3 weeks, and then starting over because I had interpreted certain things from Pokemon: Brick Bronze wrong. <\/p>\n\n\n\n<p>This process of creating things from scratch, working on them for a long time, and starting over was frequent for Pokemon: Creation of Zygarde.<\/p>\n\n\n\n<p>I created so many battle engines during that time that by the time I was developing Elemental Adventures, I was on my 20th iteration of a battle engine from scratch. <\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/05\/87885668642dfc7a2c28cadb9183386a.mp4\"><\/video><figcaption class=\"wp-element-caption\">A rough draft of Elemental Adventures&#8217; sword attack<\/figcaption><\/figure>\n\n\n\n<p>Turn based battle engines are extremely complicated when you have a lot of features interacting with each other.<\/p>\n\n\n\n<p>Elemental Adventures had its own events as well, that allowed certain battle conditions to interrupt future battle conditions. <\/p>\n\n\n\n<p>For example, if my character was wielding a sword that stopped the effects of rain on the battle 3 turns from now, the engine has to:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Realize the player has a sword that can do that <\/li>\n\n\n\n<li>Wait 3 turns <\/li>\n\n\n\n<li>Realize it&#8217;s raining<\/li>\n\n\n\n<li>Realize that there&#8217;s something that clears all weather effects (the player&#8217;s sword)<\/li>\n\n\n\n<li>Clear the weather effects for all players <\/li>\n\n\n\n<li>Individually tell every player &#8220;script_ing&#8217;s sword just cleared the rain!&#8221;<\/li>\n\n\n\n<li>But if there&#8217;s something in the battle preventing that rain clearing ability, it has to be intercepted by that 3 turns before the effect even starts!<\/li>\n<\/ol>\n\n\n\n<p>And all of that has to be done without using hundreds of nested if statements in an efficient way. <\/p>\n\n\n\n<p>In practice, there are many many systems like this built into Elemental Adventures&#8217; battle engine. <\/p>\n\n\n\n<p>This gets even more complicated when we consider things like 2v2 battles. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Custom Fonts<\/strong><\/h3>\n\n\n\n<p>I wanted Elemental Adventures to be beyond just a <em>game<\/em>.<\/p>\n\n\n\n<p>I wanted it to be a full on <em>experience<\/em> (before corporate Roblox ruined that term).<\/p>\n\n\n\n<p>So, I studied Pokemon Brick Bronze&#8217;s custom font creation system and traced its roots back long before 2017.<\/p>\n\n\n\n<p>I was able to get ahold of a similar app that allowed me to create my own custom fonts and I wrote some code to map them all into Roblox that worked with the same module that Pokemon Brick Bronze used.<\/p>\n\n\n\n<p>Now, Pokemon Brick Bronze used a pixelated font.<\/p>\n\n\n\n<p>I wanted to do better.<\/p>\n\n\n\n<p>So, I learned about font systems and RGB systems in computers to optimize the font of my choice for high definition rendering.<\/p>\n\n\n\n<p>Here&#8217;s the result. <\/p>\n\n\n\n<p>Also, I added my <em>own<\/em> version of Rich Text into it. This was long before Roblox ever had such a feature.<\/p>\n\n\n\n<p>My custom font allowed for custom colors, mid-sentence font switching, italics, screen shakes on exclamation marks, etc.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/05\/e23149a53de57a9297e76876f8ca23a7.mp4\"><\/video><figcaption class=\"wp-element-caption\">Elemental Adventures&#8217; Custom Font System<\/figcaption><\/figure>\n\n\n\n<p>You can even see this custom font being used in the Elemental Adventures quest system at the top left.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/05\/2e3798dc64dca2ecd0691d42a6ef158c.mp4\"><\/video><figcaption class=\"wp-element-caption\">Elemental Adventures&#8217; quest system, heavily inspired by AQW<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Elemental Adventures On Hiatus<\/strong><\/h3>\n\n\n\n<p>This intrinsic motivation helped me persist with Elemental Adventures (without seeing results) for so many years&#8230;<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/05\/c908cd68c9bbc2bf819c3a28e00e77e0.mp4\"><\/video><figcaption class=\"wp-element-caption\">The WIP Boulder Crash scene in Elemental Adventures<\/figcaption><\/figure>\n\n\n\n<p>But then, in 2022, I realized that I was going to graduate soon and that college was coming soon. <\/p>\n\n\n\n<p>I needed a way to make money. And a lot of it.<\/p>\n\n\n\n<p>Elemental Adventures was a passion based project.<\/p>\n\n\n\n<p>So, I put Elemental Adventures on hiatus and started a web startup <a href=\"https:\/\/quizzynow.com\/\">Quizzy<\/a>, in the hopes that it would help me pay for college.<\/p>\n\n\n\n<p>After working on Quizzy for 2 years, I came back to Roblox after realizing that the top Roblox games make over 6 figures a month.<\/p>\n\n\n\n<p>At this time, knowing how large of a game Elemental Adventures was going to be, I decided to leave it on hiatus to develop <a href=\"https:\/\/kushaltimsina.com\/blog\/2025\/03\/22\/the-story-behind-my-first-successful-roblox-game-battlemania\/\">BattleMania<\/a>. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>BattleMania<\/strong><\/h2>\n\n\n\n<p><a href=\"https:\/\/kushaltimsina.com\/blog\/2025\/03\/22\/the-story-behind-my-first-successful-roblox-game-battlemania\/\">For the full story behind BattleMania, please read here.<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Closing Remarks<\/strong><\/h2>\n\n\n\n<p>I hope you enjoyed reading this giant story about my experience in scripting Roblox games.<\/p>\n\n\n\n<p>If you&#8217;d like to stay in touch, please consider subscribing to Kushal Writes by scrolling down (it&#8217;s free). <\/p>\n\n\n\n<p>Also, if you have any questions or thoughts about what you read here, please feel free to do so by <a href=\"mailto:kushal@kushaltimsina.com\">emailing me<\/a>.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hi! I&#8217;m Kushal. I started scripting Roblox games when I was 12 years old. In this article, you&#8217;ll learn how I was able to script Roblox games for 9+ years without giving up. Early Beginnings Before I even began scripting, I had a desire to learn. This desire was fueled by seeing this transformation in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1161,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,19],"tags":[8,7],"class_list":["post-1096","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-roblox-developers-corner","tag-blog","tag-game-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How I Scripted Roblox Games for 9+ Years Without Giving Up - Kushal Writes<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How I Scripted Roblox Games for 9+ Years Without Giving Up - Kushal Writes\" \/>\n<meta property=\"og:description\" content=\"Hi! I&#8217;m Kushal. I started scripting Roblox games when I was 12 years old. In this article, you&#8217;ll learn how I was able to script Roblox games for 9+ years without giving up. Early Beginnings Before I even began scripting, I had a desire to learn. This desire was fueled by seeing this transformation in [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/\" \/>\n<meta property=\"og:site_name\" content=\"Kushal Writes\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-08T11:20:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-08T11:25:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/05\/eahi-1024x460.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"460\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"kushal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"kushal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/\"},\"author\":{\"name\":\"kushal\",\"@id\":\"https:\/\/kushaltimsina.com\/blog\/#\/schema\/person\/9ae64ce30587c804d89b1eef21ba5d2f\"},\"headline\":\"How I Scripted Roblox Games for 9+ Years Without Giving Up\",\"datePublished\":\"2025-05-08T11:20:07+00:00\",\"dateModified\":\"2025-05-08T11:25:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/\"},\"wordCount\":4969,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kushaltimsina.com\/blog\/#\/schema\/person\/9ae64ce30587c804d89b1eef21ba5d2f\"},\"image\":{\"@id\":\"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/05\/eahi.png\",\"keywords\":[\"blog\",\"game development\"],\"articleSection\":[\"Blog\",\"Roblox Developer's Corner\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/\",\"url\":\"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/\",\"name\":\"How I Scripted Roblox Games for 9+ Years Without Giving Up - Kushal Writes\",\"isPartOf\":{\"@id\":\"https:\/\/kushaltimsina.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/05\/eahi.png\",\"datePublished\":\"2025-05-08T11:20:07+00:00\",\"dateModified\":\"2025-05-08T11:25:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/#primaryimage\",\"url\":\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/05\/eahi.png\",\"contentUrl\":\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/05\/eahi.png\",\"width\":2188,\"height\":982},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kushaltimsina.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How I Scripted Roblox Games for 9+ Years Without Giving Up\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kushaltimsina.com\/blog\/#website\",\"url\":\"https:\/\/kushaltimsina.com\/blog\/\",\"name\":\"Kushal Timsina\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/kushaltimsina.com\/blog\/#\/schema\/person\/9ae64ce30587c804d89b1eef21ba5d2f\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kushaltimsina.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/kushaltimsina.com\/blog\/#\/schema\/person\/9ae64ce30587c804d89b1eef21ba5d2f\",\"name\":\"kushal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kushaltimsina.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2024\/11\/tempImage75F1Sw-edited.jpg\",\"contentUrl\":\"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2024\/11\/tempImage75F1Sw-edited.jpg\",\"width\":1274,\"height\":849,\"caption\":\"kushal\"},\"logo\":{\"@id\":\"https:\/\/kushaltimsina.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kushal Timsina has been developing Roblox games since 2016, played 40,000,000+ times, teaches Roblox scripting on YouTube to 1,000,000+ views, and is the author of the Beginner's Guide to Roblox Scripting book.\",\"sameAs\":[\"https:\/\/kushaltimsina.com\/blog\"],\"url\":\"https:\/\/kushaltimsina.com\/blog\/author\/kushal\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How I Scripted Roblox Games for 9+ Years Without Giving Up - Kushal Writes","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/","og_locale":"en_US","og_type":"article","og_title":"How I Scripted Roblox Games for 9+ Years Without Giving Up - Kushal Writes","og_description":"Hi! I&#8217;m Kushal. I started scripting Roblox games when I was 12 years old. In this article, you&#8217;ll learn how I was able to script Roblox games for 9+ years without giving up. Early Beginnings Before I even began scripting, I had a desire to learn. This desire was fueled by seeing this transformation in [&hellip;]","og_url":"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/","og_site_name":"Kushal Writes","article_published_time":"2025-05-08T11:20:07+00:00","article_modified_time":"2025-05-08T11:25:17+00:00","og_image":[{"width":1024,"height":460,"url":"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/05\/eahi-1024x460.png","type":"image\/png"}],"author":"kushal","twitter_card":"summary_large_image","twitter_misc":{"Written by":"kushal","Est. reading time":"20 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/#article","isPartOf":{"@id":"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/"},"author":{"name":"kushal","@id":"https:\/\/kushaltimsina.com\/blog\/#\/schema\/person\/9ae64ce30587c804d89b1eef21ba5d2f"},"headline":"How I Scripted Roblox Games for 9+ Years Without Giving Up","datePublished":"2025-05-08T11:20:07+00:00","dateModified":"2025-05-08T11:25:17+00:00","mainEntityOfPage":{"@id":"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/"},"wordCount":4969,"commentCount":0,"publisher":{"@id":"https:\/\/kushaltimsina.com\/blog\/#\/schema\/person\/9ae64ce30587c804d89b1eef21ba5d2f"},"image":{"@id":"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/#primaryimage"},"thumbnailUrl":"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/05\/eahi.png","keywords":["blog","game development"],"articleSection":["Blog","Roblox Developer's Corner"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/","url":"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/","name":"How I Scripted Roblox Games for 9+ Years Without Giving Up - Kushal Writes","isPartOf":{"@id":"https:\/\/kushaltimsina.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/#primaryimage"},"image":{"@id":"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/#primaryimage"},"thumbnailUrl":"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/05\/eahi.png","datePublished":"2025-05-08T11:20:07+00:00","dateModified":"2025-05-08T11:25:17+00:00","breadcrumb":{"@id":"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/#primaryimage","url":"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/05\/eahi.png","contentUrl":"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2025\/05\/eahi.png","width":2188,"height":982},{"@type":"BreadcrumbList","@id":"https:\/\/kushaltimsina.com\/blog\/2025\/05\/08\/how-i-scripted-roblox-games-for-9-years-without-giving-up\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kushaltimsina.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How I Scripted Roblox Games for 9+ Years Without Giving Up"}]},{"@type":"WebSite","@id":"https:\/\/kushaltimsina.com\/blog\/#website","url":"https:\/\/kushaltimsina.com\/blog\/","name":"Kushal Timsina","description":"","publisher":{"@id":"https:\/\/kushaltimsina.com\/blog\/#\/schema\/person\/9ae64ce30587c804d89b1eef21ba5d2f"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kushaltimsina.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/kushaltimsina.com\/blog\/#\/schema\/person\/9ae64ce30587c804d89b1eef21ba5d2f","name":"kushal","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kushaltimsina.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2024\/11\/tempImage75F1Sw-edited.jpg","contentUrl":"https:\/\/kushaltimsina.com\/blog\/wp-content\/uploads\/2024\/11\/tempImage75F1Sw-edited.jpg","width":1274,"height":849,"caption":"kushal"},"logo":{"@id":"https:\/\/kushaltimsina.com\/blog\/#\/schema\/person\/image\/"},"description":"Kushal Timsina has been developing Roblox games since 2016, played 40,000,000+ times, teaches Roblox scripting on YouTube to 1,000,000+ views, and is the author of the Beginner's Guide to Roblox Scripting book.","sameAs":["https:\/\/kushaltimsina.com\/blog"],"url":"https:\/\/kushaltimsina.com\/blog\/author\/kushal\/"}]}},"_links":{"self":[{"href":"https:\/\/kushaltimsina.com\/blog\/wp-json\/wp\/v2\/posts\/1096","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kushaltimsina.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kushaltimsina.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kushaltimsina.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kushaltimsina.com\/blog\/wp-json\/wp\/v2\/comments?post=1096"}],"version-history":[{"count":19,"href":"https:\/\/kushaltimsina.com\/blog\/wp-json\/wp\/v2\/posts\/1096\/revisions"}],"predecessor-version":[{"id":1160,"href":"https:\/\/kushaltimsina.com\/blog\/wp-json\/wp\/v2\/posts\/1096\/revisions\/1160"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kushaltimsina.com\/blog\/wp-json\/wp\/v2\/media\/1161"}],"wp:attachment":[{"href":"https:\/\/kushaltimsina.com\/blog\/wp-json\/wp\/v2\/media?parent=1096"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kushaltimsina.com\/blog\/wp-json\/wp\/v2\/categories?post=1096"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kushaltimsina.com\/blog\/wp-json\/wp\/v2\/tags?post=1096"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}