Skip to main content

DevBlog #34 - Game

    I have made a whole lot more progress today on the game. Here are the updates so far.

    1) Empire Creation: I have created a scriptable object and a script to manage and control the empire-based actions. When created, the empire script reaches out the the name creator script and generates a random medieval empire name. It then stores all of the data such as religious stats, empire stats (gold, tech, people, wealth), infrastructure-based data (buildings, tiles, cities), and empire armies. Additionally, once created each empire gets a unique soft color which will end up going on troops and flags, and be used for other empire-based interactions.

    2) Religion Creation: I have created a scriptable object for a player's religion, and I have also designed a really cool way of managing and progressing your religion. Religious progress (religious tenets, ideologies, and foundations) is controlled by a new type of card that uses 50/50 chances to determine what tenets should be added, and then those tenets affect your gameplay, choices, interactions, etc. For example, you might play a card where it says "Religious Freedoms?" and it is a 50/50 chance of either allowing multiple religions in your empire (making it harder for other religions to declare war on you, but easier for them to make money off your empire), or only one (making it easier for war to be declared, less learning rates, and allows holy war). It is then up to the player to either choose to play that card and run the risk of their strategy changing, or put it into the auction house.

    3) City Scriptable Objects: I have added a scriptable object that will be used as the scaffold for city creation. When you play a settlement card, this will be created with the building, and used for storing all data. When created, it reaches out to the name generator, which generates time-period-based proper naming for each city uniquely and randomly. It will also store data about population, income, tiles, buildings, troops, objects, etc.

    4) Name Generator: A system that randomly/procedurally generates names for cities, empires, units, religion names, and people to make the game feel more alive and immersive.

    5) Card Dealer: Made changes to it by adding a whole new card type. Here are the types and odds: Action (60% chance of being pulled, perform actions (build, train, etc)), Event (30% chance of being pulled, perform events (Mystery stranger, 50/50 based actions that typically yield food, population, gold, etc)), Religious Cards (10% chance of being pulled, direct the tenet creation and allow for religious actions (dedications, religious wars, tithe collection, etc)). Additionally, I made the script smaller and more efficient. I also switched from pressing the turn button once and getting 5 cards, to now it is the deal button, and gets you one card or 50 gold.

    6) RTS not 4x: I have switched the game from being another turn-based 4x game to a fast-paced chance and card-based real-time strategy game. No longer do you press a turn and get 5 cards, choose 3, and then end your turn. Now you start the game with X amount of units, and the starter kit of cards (Settlement, Farm, Mine, etc), and have to buy cards for 50 gold. Additionally, if you don't want that card, you can pay 25 gold to discard it and put it in the auction house, where other players can buy that card for 100 gold. Now, the faster you are at making decisions, and acting out your plans the better. In combination with the chance of cards, and the random 50/50 events, I think this game would make a great multiplayer game. It is kinda like "Settlers of Catan" mixed with "Spoons" mixed with "Yahtzee". I have spent the last couple of days reworking the game from turn-based to being solely real-time.

    7) Card Displays: I now have it set up so that the card dealt to the player by the dealer is then properly displayed. I am currently working on setting up a system that will allow for the playing of cards.

    9) Custom Religion: The creation of religion is now an action card and the tenets that the religion follows are dictated by the cards that are pulled after that. I thought it would be cool to really show religion like this as it will do a good job showing how religion is created, and then warped by society and influential people, even if it is against the creator's wishes.

    10) Unit Scriptable Objects: A way for units to be understood on the data side of things.

    11) Religious Cards: A new card that is kinda like the action card, but instead affects mostly religious things (except holy wars, which affect a lot of people). They will drive religious change and will enact religious actions (collect money from churches globally, make dedications, etc). Furthermore, they connect to the random name generator and get random procedural religion names based on the time period of the game.

    12) Object Scriptable Objects: A way for objects to be created and stored in cities and in card actions. Objects that may exist are religious followers, swords, armor, etc. All of which has not been added into the other systems in the game (city, empire, cards, religion, etc).

    13) Economic Rework: I have simplified things a bit. No longer is their silver in the game, that has just been taken out, and all things that would have been done by silver (former currency of the board, training, building, etc. While gold was the currency of the players, trades, auction houses, etc). Now there is just gold, which makes just one global currency responsible for everything, all of the board actions, and all of the player actions. One simple currency just like Polytopia!

    14) Card Effect Manager: A system that takes in all of the data from the card system, and helps determine, how it should affect the board. Should it add or take away gold, assign a government, or attack a player. All are controlled by this system. The high-level things are done, I now just have to build the other systems (building, attacking, peace, politics, religion, etc) to complete it, and fully integrate the effects.

    15) Interval System: Since there are no longer turns, I needed to figure out what I was going to do for the era-based system and the previous turn-based yield system (X building produces Y after Z amount of time). This was a bit difficult, but then I realized, I could just have the server tell everyone that one interval (new turn equivalent) passes every 30 seconds, then base all actions and board events off of that interval. Building yields now occur after an interval, movement replenishes after an interval, etc. This way there are still things that happen over time while making it all seem real-time.

    Conclusion: A lot of progress has been made but there is still a lot more to go. I need to do card placement, handle building, religion, empires, multiplayer, auction houses, and countless other things. But for now, I am happy and content. Goodbye and good night!

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...