In previous log I was only destroying game object of the item after clicking on it. In this log I will add the item into character inventory. Player character is going to have its own inventory holder inheriting from class Inventory. Class Inventory implements all general behaviour for inventory like adding items or removing them, also mothods for adding whole stack or whole another inventory (like everything from a chest). All items are going to be stored in generic list. Character's inventory holder will only implement singelton pattern for player inventory. [...]
Weapon is created, but to interact with it, meaning to pick up, add into inventory or drop it, I will need script this behaviour. Also physics is necessary, to interact with surroundings. So I am going to create prefab out of the 3D model and set all this behaviour through components. To load the item into game I will use this prefab, which is going to be saved in ScriptableObject as reference. [...]
In this log I am going to describe my way of modeling 3D objects in Blender (v2.78) for my game. As new model I chose a little more complex war axe. I always look for inspiration on google images, where I also download good reference picture. Of course if muse catches me I dont need use pictures to modeling, only for reference purposes to achieve realistics. I am going to describe the texture mapping too. Because I use simple colors in game I use color atlas to make game less difficult for PC performance. [...]
Now, lets digress from inventory and focus on area that is related to it. Lets focus on items in game. To continue with inventory I need some items and system how to deal with them. In this log I will only explain my way of creating the items in Unity, and in next logs I will making models in Blender and then attaching them to my Unity items and making them interactable. Only then I can return to inventory. For so long I had mess in my items creating system, til I came across ScriptableObjects on internet.[...]
In previous log I described inventory and its parts. Today I will focus on toggle panel for enabling and disabling panels in item list. Solution is quite complicated I think, but I am fine with it if it works. If player is in inventory and clicks on toggle with left mouse button (LMB), corresponding panel will enebale or disable. But this choice is only temporary, til player reopens inventory again - all toggles will be disabled again (supposing that inventory is empty). So I added option to choose favorite panels. It can be activated by middle mouse button (MMB, usually wheel). Choice will be saved even after closed inventory. So player will have entire control. [...]
Now, when I have done player menu I can create inventory. It's going to be similar inventory to Skyrim, which means list of items with item details window, only without 3D object model. Item list is going to be separated by item types as weapons, armors, tools, potions, books, goods and favorites. Each type will have its own panel, that can be disabled and enabled by toggles in panel on top of inventory. These toggles will have its own favorite option, that will enable instant visibility for corresponding panel. Selected toggles then will enable only corresponding panel after opening inventory.[...]
As in every RPG there need to be an inventory, attributes and other informations about character. And I need somehow to acces my inventory, usually, after hitting Tab or I keys, games show directly inventory or other kind of menu. I am going to have inventory and attributes windows separated. For this i want to have ring type mini menu, and each sector is going to be button. Left for inventory, top for attributes and right..well I haven't decide yet. The bottom will be empty. [...]
In previous log I mentioned low poly and made few 3D models for my settlement. However I was not satisfied with my terrain model. My idea of the terrain is more faceted terrain. There is asset for Unity, which can create the exact terrain only from height map. Unfortunately it's not free, but I am willing to spend 15€ for it. The asset is called Low Poly Terrain, its available on Unity Asset store, and only with height map, eventually texture, setting some parameters I can generate terrain. But let's not talk about it right now, for my purposes is one piece of terrain, with NavMesh, enough.[...]
As I mentioned at the beginning, there certainly will be some changes and I just made one when building village. Because Altos is also inspired by Runescape so I studied their 3D models. Those models are low-poly, but the game looks still good. That's because they are using smooth shading. So 3D models are low poly but with texture you cant see sharp edges. Difference is shown on following picture.[...]
There are going to be 3 kinds of entities in Alots. Neutral, aggressive and neutral-aggressive. Nutral won't attack player until the player attacks first, then entity will try to fight until the player is at sight. Aggressive attacks immidiately as the player is at sight, and stops following him only when the player is out of the sight. Neutral-aggressive has two states, first state is only warning for player to not to come closer, second is same as aggressive state.[...]
Maybe it's too soon for this, but I will focus on other subject than camera and character, and start working on another importatnt thing. Which is patrol system. Each NPC is an entity living its own simple life. Enemies like any creatures or anything, must move somehow. They will have its own patrol loops and controllers dealing with their movement. So I made up simple patrolling system, where each entity will have its own radius determinig how far they can go and in this radius I will generate few random points. Because entity needs to move it will have its own NavMeshAgent, whom I am going to set these points as target waypoints.[...]
The player character moves, but the camera remains on position. There are going to be two ways how to control camera. First, camera will follow the character and second when the player can move camera over the level. In folder Scripts create folder Camera and inside this folder create new script called CameraController. First I will deal with moving with camera (which is easier), then the following. Camera will move by WASD or arrow keys, so its only about positioning the camera, and also setting the speed of motion.[...]
In previous log I mentioned lines anim.SetBool, now I will return to them. My character has some clips (animations). I need to run these animations at exact moments as they are in the code. Component Animator in Unity controls animation clips (Window>Animator NOT Animation). Animator has start state and finite state as default, any clip or animation is another state. Between these states are transitions and these are based on conditions.[...]
How will the motion work in Altos? Quite simply, when I click on position, I want my character to go to, I will set to the NavMeshAgent the target destination and start animation of my character. When the character reaches the target destination the agent stops and also the animation. In any other situation will character remain idle. As you may remember, my character has only one animation from Blender, which contains all clips. That's because animation in Unity can be splitted into individual clips.[...]
Altos will be click to move game. Luckily, Unity already has this system implemented, so I will use it. It's called NavMesh and NavMesh Agent. The NavMesh bake mesh over static objects in the scene. This mesh is used by NavMeshAgent to move. All objects marked as static will be considered as inaccessible areas (not exactly obstacles) and the mesh won't be generated in those areas. Another option is to use off-mesh links for jumping between hight levels (floors). I am not going to use it in my game.[...]
Empty scene in Unity needs a bit brighten up, but before I begin, let's clarify and prepare the assets. What are assets? Assets represent any objects that will be used in your project. Not only 3D objects, but all scripts, audio files, textures, images, you name it. And there is going to be lots of assets, so keep it clean.[...]
I have never been an upholder of using something that already made someone else. Unfortunately in the world of development of games it works the opposite way. Well, maybe in the case where a single developer does everything by himself. Usually a game is created by a huge teams of developers, grpahics, designers, artists, etc...To a certain extent I am all of it. I need to be. Those times, when I have tried to create my own engine are gone.[...]
As I mentioned it is not usual devlog, so I won't start with concept art, which I did not dedicate myself much anyway. More like not at all than "much". But I would like to summarize what is it about and what are my aims and/or goals. Yes there is more of them, to be honest I am not quite sure how far I am gonna be able to reach. To be precise it is very long process full of big sections which are composited of small checkpoints. How far am I in the process right know? I would say somwhere between 0.1 and 1%. That's still more than 0.[...]
I have already started with wannabe developing my own game, so why dont make a devlog about it? What game? Well I will get to that later. A better question is, how does even look some devlog? That was my first thought when I finally wanted to pour the letters into the document... After a while spent on the internet, looking for devlogs, I decided that I am not going to draw inspiration from internet and make it simple.[...]