<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mario_V</title>
    <description>The latest articles on DEV Community by Mario_V (@mariov).</description>
    <link>https://dev.to/mariov</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172574%2F0e9c5a78-49a8-4dc5-8cdd-8c0ba46d8096.png</url>
      <title>DEV Community: Mario_V</title>
      <link>https://dev.to/mariov</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mariov"/>
    <language>en</language>
    <item>
      <title>Flatiron Phase 5 Dev Blog</title>
      <dc:creator>Mario_V</dc:creator>
      <pubDate>Fri, 22 Dec 2023 05:31:42 +0000</pubDate>
      <link>https://dev.to/mariov/flatiron-phase-5-dev-blog-5blf</link>
      <guid>https://dev.to/mariov/flatiron-phase-5-dev-blog-5blf</guid>
      <description>&lt;p&gt;Hello to whoever might be reading this. This will be my final Flatiron Dev blog but hopefully not the last Dev blog I write I plan on making games so I'll probably use this as a way to make updates about them. Either way, though I need to talk about my project that I am very proud of even if as of me writing this it isn't complete.&lt;/p&gt;

&lt;p&gt;Monday I started off by fixing a bug with Ursina where the code couldn't find my monitor I had to add this line of code after line 39 &lt;code&gt;self.monitors[0].is_primary = True&lt;/code&gt; in window.py for Ursina to identify my primary monitor as my main one and run the code properly. After that, I tried fixing another major issue which was the fact that the player could not turn   at all and I realized that the reason for that was that I was missing code that could rotate the model of the car but would not let the player move on the X axis.&lt;/p&gt;

&lt;p&gt;Tuesday was me fixing networking on my server because I hadn't realized  I indented code incorrectly and just forgot to add a way for the player to call on my multiplayer.py script that was supposed to handle all the communication between A. the clients to servers and B. the servers to clients and I can not lie after this I was too afraid to touch the game in fear that a change in a completely different script would break the server and stop the players from seeing each other.&lt;/p&gt;

&lt;p&gt;Wednesday I spent most of the day thinking of a script and slides for my presentation the next day because again I was too afraid of touching my project in fear that it would break so there wasn't much in terms of development really. The slides I ended up making that day I didn't end up using anyway because I just didn't like them and decided to make new ones the next day.&lt;/p&gt;

&lt;p&gt;Thursday, presentation day, was spent making last-minute adjustments to my code so that the window would open on a specific monitor to make it easier to record, you can use the code I talked about earlier for that just change the value of zero to any monitor you want, and once the recordings were done I finished my slides along with my script and got ready to present. Oh, and if the people attending read this I ended up forgetting about the script and used what I remembered to sort of wing it.&lt;/p&gt;

&lt;p&gt;Anyway thanks for reading this and I hope it was useful or at least informative if you would like to see the project here's the link to the &lt;a href="https://github.com/RandomMexican/Goofy-Racers"&gt;repository&lt;/a&gt; I created for it.&lt;/p&gt;

</description>
      <category>python</category>
      <category>gamedev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Phase 5 Week 2 Goofy Racers</title>
      <dc:creator>Mario_V</dc:creator>
      <pubDate>Fri, 15 Dec 2023 21:49:38 +0000</pubDate>
      <link>https://dev.to/mariov/phase-5-week-2-goofy-racers-1mal</link>
      <guid>https://dev.to/mariov/phase-5-week-2-goofy-racers-1mal</guid>
      <description>&lt;p&gt;Hello, this week I am still working on my Phase 5 project Goofy Racers this week I had a lot of issues most of which were just me missing or not noticing the wrong symbol on a line of code. Apart from that though I was able to get the server working and it now receives the ID, position, rotation, model, and texture to send it to other clients as of writing this however the clients don't see the other players but they do both connect to the server so my next objective is to get them to see each other. The second thing I got done this week is the players moving I did need to build a custom character controller because of how the FPC affected the game and UI but the movement works but the camera does not seem to follow, and because of this the player doesn't go in the direction you turn either. And finally, the UI works a lot better now the server does need to start separately but that's not too bad and I can leave that up until after the program ends since I mostly want to have a multiplayer game before Thursday which I should be able to get done by the end of the weekend.&lt;/p&gt;

