 Hello guys crypto grounds here. Welcome to the first episode of the anti-matter dimensions in unity series So first of all, we need to start with seeing what's going on and the map behind it All right, if you enjoyed this video make sure you smash that like button subscribe to my channel If you're new turn on those notifications so you get notified for future videos check out my patreon if you want to support me or Join my membership for my youtube channel and check out my other videos in the top right corner anyways Let's hop into it. So I have restarted the Whatever I had going on last time I had like a completed game and for some reason she's gone. So whatever it's fine. It's probably on my other computer But all right, so let's we're gonna need to take some notes here. Okay, so we have our first dimension Its cost is One okay, so we're going to say the base cost is 10. All right, and now Something that I remember is that it it's a constant, but it increases every time we buy 10. Okay So we just bought one right here each produces one per second So our production our base production is plus one per second. Okay, if we buy another we get two per second All right, so we'll just keep buying those And also while we're waiting we can see that our base cost for the second dimension is 100 Okay, so now we can buy until 10. So let's just see what happens there So once we buy the 10 we get this two times boost, right? So our base boost is our dimension boost. It's called dim boost is Just two times. Okay, and this is every 10 and now we need to kind of adjust here So what's the price the cost scale here? So it went from 10 to 10,000. So Here let's change our notation here to Scientific let's make it a little easier on us. Okay, so then our cost scale. All right, we can just say our next cost is 24, okay So we want to record this numerous times just to see if something else happens and now our production is 20 per second now because we have 10 times 2 okay easy enough and now we want to start producing these All right, we want to do start producing the first dimensions. So our base cost is 100 and it does So it seems like it's around 10 seconds. Okay, so we can say our base production is Plus 0.1 per second Okay, so we know each of these produce plus zero one per second now so if I buy so right now we have eight So it's producing less than one per second right so now when I buy this right here Remember our cost is 100 here and actually I'm gonna bring this to the side and There we go shift this this way So we can manage this view better and now we should be getting two per second That sounds exactly right and now the base dim boost is two and that is likely the same for all of them And this next cost is e6. Okay? So 100 is 1 e2 and 10 is 1 e1 okay, so we'll use these exponents to kind of see the change here because I know for a fact later on This starts to scale higher, which will be kind of difficult to measure, but we can try our best Okay, so we also want to measure our tick speed Okay, so our base tick speed is 1,000 okay and the base cost this is the base cost Okay, and that will be 1 e3 and the start is 1,000 okay, so if we buy this it increases by 1 it appears so our next cost is 1 e4 and honestly, I could be doing this in a better place than notepad, but it's okay and It reduces the tick interval by 11% so make say reduce 11% okay, so we know this appears to be increasing by one So I'm just gonna put potential increase times 10 Okay, cuz we don't know that for sure this could change at some point so you want to record that So yeah, I'm kind of playing the game slowly. I'm just making sure something doesn't happen here Who's down here? So now we need to buy the third dimension. So let's do that. Actually, you know what? Let's see what this cost is for The first dimension That'll take I should have bought this one. Okay. It's fine. I could just need one more Okay, so we did we got another times two and the cost is 1 e7 now the potential increase is 1 e7 We are 1 e3 which is 1,000 so we're gonna write this down Okay, now next we need to do third dimension. So we're just gonna buy Maybe nine of these. I'm pretty sure it's the same speed. Yeah, it looks like it actually it seems a little faster So if we buy one how many we're getting okay, this seems a little faster. This seems like it's producing Three per second here. Okay. Now again, I may not be exactly correct But so this just seems it doesn't seem like it's producing two percent. Oh, it's cuz tick speed I think yeah, tick speed is also messing us up. Okay. I should have done tick speed last, but okay Let's just assume that the production for this one is also This one won't black is your point one. Okay, so the base cost. What was that? I'll have to look back I think it was 1 e6 Shoot, what was it? Okay, so our cost is 1 e4 and also one thing I'm definitely not gonna do in this in the series as achievements I mean, maybe I'll do a few but I really just don't feel like two achievements Okay, 1 e4. So let's put that in our notes. Our base cost is 1 e4 and our current cost is 1 e9 Okay, and let's just keep writing things down till we get all of them and we're gonna have to do the dimension shift soon Okay, so this is e6 and the dim boost is the same obviously and So we can stop writing this dim boost here and we know the production is the same here I don't know why I'm rewinding this when I just need it once Okay, and now for our next cost Let's just buy one of these. Let's make sure this is actually again. This is probably the same speed So we'll see Okay, so I want to show you something interesting So if you look at this right now, it looks like with seven fourth dimensions It's producing one third dimension per second. Now. Let's do the math here So if we do base 1000 to speed divided by 705 we get 1.41 So let's copy this and multiply it by our production, which is seven and now the interesting thing We get pretty close to 10. Okay, so what does this mean? This means that if we divide this by 10, this is how many we're getting per second approximately And this seems pretty close, right? Okay, so that's just something I've noticed Okay, so now we can buy until 10. So let's make sure we have all of our notes down Okay, so our for our next cost. We don't know that yet. We're about to find out and that is 1 e 12 Okay, so I'm starting to see a trend here. Okay, so this increases by or multiplies by 1 e 3 1 e 4 1 e 5 1 e 6 so you see the trend here Okay, so now we have this we need to prepare for the dimension shift So let's write this down too. So dimension Shift base cost 24 I'm just gonna put 24 for late fourth dimensions Okay, because eventually this is just gonna keep going to five six seven eight is going to scale. Okay, so we'll find that out And it looks like our tix beat is still increasing at a constant, right? All right, let's see what Second dimension has to give us It should be 1 e 10. Yeah, okay So we have a fund out a foundation here. So we let's get started. Okay. Actually, you know what? Let's keep going till our dimension shift and then we can Actually, let's start with the first four. I think this is a good first episode I don't want these to be extremely long Okay, I want to kind of divide this in the part like next next episode will be dimension shifts And then we'll get to anti-matter galaxies. So let's hop into unity Load our unity hub. We're gonna create a brand new project. So new okay, and Let's call this anti matter dimensions Series, okay, and I'm gonna put this in my github directory because that's where I like to store all my projects and Create Okay, so we have loaded into our project. I have some assets available already for me. I just created a quick button and honestly, I don't know how to create this effect in In unity, it would be really cool if I could figure out But I'm just gonna have the buttons as is so and it looks something it looks like let's see Let's create my canvas first. Okay. So if you're completely new to unity, I highly suggest you not to start here Okay, check out my other idle game tutorial series the main one and I would recommend you start there Okay, because I'm not gonna be talking about every single little basic thing because that's not really what this series meant for Okay, so we're gonna just gonna create this main screw or canvas which will hold everything. Okay In here here, I want to show you the button real quick and I may have to adjust some settings real quick Okay, so it looks like this and now if we stretch it we need to fix this by Editing a sprite and Being able to Split or slice it Okay Now I'm just gonna do something like this. That doesn't have to be exactly even I mean for pixel art does but we could still get the same effects like right here Cool. So now we can adjust the size Like that. This seems pretty close. We can just change the color You know, we'll just have it change from green and red. I think that looks just fine Okay, so Let's not jump to that yet. Let's have our background So now I can oh, I can change this back. Oh, okay I didn't think I'd be able to pick that background. So we have our background here Which we will adjust in the camera Okay, and this is honestly fine and actually I prefer to have a background so I like to see it in here too So I'm just gonna add a background image to my canvas we're at an image component and We need to choose the color which we already have here. So we'll just copy it one see one see one see That's pretty easy to memorize We could literally just do oh, wow six one see one see. Yeah. Okay. Now we have our background here Let's just create this user interface which I'm gonna skip because If you're not new to you should know how to do that by now Also, I just want to say that in here we're using text mesh pro instead because I'm gonna be a big brain and use that instead and Yeah, so I will if there's any additional steps. I will explain them because I didn't do that in the main series Okay, so here I am choosing my font. So how do we get these fonts in the first place? Well, if we go to my fonts folder, let's say you download some random font on the internet Okay, so you take this for example this doses bold font and I think this is a TTF And what you do is go to window text mesh pro and make sure you've imported the assets in order to use it And then you go to I think you go. Yeah font asset creator. You select your font here Let's say doses bold here and you choose your settings and you can just do generate a font atlas Now you'll see something like this and then you can save as and you'll save it to this folder. Okay, so I'm not gonna do that because I already have a bunch Okay, so now what I'm doing here is that I'm kind of Replicating this text effect here. So what I do is that in text mesh pro which cool about this is that you can have A size tag. Okay, so we change the size by using an HTML tag like this And we set both of these to 50 and then I add the color tag and I set the middle to green And what I'm gonna do I'm gonna add this RGB effect and it's really just switching from blue to purple I believe from what I see that's it and that should be this does it go to green? I don't think it does it just goes from purple to light blue to blue back to purple So I will be replicating that to and this is what we got so far for our text I think it looks good and we just need to finish the rest of the UI Okay So now what I'm doing here is that I have like started the interface But what I'm gonna do here is that I'm gonna create a canvas But all we got to do is just type graphic ray caster once we enter that it will automatically Enter the canvas at the right settings. So I mean all you got to do is just type A Grap you see this graphic ray caster and we get these settings right here So I'm gonna be using a canvas for all of our stuff because I think that's just a better More optimized way of doing this and let's see we have a by max button So we probably just move this down a bit. I'm not gonna do by max this up So they'll probably be a different one since it is a it is a little bit a little complicated It will cause some additional math to do Otherwise, I think we're off to a good start. Okay, I'm gonna finish this user interface Okay, I also added this anchor to stretch so that we can change our Resolution of this and I should be at a 1980 Or 1920 by 1080 anyways Also, I forgot to mention that everything else is gonna be anchored to the top. Okay, and this will be stretched like this Okay, so now I'm a I'm here so we got our UI here and now instead of just copying pasting this Directly as is what I did is that I'm going I had a or sorry I have the name the until 10 by and info which is this right here in the middle Okay, so now I'm gonna grab this here. I'm gonna create a folder called prefabs So what I'm gonna do here is I'm gonna create a prefab out of this dimension And then we can create a script here. I should probably create a script first called dimension okay, and now What we can do here, so this will be our first script technically So what we're gonna do is that this is gonna be an object used in our class in the future So this will be easier on us because we can also use this for our infinity and eternity dimensions If I even get that far, which who knows I might it might not let's replace this window Okay, so now we're in here, so we can pretty much delete everything and we can add our We need to add a TM pro. Okay, so we're using text much pro So we add the TM pro namespace. So we have a few things we need to add so we have our TMP wants this loads. This is not loading yet. You see there's a progress bar down here. So Let's just guess. I don't know exactly what things are called. I'm guessing it's called TMP text. Okay It's done. Yeah. Hello. Hello Yes, oh my gosh, just literally takes forever. Okay, so it is called TMP text. Let's actually let's make sure text TMP Text yep. Okay, so we're gonna add TMP text and we're gonna call this This is just gonna be our name text. Okay And then we're gonna add another TMP text This will be our info text with our production and how many we have right now and We need to have our TMP next cost text or no, this is just current cost Okay, and our last one will be Until 10 cost text Cool, so that's all we need for the text and now we need to add two buttons because we want to be able to change these images, right? So I Think we're just going to control them as an image So we're gonna add an image because they are even though I did add them as a TMP button The only difference between a normal button in the TMP button is that is the text inside It's just a text mode text mess pro text. Okay, and otherwise the rest is image and button So we can just add an image components, which means we will need the unity engine dot UI namespace which I automatically added here and this will be our current cost button and Then we need to add the until 10 cost button Cool, so I also want to add some colors in here okay, and Because we actually let's see Because I think we only need these No, you know, let's screw it. We're not gonna do it here I was gonna create the colors for when we can buy it and not buy it But we're just gonna do that in a different where maybe I can make a color class or something where that's all predefined Okay, cool. So we have our dimension class right here and now before we create a prefab we want to wants this loads Okay We can drag the name the info the current cost and Until 10 cost and our buttons as well Now this will be helpful in the future because we don't have to do this 10 times We can just drag this to prefab. Oh shoot. Why did it make a prefab? Delete this Okay, now we can drag this into a prefab and if we were to drag this into here We will see that our stuff is already pre-dragged. So that's pretty helpful So now all we got to do is just copy and paste this eight times and I hope this all fits on the canvas Actually, we only need We only need Four right now Okay, it looks like things are gonna get a little snug here in here. We have a lot of space Yeah, my UI is definitely a lot bigger. I will have to adjust this like look how big this is. This is very inflated Also, make sure these are all anchored it to the middle Okay, so then we can drag this to resize accordingly Is everything even in the middle? It doesn't look like it. So make sure everything's in the middle Okay, and now we can resize this dimension thing. So things will be a little closer together, which is okay So give us enough space and this will affect all prefabs. Oh looks like it didn't That stinks Okay, well it did in here. So I guess I can just copy and paste this dimension and delete the rest delete this prefab and Paste this new dimension here cool that looks better now we can redrag this as a prefab Copy and paste this four times and make sure this all fits better. Yeah, that looks much better Cool, of course our UI isn't gonna be as perfect as there's is but it'll work and we'll we definitely have a lot more room Yeah, otherwise, I think things look good. Okay, so let's get coding So I'm gonna create an empty outside of the canvas It's going to be called scripts Okay, and now we're gonna have a main controller in here now This is where our central access point for some things will be so we're just gonna create a game controller script and this will be in The scripts game object Okay, we're not gonna do anything in here yet, and then we're gonna create empty inside scripts and we're gonna call this We're just gonna call this dimensions. Okay We need another Script as well for our player data class And this is where things will be saved and I will do saving in a different video Probably as soon as possible Rather than later Okay, so we have our dimensions Now we're just gonna call this dimensions Manager Okay, and now one more Actually, I don't think we need this one. We're just gonna create a separate script I'm gonna move these to the scripts folder. Do I even have one? No, I don't Okay, now we're gonna create a player data script Honestly, I'm just gonna call this data Okay And now let's open up our game controller And then we're gonna go to data and then dimensions. Okay So here we have data we need to get rid of our mono behavior because this is not a mono behavior class And let's get rid of the rest Okay And I will be adjusting things here Here and there because I mean, I know what I'll need to do once we get ahead Um, so also we need to add the mono or not mono behavior. We need to add serializable at top So now we can save and load this in the future. So just get ready for that We also need break infinity. So I'm not gonna actually Um, I'm not gonna import that yet because we don't need it But for now we're just gonna start with doubles. Okay So we need our antimatter and I'm going to organize this once we get this all done Okay, so we have antimatter We're going to make a constructor in here and we're going to pre-define antimatter as zero. Okay Now we even though this is going to be by default zero We can use this by full reset. So we can just create a new data object by Calling the constructor, which will be something like data equals new data Okay, and this will basically just reset everything to its defaults, which are defined in here Okay Uh, let's see. What's next? Um We need I'm gonna do this in arrays eventually. Okay, but we're just gonna we're just gonna start this as Um, we're just gonna start this as Separate variables. Okay. So this can be first dimensions Okay And this will be second Third dimensions And We need our fourth dimensions Okay, so now we have our basic data in here Uh, also we need so we have our first dimensions, which is this right here. We need levels Okay, so we're just gonna put level level Level Okay, and we also need one more set of these and we can make these ends honestly Maybe even shorts. Let's do that. We can make them shorts No, let's make them you short Because we don't they don't need to be negative Okay, so we will make them you shorts. Oh, uh, yeah, that's right. Okay. So this will be Uh, no, okay, this doesn't this can be a double Because this will be big eventually So first dimension boost, okay, or what you call it dim boost Okay All right, it's not it's not a dim boost, right? I'm just gonna call it a dim boost This is a dimension shift. This is a dim boost. I believe I I haven't played this in a while But I think that's what they're called. Hopefully that I'm not getting those mixed up But if I do it's okay Um, and let me know in the comments below Okay, so we have our basic data. So let's head to our Dimension our game controller scripts. Okay, so we're not going to do anything here really Um, except for set up the general UI And I think we're just going to need using tm pro for now Okay, and what we're going to add here is a public tmp text And this will be our antimatter text Okay, also we need to add our data Okay, so this game controller is our central control center We're gonna be accessing data from all of the other classes such as dimensions. Okay And Let's see. What else do we have a per second text yet? I believe we do Yeah, we do. So let's just add a per second text antimatter per second text, okay Alrighty This is taking a lot of time way more time than I thought Okay, now let's create an update method Uh, and we will optimize all this later on But we're just gonna set antimatter text equal to data dot antimatter Okay, now it's not just this right we need to format it properly So what I'm gonna do is I'm gonna go to my antimatter text. I'm gonna copy this And we're gonna create a string here And let's see it's size 35. We can keep all of this except we're gonna add curly braces here And this will be our antimatter. Okay, and again, I'll do all the formatting later on It's not very priority right now So this is data dot antimatter cool awesome We're cool now Now our antimatter per second text, we don't have anything for that yet So we're just gonna set this as an empty string or a predefined string And we're gonna have to calculate this somewhere else So what it said is this by default Okay, we are done with this game controller. We can head on to our dimensions. Okay So we have four dimensions so far, but we're gonna eventually need eight Okay, so we're just gonna start with eight Actually, no, let's just pre-define this as eight. Okay, so we're gonna create a dimension array And this is going to be called dimensions And this is gonna be a new dimension array size eight. Okay, we're only using the first four But that's all good Okay, so we can update our ui eventually, but we need to Kind of start our cost system here Okay, so what we're gonna do is that we're gonna grab our note document here Kind of pinned it to the side here I don't know. That's not what I that's not what I wanted There we go. Okay Um, we can drag this inside. We don't need this All right, so let's start with our cost system and I think I'm gonna run this through a method Dimension cost. Okay. Now there will probably be a more efficient way of doing this But I'm just gonna start with Uh, a switch case system for now Okay, and we're just gonna put id in here And let's say our case one our first dimension is gonna be base cost of 10 So we're just gonna return 10 times So it shifts Every 1000 so it's a math dot pal 1000 to the power of data dot. Oh, yeah, we need our data. So we need to add our public game controller So we can access our data Let's just add a game or let's just add a temporary variable called data so we can shorten this so it's game dot data Okay, so now we don't have to type game dot data a million times. We can just top data type data So data dot dim boost Again, this will become an array Eventually and I can also make this The base cost and array two and that will clean things up a lot. I might actually do that So I'm just gonna create a public double Dimension base cost Goes new double eight. Now I'm gonna comment this because I don't want to do that yet I'll probably do that once I finish all eight dimensions Okay, so Oh, actually delete some stuff. So it's 1000 to the power of dim boost. Okay So now every time we Do a dim boost we multiply the cost by 1000 Okay, and now we'll do the same thing for the rest And it's pretty self-explanatory. We can just make these one line as well So let's just copy and paste this And this will become more complex as we get further into the game as costs start to shift in a In a faster manner in a faster way. So this base cost is 100 This is 1 e 4 and this is 1 e 6 Sounds correct. So yes, it does And now this multiplies by 1 e 6 1 e 5 And 1 e 4 and this is 1 e 3 Cool So and we also need to replace these variables. So it's gonna be a second dimension boost third dim boost And our fourth dim boost Okay, cool We also We have a return statement is missing. So just in case for some reason we access this without it We're just gonna return zero That won't happen because we won't make that kind of mistake But just in case, okay This is quite a lot Okay So now we need to Let's see I'm not gonna do all this text now like the plus percent thing. I'm not gonna do that now We just need to get the basics done Let's add let's start doing our buys Okay, so we're gonna do a public buy dimension And this will be an int id as well And uh, this will be cleaned up once we add arrays So we're gonna start with our switch case statement here Okay So if data dot This is all an anti-matter Okay, so if data dot anti-matter is greater than or equal then the dimension cost of its id Then we are going to We're gonna subtract the cost from it Okay And also something that we notice here. Let's record this but just in case So once we buy 10 It sets to zero right in case this next one's 18. Yeah, okay. We're good. Um Okay So we're gonna subtract the cost we are going to increase the first dimension level And we're also going to increase the first dimension Uh, the first dimensions in general Okay Now we have this going but let's say So let's say this is 10. Okay, so we're gonna subtract We're gonna check to see if this level is 10 So if it's greater or equal than 10 for some reason it will if it's greater than 10 So we'll just just in case so if it's greater than 10 Then we need to add a dim boost. Okay, so we will add a dim boost We will Set level back to zero And that should be okay Okay, and again, this can be cleaned up a lot. We will do that So if the code looks messy for the first few episodes, that's That's intentional Okay, and we can do the same thing for the rest and honestly, let's convert this into a method Okay, because this is I don't want to copy and paste or replace everything. So we're going to create a void By method in here and we're just going to paste this in here. Now we're going to replace We don't need to replace that. We just need to replace level. So we're going to have a ref double level Okay, our ref dims Our ref double dims And a ref Uh double dim boost. I think these are all Let's see. What's Level is an int, right? Is it you short ref you short level? Okay, so now we can replace some stuff. We can do dim boost instead Dimms in here level Level And level now the cool thing in here is that we can just do buy Let's see. What's our level? So it's our ref data dot first dimension level So we want to use ref because we want to reference this variable We want to actually directly edit this from the method Without it, we won't be able to do that Uh, let's see now we want to do ref dimensions. So that's data dot first dimensions And the next one is ref data dot Yeah data dot dim boost First dimension dim boost, okay, and we'll just add a break to the end of this Cool and now this is much shorter. Again, this will probably all change I could probably get rid of this method once we have arrays So let's just copy and paste these instead of having to change things more than once Uh, we can just do it less Okay, so we have our by dimension now we should be set for that and we also have our dim boost prepared Okay, so let's add some user interface Actually, no, we don't need to we already have it. It's in here. So we have our dimension cost. We need a production. Okay So let's add a double production double dimension Production Okay, and this will be an int id and again switch case statements Okay, so Uh, let's see we have our productions sheet here. So simply here we're just going to return um Let's see. So the production the dimension production is what the that certain dimension is producing So it's producing anti matter this many times per second. Okay, so we know that by default it's times one, right We wanted to multiply this by the dimension boost. So I don't want to get rid of that because I have to retype it So it's one times and we can get rid of the one. So it's just simply one times first dimension boost Times and we can get rid of this one now So it's data dot first Dimensions not dimension levels because that is just for this right here Now we're actually producing based off of this number right here. Okay So we just multiply these together and we have our production and it's pretty self-explanatory Okay, so now we have our production here Uh, I think we can get started with the actual code. Okay Okay, shall we we can hide these now Honestly, yeah, that's fine Okay, so let's create a private Void update method Okay, and in here we're just gonna start doing some stuff So in our dimensions dot our dimensions, we need to access our Certain one now again once this is all completed. We will do this in a for loop. Okay. Actually, I think we can So let's just try a for loop of our i equals zero And we're gonna loop it So we only do for the first four dimensions. Okay, and I honestly will have an unlocked thing because Yeah, we're gonna have an unlocked thing where It will hide it as well And what we can do with the hiding thing is that Um, it won't run this. So if it's unlocked So if it's locked and then none of this code is going to update because there's no point in doing it because that's just a waste of CPU So we're going to do dimensions at index i Dot Anti-matter. No, it's not done in anti-matter Okay, so this is where we kind of uh, have to do things a little differently. Okay, so instead of dimensions Index i we need to sorry. I'm going to create another variable. I'm scrambling Okay, so now what we're going to do here is that we need to add to the anti-matter So we're going to do data dot anti-matter plus equals dimensions at index zero Okay Now the index zero is our first dimension. Okay, because remember arrays are Are zero based indexes. Okay, so we start at zero For our first one And it caps at seven. Okay, so we're gonna multiply this by Oh shoot. Oh, I'm thinking it's production Zero, okay Simple as that and then what we can do here If i Is not equal to zero because we don't want to multiply our own Actually Ah, we can't do this in a for loop. Ah, man. Okay. Sorry about that Uh, we don't produce any fourth dimensions now only the first do third Okay, so then we change the id's here Like that. So now first dimensions will produce anti-matter second will produce third Uh, third will produce seconds and fourth will produce third Like that. So now again, this will all become an array eventually I promise I'm gonna say this a lot because I don't want to rage comment below saying how my coding sucks And it could be million times better because yes, I know that Um, okay, so now we add Together We have the buying we have the cost. We just need to do the user interface now and I think we're done Uh Oh before I forget, uh, you see this here. We're multiplying by dim boost, right? We need to change this to math dot pow Two to the power of dim boost. Okay, because remember by the base dim boost is two times, right? So every time we have a dim boost it multiplies by two So we do that for all of them Honestly, I should have zoomed in the code a long time ago. I'm sorry. Hopefully it wasn't too blurry um Okay, so now let's grab our user interface Let's see. I'm just gonna move this to the side. Okay Okay, so this is where we can actually do this in a for loop now. I actually know we can't never mind Okay, so dimensions at index zero Dot name text. So we're gonna start with the name text dot text is equal to Uh, so we need our so we're gonna eventually turn these into names or an array for the names So this is gonna be called dimension Uh first dimension, okay, and here we need a we need our dim boost Okay, so we're gonna do first dim boost right here and what we're gonna add is f Again, we're gonna convert this to scientific notation eventually, but we're gonna display one decimal So we do f1. Okay, and actually I'll probably do n1 so they can format as a comma for now And we will do the same thing for all of them Cool, we need to replace these. Uh, okay. So now we have these we need to Uh, we need to do the info text. Okay, so we're not gonna get all of it We're gonna get most of it, but this is simply Going to be our data dot First dimensions, okay space parentheses And we can get rid of this here too parentheses Let's see. What do we have here? Okay, uh data dot first dimension levels Like that that's all we need to do Pretty easy So we want to do this index one two three And let's see. Oh, yeah, we forgot to replace all these second third Fourth I get tired of replacing these all the time That's what happens when I don't create arrays Stupid crypto grounds you freaking idiots Terrible coder Okay, so now we have our basic ui done we need to uh not our basic ui done I always keep saying that I don't know why Uh, we have our basic information done. We just need to add the cost. Okay So Now for our cost text and I'm not going to do until 10 because Um, I mean I can it's pretty easy. It's just itself times 10 So, you know what? Let's do it current cost text Okay, and this will all say cost And honestly delete this okay And this is uh, we need our scientific notation. So things are going to just go screw it up So I'm going to do scientific probably right after this because things will not look right Right off the bat And this will be first. Oh, no, this is just going to be our cost, right? Yeah Okay, cool. So we don't have to do this a million times Okay, and this will be three two one zero, right? Is that what we're doing? We're doing oh, we're doing one two three One two three four one two three four Okay, so we have our cost and now our cost until 10 Cost or it's just going to say until 10 Cost and this is basically all of them times 10. Okay That's pretty much it But again, this will change once we have scaling come into place And I'll probably have a separate method for this cut dimension cost until 10 But for now, we're just going to multiply it by 10 Okay, and this will be our until 10 Cost we're going to escape out of that Cool. So now we need to do our buttons I know this is quite a lot. It's very chunky and blocky. I promise this will look so much better later on Okay, cool. So let's do our cost button here Okay, and we're going to adjust the color Okay, so if No, we're going to do a question mark operator. So if data dot anti-matter is greater than or equal than the dimension cost Okay If it is then we're going to set it to a new color and we're going to put our stuff there And our new color here if it's not then we'll set another new color. Okay. So now we grab this color in unity Siri shut up Siri go away. Okay So we're going to grab this color here, okay So, yeah, we're going to have to copy and paste everything. Ah, go away So if we can buy it, then we're going to set it to a new color. We're going to set these all the floats Sadly, I gotta paste this every time and it's got to import And I remember the last number this is 0.1254 f Cool, we can honestly just reduce these to like the last three Okay, and if we can't afford it, then we're just going to set it to color dot red Because I'm too lazy to find out what the red is, you know what? Come on. It's not being so lazy crypto grounds You know what? Fine. I'll grab their colors Okay, grab their colors. So it's not as red as I I thought it was more like a pinkish, I guess So we're going to create this new color again And the f for float prefix And three six four seven three six four seven Ah, shut up windows Zero point three six four seven f and we can just round these up Cool. So we have our two colors here and honestly, this is why I want to save these colors as a preset. So we're going to do that up here So we're going to create two colors public color By green And it's going to be a new color Right here predefined perfect And then we're also going to have a buy a red And this down here Is already set for us Okay, and now we don't have to do this every single time. Also, we don't have to create a new color every time too Ah, man, it didn't copy and paste it all the way Cool. So now what we can do here instead of new color. We can just do uh green buy green and then buy red Cool. This will make things so much easier Okay, and now we're going to do our until 10 cost, which is again pretty much the exact same thing except for Uh Until 10 cost button except for this times 10 here. Okay And we just add that at the end Cool. So we have our user interface done. I believe we're we are good to go At least let's test it. We also need to start anti-matter as 10 Okay, so I forgot that mistake Anti-matter will be 10. So since we don't have a safe system, let's go to our game controller We're going to go to we're going to make a a public start method And we're going to set data equal to A new data just so it all refreshes. Okay cool That's a lot of work. I'm telling you guys whoo And uh, we only have buy so I haven't done the buy until 10 yet, which I will eventually So now we're going to go to each buy button We're going to click that plus in the button component. We're going to drag our I think it's dimensions manager, right? What manager? Yeah, it's dimensions manager our dimensions into here and we do buy dimension Okay, and the first one is one two three Four Okay, we have all of our dimension buttons done Except for them till 10, which is fine And we need to add our dimensions. So we only access these four So it's completely okay if we ignore the rest unless we were doing an array We are not so it's okay And let's add our game controller, which is in scripts And looks like we're good there and now our scripts. We need to add We need to add our antimatter text right there and I got that Cool, I think we're good to go. Let's save it and let's test it. I'm expecting 152 errors if we don't then I'm gonna be happy Yes, okay, so now we got to click Oh Okay, one mistake I make every time Time delta time. Okay. And now in the future, we're going to be like with dilation or not dilation whatever's a challenge I think it's an eternity challenge. We are going to adjust our time scale. So let's just do this for safety Times one divided by time scale. Okay, so this will make sure that whatever this time scale is So since if this time scale is two times faster time delta times can be two times faster So we make sure this is always one. Okay, so we want to multiply this for all of our production Save it and we're good to go And that's so this is why I do chunks of video because I I was like, you know what? We're gonna get this whole front page done in a jiffy. No No We have the main foundation get done. Okay, so Ugliness it's okay. It's okay. We're not gonna we're not gonna get out of it just to fix that We're going to fix this by adding f zero for now Okay So we can buy one Also, this should say one So what do we do here? So our first dimension dim boost, right? So it's uh, It's math power right here. Okay, so we're just gonna replace all these and I should make variables for these because it's getting quite repetitive now Let's just add that and also we need to add the x before and And I'll show you my changes once we're done. Okay, so let's just keep buying these Let's see We need to subtract this cost from our current, right? So this is not almost done. This is almost done Okay, so how how do we fix this? So let's make a little equation here. Okay So what we're gonna do is subtract how many we've bought now from The actual cost. So we have this right here. We're going to subtract it by dimension boost or dimension cost one times data dot first dimensions levels So we're subtracting by how many we have right now and we can delete all these were done in parentheses Okay, so let's copy this and copy and paste this statement into here and I actually right here Uh, and I will be sure to test this to make sure it works too. Okay, so we want to we don't want to go into a bunch of air Wrong things here. We want to copy and paste them here a second dimension third dimension fourth dimension Cool, and I'm just going to copy and paste these variables Third dimension levels. There we go Okay, and we'll replace these one two three four one two three four And again, once we make this dimension cost until 10 variable this will be Shortened dramatically. Okay, cool. So let's see what happens. So now we should we're getting about nine per second So we should be getting 20 per second after this Perfect, we're getting 20 per second the cost scale works And now we're producing We're producing way too many Okay, I forgot so in our production. We forgot to multiply the Um, we forgot to multiply some of these. Okay So multiply the second third and fourth by 0.1 Because uh, it's divided by 10. So yeah, so pretty much this works Okay, it's just producing way too fast But I am happy with what we have so far I think we've made lots of progress in just one video And it's looking pretty great Okay, so we're gonna test this one more time and I'm gonna head out of here Because this is definitely a lot going on And okay, so we start with that. We have the correct multipliers And our cost should subtract. Yeah Okay, cool Things looking great looking grand Also, I should probably truncate this number so it doesn't like You know mess up this thing right here. I don't know looks fine See now this works perfectly and once we get 60 this should turn green Okay, so once we'll get closer. I'll show you that Okay, so as we get to 20 perfect. Oh, it works. It's not working 20 per second And we should be able to buy this one. It should produce 0.1 per second And we still got that decimal thing, which is okay because we're going to do scientific notation eventually cool So it looks like things are looking great right now Anyways, if you enjoyed this amazing episode make sure you smash that like button And I hope you did because this is definitely an interesting one Uh heavy if you see this Hello, I welcome you here. Thank you. You're a huge motivation to me anyways Smash the like button subscribe if you're new turn on those notifications for all future episodes Comment your suggestions and anything below check out my other videos in the top right corner and check out my patreon In the description below. Thank you guys so much for watching and thank you for five patreon. See you later