My time at Flatiron school has made me realize something important. learning something doesn't mean that you necessarily only know that one thing, that our objective as students shouldn't be to cram to learn one thing but to understand the overall concept of something and put into action those very same concepts. Flatirons’ objective is to teach young developers how to code the art of learning how to learn. Learning core concepts of code in the language ruby has many upsides, here ill try to translate some of those concepts into unity.
Unity, A cross-platform game engine, is an application that is quite popular in the game development scene. While you don't need to know anything about coding to take a step into unity, knowing the core concepts can help in visualizing how assets and nodes will interact with each other.
In unity, every created object is basically the same as an object in ruby. Each created attribute is assigned either by the user or initial generation in the same way that an initialize would predetermine the attributes of an object.
- each object is an instance of the class level/game
In unity, there are also node maps that work in a way that you can nest and attach methods into methods. This works similarly to routing in rails as you use these nodes to dictate the flow of your game and how all the objects in the level class work and interact with the player.
Modeling is also just as important in unity as it is in rails and seems to be something that we should take with us. The many to or one to relationships that we have learned to create while using rails are concepts that easily translate. In most games, you’ll have models that dictate player inventory, interaction, shopping, and much more! You can also think of each object that you create in the game as a container for models that interact with that object.
Unity also has a very loyal and dedicated family of developers making games and sharing work and findings all the time through assets. Assets work similarly to ruby gems in that they are developer created pieces of work that get shared for public use, whether it is a material palette for an object or a node route that dictates how water should work in a game world.
Unity, like ruby, is simply a tool to make whatever you can think of reality on the internet. The concepts you have learned while coding all translate with you throughout your life and you shouldn't worry too much about learning the latest and greatest coding language because learning your first language is half of learning every other language! Take time to review the overarching concepts of whatever you learn and you should be able to translate them into whatever medium you’d like to work with!