&lt;p&gt;Most of the issues this week werent that big it was just a lot of typos and me forgetting things that I should have known were supposed to be there for example a line of code I completely forgot to add that was one that updates the scene for every frame and runs the code so the scene recognized my inputs but didnt know how they were supposed to be used. Another typo I had was when the player collided with the floor, it was supposed to simulate gravity. Still, instead, I was setting the player's position to slightly above the player which is why it looked like it kept bouncing and I fixed it by just changing the equal sign to a plus sign.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Goofy Racers Week 1</title>
      <dc:creator>Mario_V</dc:creator>
      <pubDate>Fri, 08 Dec 2023 20:48:13 +0000</pubDate>
      <link>https://dev.to/mariov/goofy-racers-week-1-7el</link>
      <guid>https://dev.to/mariov/goofy-racers-week-1-7el</guid>
      <description>&lt;p&gt;Hello, this is my phase five week one blog post and I'll be talking about my current project, a 3D Python game made in Ursina called Goofy Racers. To begin with, it's a multiplayer racing game made entirely in Python using the Ursina engine and Ursina networking the game itself isn't that impressive, at least in my opinion, but that also isn't my main focus I want to focus on the multiplayer aspect of the game and have multiple players run the game on different devices and join each other. The minimum viable product for this game is to have two different clients on my device join the same server and see each other, what I have so far is both clients run and connect to the server but because of how the game is loaded they don't join the same world yet, currently as of writing this working on a way to do that. Apart from that, though, I was able to find the free assets I need for when I build the game and gameplay, so I will credit the creators in the Github Readme.&lt;/p&gt;

&lt;p&gt;One of the biggest issues I'm having is how new Ursina's networking is. Because of this, most of the references I find are either poorly documented or rushed tutorials, and that's what is mainly holding me back but I think I figured out a way to fix that using a reference to another similar game called Rally that also does multiplayer just in a different way, and from what I currently know through the UI you can start a server using your computer as the host and then other users on the same network or on the same device can join by typing in the internet IP address or localhost. This code also isn't that document so I have to figure out what I do and don't need and that's taking a while but hopefully, I am done today and can chill out this weekend.&lt;/p&gt;

&lt;p&gt;Some funny and interesting facts though are that the reason Ursina Networking was made was so that the creator could make a Minecraft clone with multiplayer or at least that's what it looks like based on the video they recorded using it. and a not-so-fun fact is that because of some random bug that I don't understand I can't run any of my Ursina code without unplugging all of my monitors I think I might know how to fix it but I really don't want to test it.&lt;/p&gt;

