I started RPG development in 2017 when I created a new project in Unity and started working on the system code. However, the world of the game was invented much earlier - in 2014, and from this year I would like to start.
In 2014, I didn't even dream of developing games - it seemed to me that it was too complicated a business that I wouldn't be able to do anything with. Then I wrote an original fanfic, and in 2014 the game world was born as a small adventure story, which I later abandoned and deleted.
However, my then interest in how computer games are made led me to relevant queries on Google, and later to an article on game engines and 3D modeling. That's how I learned that a game engine is not a mysterious technology, but a completely ordinary program where, depending on the skills of the developer, you can make different games. My next google query "what is an engine" led to an article about Unity, I installed the Unity 4 version and started digging into it with interest.
I have a few screenshots left from that time, and they don't look presentable, and yet words cannot be thrown out of history.
At the time, Unity was considered "for mobile games only", and yet I found occasional tutorials online for PC games, which was very gratifying. I downloaded various assets with plugins and started to learn - this helped me gradually master the engine. At that time, there were no plans for the future, I would find some engine function and just google about it. By then I already knew exactly what games I wanted to make, so I looked for guides for computer development and, if possible, for fantasy RPGs.
(My first menu in Unity, 2014)
I can no longer find many video lessons from that time, besides, they are no longer relevant. Then I just watched the video and repeated everything that happened there, including rewriting the code and trying to understand how it works. Many things were unclear due to not knowing English, but I learned some "patterns" of writing code. As far as I remember, these guides were outdated even at that time, and I had to search the forums for information about errors that multiplied in the console like mushrooms after the rain.
I was fascinated by the MMORPG genre, especially Asian games, and decided to start self-learning in this direction. It was clear that creating an MMORPG was not for one person, and in order to create a normal RPG, the free content from the Asset Store was not enough. After some time of self-study, it became clear that without programming knowledge it was impossible to create the game I wanted. I had scraps of Java knowledge left after working on a mod for Minecraft, but C# turned out to be more understandable and, let's say, spiritually closer, so I started looking for lessons in C#. So I found old video guides and started self-study.
After some time, I somehow managed to master the basics of Blender, and I modeled my first location - a small cave. I split the cave model into chunks and each chunk had its own 2048x2048 pixel texture.
(Screenshot of the cave in Blender, 2014)
I struggled with this for a very long time, which is not surprising, because this way of creating a location is somewhat perverse. I was satisfied with the result, I exported it all to fbx, imported it to the engine and assigned each piece of the cave its own texture material. Also used a character from Standard Assets and allowed him to run around freely, modeled a fence, rocks, lanterns, and placed it all inside the cave.
(Cave in Unity, 2014)
Then I made slug mobs that spawned at the start, and it was like there was even a simple battle system. But that wasn't enough for me, I wanted a complete game, not just one location.
After two years of such self-study, I created the first "version" of the future game. By then I already had some basic knowledge of C# and Blender, plus I had some good tutorials at hand, and as a result I was able to make a more or less finished location.
(The first abandoned project, 2016)
The seeds of the future system were born in this project. The most difficult thing for me was to create a cell inventory - it seems that back then there was no UI and the entire interface was written in code using GUILayout. Although I spent four months on the inventory, I still could not fix some bugs. Plus, GUILayout had problems with scaling on different screen resolutions, and interacting with the interface was awkward.
It was also difficult for me to made a system of skills that could be learned and upgraded. In subsequent projects, I had to remove it: I simply did not know how to make animations, and such a system requires a lot of unique animations. As a result, only passive skills remained, which were studied once and without upgrade.
(The first abandoned project, 2016)
I was not satisfied with the quality, besides, at that time I was learning a lot about both the engine and programming, I looked more often in the Microsoft documentation, than on the forums, and in principle I could do some things myself. It was decided to delete this project and create a new one. Yes, in 2017 I created a second "version" of the upcoming game. The more I learned C#, the less I liked my code, so I created a new project from scratch and completely rewrote the game system.
(The second abandoned project, 2017)
I decided to make graphics in realism, which suited me at the time. In this version, I worked for a long time with the customization script, which uploaded the armor models to the character. I don't remember how long it took - I think it was two months - and yet, with the help of a bunch of forums, I managed to find a solution. But it still wasn't the game I wanted to play. Therefore, I abandoned this project and created a third "version" of the future game. It was decided to make it completely in a hand-painted style, besides, I still had a working system from the previous project. It looked like this:
(The third abandoned project, 2017)
The game system gradually developed. Had to abandon the inventory written with GUILayout and redo it from scratch using UI. I also added trading with NPCs and a quest system. After a while, there was even a little boss-killing plot at the end, but after much thought, I came to the conclusion that it wasn't the kind of game I wanted to play anyway. As a result, I dropped it and created the last project he worked on from 2017 to 2020 – Silver Cats.
Acquiring new skills, I understood that if I took it seriously, after some time I would be able to complete the work. The game was planned to be made for one year, and I had no idea that the development would drag on for three years. I moved the game system to a new project, rewrote the code a bit, and then started making the initial location.
(The start of work on the location "Miner's Valley", Silver Cats, 2017)
It was decided to make the environment in hand-painted style, and the characters in realism. The character created in Makehuman were pretty good quality for an indie game, and making characters from scratch would have taken too long.
Every month the game grew more and more. I wrote the crafting system, bartering, sharpening, inlaying, engraving, and redesigned the interface. When the number of AIs in the locations exceeded 500, I was surprised to notice that the game can hang not only from the graphics, but also from the code. I had to learn how to use a profiler, where I could see how much memory a particular process was taking - my scripts loaded the RAM almost completely. It took a long time to think about how to optimize the AI, but it paid off. On the old laptop, where I tested the game, it was possible to play it only on minimum settings, but after optimizing the scripts, it started to drag it on medium settings. From then on, I took this into account when writing code.
(Miner's Valley, Silver Cats, 2020)
Unity, Krita and Blender at that time already had all the necessary functions to work. I knew how to model, program and draw textures, only there were problems with animation and particles. I made characters in Makehuman, then edited them in Blender, modeled clothes and made LOD meshes for optimization. The Asset Store helped a lot with the animations and particles that I didn't know how to make: there I found almost all the animations that I needed. But I still had to do some animations myself.
(Гільдійський ліс, Silver Cats, 2020 рік)
In August 2020, I finished the development of the game, and on 18.12.2020 it was released.
Comentários