Skip to main content

DevBlog #32 - Game

     Progress has been made. I have done a couple of things today that are pretty amazing (for my skill set), and in the following paragraphs. Enjoy!

    1) Client Scene Movement: I am now able to send clients to certain scenes based on a string of the scenes that I want them to go to. This should work for all networked/lobby clients, but I have yet to test the system on anything other than the host system (my PC).

    2) Terrain Generation: I have swapped out the old outdated hexagons for the fresh and new squares. I mainly did this so that when I was working on networking and pathfinding for roads and canals I would not have to make art combos for 2^6 but instead 2^4 for each transport type (ex. plain and stone roads, plain and stone walls, plain and stone canals, etc). This will end up saving me hundreds of hours on Blender, are will give me a bit of a more unique art style (imagine a hybrid of Polytopia and a board game). Terrain generation was very difficult to do since it is random and procedural (based on Perlin noise), and was multiplayer. I had to find a way to generate the same terrain with all of the same values and noise for every client and the host. The easy part was designing a system, the hard part was building it and understanding not only what network functions to use, but why I needed to use them and how they worked. I created a design where the host would create the tile map, and then store the position and tile element ID (id's: grass, desert, sea, etc). Once created the server would pass this array of data to each client, and they would reconstruct it through a simple for loop. Placing the tile specified by the element id, and in the position provided by the array. This only works because each client is "shipped" a pre-existing dictionary of tiles that is the same for everyone since all players need to be able to be both the server and the client at any time. I still need to make myself more familiar with the systems that power this solution (RPCs, Broadcasts, and other networking tools), but I think I have made some progress in understanding it. This solution is also untested, but I should find out tomorrow.

    3) Camera Controller: I have moved the camera controller over from the previous version of this game, but have found that implementing it is a bit more difficult than I first thought. Since I can not attach game objects to the client, or create any new ones specifically for the prefab (client), I need to alter the code. This should just be a matter of testing and fixing the code, iterating through it, and figuring out what works, but that does not mean it won't be annoying and time-consuming.

    Conclusion: Overall, not a huge amount of gaming changing progress, and the progress that has been conde is untested and unproven, but I think that this is a great step in the right direction. I have begun my networking adventure/journey, and I hope to learn more and push my limits for this project. Goodnight, and good bye!

Comments

Popular posts from this blog

DevBlog #4 - Fintech Platform

Progress Update (Life): 1) Just a quick update, nailed my forensics test (Monday) with a 93%. 2) Nailed my Calc exam (Applications of Derivatives: 92%, Function Analysis: 82%) 3) I have my AP Macroeconomics tomorrow with AP Psych right after that. 4) Next week I have finals for AP Mirco, AP Calc, AP Psych, AP Computer Science A, Forensics, and Langauge Arts. 5) What this means is that progress updates are going to be taking place at irregular intervals until everything settles, so sorry in advance. Progress Updates (Fintech Platform): 1) I have the connection to MongoDB established and have data being added to the DB from the signup forms. Data is taken from the forms, encrypted, and then sent to the database for storage. At the moment only the password is encrypted but I might change that. This means that I can begin moving to the next thing. At least once I fix a small little bug. Currently, it goes to a test DB and not the DB for this current project. I am going to have to figure ou...

DevBlog #23 - Game

      Today, a lot of cool things happened that have a drastic effect on the game and its systems. You can now add several effects to a single card. Each effect has their own duration, amount, type, requirements, etc. All one incredible system. This required me to rewrite a bunch of the cardEffectController script but was worth it. I now also have cities seeing and recognizing their effects and the buildings effects on them too. In addition to this, I also added the population growth system and the population feeding system. This allows the cities to grow and prosper.     I have added some more cards, and have been adding in all of the effects that the cards have on the world.      Pretty neat stuff.      I am going away to camp for 3 weeks so I don't know if I will be able to post or even work on it, but I will do my best to keep you updated on the game and on any changes as they come.     Thank you so much, bye...

DevBlog #19 - Game

      Today, I made a huge amount of visual progress. However this visual progress was easy to implement, so very little back end progress, as I had built it in a way to easily implement this new feature.     I have made building possible. I have also made all of the buildings and their effects happen in the game. It is response, and works very well in the MVP demo. However, I am going to change how it looks from a system where you drop the card and then your done, to a system pops up and allows you to build it. This system will show you a green, transparent, ghost game object for you to place, then once it has been placed it will turn int the real thing. You will also be able to drag and drop from the UI bar at the bottom the buildings that you an construct from the card you have chosen. This will look really intuitive and pretty, but will be simple and easy to implement.     This is a pretty big day as now I can actually do things on the...