</description>
      <category>python</category>
      <category>gamedev</category>
      <category>testing</category>
    </item>
    <item>
      <title>Phase 2 Flatiron</title>
      <dc:creator>Mario_V</dc:creator>
      <pubDate>Fri, 20 Oct 2023 12:20:58 +0000</pubDate>
      <link>https://dev.to/mariov/phase-2-flatiron-41m1</link>
      <guid>https://dev.to/mariov/phase-2-flatiron-41m1</guid>
      <description>&lt;p&gt;Hello to anyone reading this, phase 2 at Flatiron School has ended and I wanted to talk about it to begin with there's the fact that, unlike the last phase, I wasn’t completely lost when learning React because I was able to take the concepts from the last phase and apply them here. To begin with, GET requests didn’t change much but the fact that I needed the use effect function for them stumped me a bit because of the new syntax I needed to type like when I was studying for the code challenge and completing the labs I kept forgetting the brackets after the arrow and even then I would forget the comma square brackets that I needed at the end so that the script didn’t constantly make GET requests now that we are nearing the end of phase 2 though I'm starting to remember those things a lot better. Another thing that did stump me for a bit was the components and remembering when to import and what props needed to be passed down to other components it helped that it was pretty similar to Unity C# except that instead of props being passed down in Unity you get access to the whole script by using variable.name, name being the thing you wanted to access whether that was a function or just a single variable and there were ways to just access one thing but that depends on what you were trying to do. This is also where my big streak of typos started, props would have completely different names or just be one letter off, or when passing them down in the next component I would forget to have curly brackets around the props and get errors because of this, the URL needed to fetch would have the same issue. Because of this, I started making a URL variable called URL at the top level and passing it down as a prop wherever I needed it and just typing URL in the parentheses of fetch methods to avoid typos because it's only three letters. When it finally came to our code challenge and after trying to memorize everything I still kept forgetting a lot, especially in my initial GET request and my POST request, in my GET request I forgot the parentheses and arrow after using use Effect and I also initially forgot the structure of use Effect since I forgot where to put the comma and square brackets and even after all that because I didn't read carefully when creating a search filter for the project I was trying to match it with a key called name in db.json, except name didn't exist and I ended up spending a good chunk of my time on it trying to figure out what could possibly be wrong. Finally, the reason I didn't pass the code challenge that day was that I forgot to use the spread operator to make a copy of my form template that would then be passed to db.json even though I had already used it before in my account container component to add the new object to the list whenever it was posted so that the user didn't have to refresh to see what they added and because of this error whenever the user submitted instead of making a copy of the template and posting that to the db.json it would replace the template with the last thing the user typed before they hit submit which also caused other errors because when the page tried to get the rest of the nonexistent keys the whole site would break and I would have to delete it in the file first. Overall this phase has been very fun even if I did fail the code challenge at first I was still able to pass the Monday after by figuring out what I did wrong and explaining how it worked to make sure I actually knew what I was doing.&lt;/p&gt;

</description>
      <category>react</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Phase 1 FlatIron</title>
      <dc:creator>Mario_V</dc:creator>
      <pubDate>Fri, 29 Sep 2023 14:57:34 +0000</pubDate>
      <link>https://dev.to/mariov/phase-1-flatiron-5946</link>
      <guid>https://dev.to/mariov/phase-1-flatiron-5946</guid>
      <description>&lt;p&gt;Hello to whoever is reading this so for the first phase at Flatiron I will talk about how different programming with JavaScript and HTML when compared to C# in Unity, at least to me. So to begin with creating a script in Unity regardless of whether it's in 2D or 3D has a default template while JavaScript does not and as far as I know doesn't need one since the script you're writing can vary depending on the project you are working on. HTML probably has the same case although I believe there are plugins to have the very basics like &amp;lt;!DOCTYPE HTML&amp;gt; and the &lt;/p&gt; and  elements in the script by default but just like JavaScript the rest of the script will most likely look very different when compared to another HTML script from a different project. Another comparison I would like to make is between Unity methods and JavaScript functions they're both used only when called by another part of the script, and they're both used to hold code that will more than likely get repeated and can both take in different parameters that they will need to use to return the right outcome. The biggest difference between the two of them is the fact that in Javascript functions need to be declared with the word function followed by their name paratheses parameters if you need them and brackets while in Unity methods are declared with either void if they return nothing or the datatype they need to return followed by it's name with parentheses, parameters and brackets. Then there were how different and similar variables were, of course, there were still integers, floats, booleans, and strings but not in the same way in Unity you declare a variable with its assigned datatype meaning it can only ever be an integer or one of the others and to be fair you can change it by using a method similar to parse float or int but you would then need to store that value in a new variable to use it. And in Javascript that isn't the case so far we have only been using const or let which can be any datatype and change between them which made writing in Javascript a little difficult since I wasn't used to writing code that way. The last comparison and the most interesting one to me is how the scripts themselves run, Unity code can only run if it is called or written between one of the main methods that run code, like void start or void update, this also makes it easier to structure code and read since if you know what you're trying to find know where to look. On the other hand, JavaScript can be written, at least to my current knowledge, anywhere of course there are ways to structure it on your own like making sure variables are made before they are called or else you won't be able to use them. Because of this during the first week writing in JavaScript was pretty difficult because I wasn't sure where some lines, functions, and variables should go.

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
