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 #41 - Game

    More progress has been made, and I feel like a million bucks because of this game.     1) Tech Tree Restructuring: I have switched my 1D list to a 2D list so that I can store all of the data about the branches and their different techs in each era. I have made it so that you can smart scroll through eras and through each tech category. Once researching the first tech, settlement, you can then get access to all other tech categories (Military, religious, education, industrial, etc), and each tech in that tree for each era. At the bottom, you can press a button to increase or decrease the era that you want to view. However, you can only increase up to a certain point, either the max of era 3 or the furthest era that branch goes to. This makes the tech tree feel a lot more advanced and less crowded.     2) Auction House: I have now got the viewing system working for all of the cards in the auction house, as well as the system to reassign who it is that is ...

DevBlog #18 - Game

      Today, I spent 10 hours working on the ability for a user to select a card, then a tile, the hit the card again in order to use it if it is tile specific. However, this idea sucks, and I don't like. Tomorrow I am going to go back and change the entire system. Instead you are going to drag the card to where you want it to go, then release it on the tile you want the effect to take place. This will then apply the effect to that tile. This way it is one click and not 3, and is also more interactive for the users. Furthermore, I wont have to convey to the user that certain cards are tile based, and some are not.     I also rewrote the terrain hex map generator script. I made the script completely modular, meaning that in the editor you can create an object to spawn on the terrain just by clicking a plus. You then plop in the model, the name, the description, the spawning frequencies, and the tiles that it can spawn on. Then for each tile that is generated it c...

DevBlog #5 - Game

      Hello, found out a solution to the problem that I was having yesterday. I have discovered the fabled perlin worms. We will use them by starting them off on high terrain values, and going to low terrain values changing every tile it touches into water tiles. This will create the effect of rivers.     Easy money!     Thats all for now, bye!