Skip to main content

Posts

Showing posts with the label Table Top Empires

DevBlog #44 - Game

      I'm back. I took a bit of a  hiatus from the project as I had to do a whole bunch of pre-finals for my classes. But I am back and working on the game. Down below will be what I worked on.     1) Syncing Building Data: I tried working on the system that will send out your building data, and sync it on the network. That way other players can interact with you, and you can interact with them. This is a very important feature as other players will need to be able to discern what tiles are under control by which nations. Additionally, I use them for easily setting up player to player interactions by allowing a player to click on a tile and it be traced back to owner, save that owner reference, and then interact with them (war, trade, peace, etc). I belive it works, but it will need to be testing in multiplayer.     2) Auction House Functionality: I have started the process of making the system for card viewing. it currently works fin in multiplay...

DevBlog#43 - Game

      Networking for the game has been tested, and it is a bag of mixed news. Here is how this post will go, I will first go over networking-based updates, then game updates, and then future updates. Here It goes.     Networking Updates:     1) Lobby System: Firstly, this aspect of the game works well. Players can create a lobby then receive a code they can use to invite other people to their lobby. Once there the clients are created and in the same game together. They get the same map when playing, and things like placing buildings (Building data not shared, and prefabs, not displayed) work (tech tree allows research for cards, cards place, and tiles update values globally for all players to see).     2) Client Side Code: The client-side code works for the most part. The years don't seem to update visually for the client but do for the server, but almost everything else works. The tech tree, card placements, building placements, etc. All wor...

DevBlog #42 - Game

      I kinda don't like networking and having to deal with it. It is a really big pain. Here are some of the realizations that hit me when working on this, and how I dealt (I think) with them.     1) Networking Object Instantiation: I realized late last night (~2 am) that when a player was creating a building, the data was not being shared with other clients. All buildings were being created locally which is not good for an RTS multiplayer game. I then had to figure out how to create network objects, and how to pass that information/creation event to other clients and the server. This involved some RPCs and some code reworks, but I think it works. Tomorrow, I will be doing the first-ever multiplayer test, so I hope the gods are smiling down on me.     2) Networking Data Creation and Management: Next up is how to pass/update information when it is created or needs to be changed. I needed this for the terrain management system. The creation of the tiles...

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 #40 !!! - Game

    More things have been accomplished today, and I am feeling really good about it. Here it goes:     1) Mine V1: I modeled a little tiny gold mine in Blender (as best as I could, art will get better with time), and added it to the game. I then added the functionality for its production, cost, placement conditions, and more. Making it fully functional and expanding the game's current playable state.      2) Card Effect Manager: I have added more advanced control features for the game that allow me to enable more accurate and in-depth controls for each effect a card can have. For example, there is now a global check box, that will apply the effect to every city. A new check box on the effect to discern if it needs a settlement, and a list area for you to list tiles the card should have effects on. All have been added to the game, and now it is just a matter of going through and adding in each card and custom effect.     4) New Cards and Techs...

DevBlog #39 - Game

      A couple of things have been worked on today, and here they all are:     1) Auction House: I have started the process of creating the auction house, this will be a bit more difficult as I have to do it in multiplayer, dealing with everything every other player has discarded too. You can discard, and then scroll through pages of discarded cards, and filter by category or by player. This might be useful if you're looking for something in particular or have trade deals/sanctions with someone. I want to also add a way to search for cards by name, but that is going to come later once the system works.     2) Multiplayer Integration: I have now added some code to make it so that cards now remember who originally dealt them this way it can be used for the auction house. Additionally, I also added the system for syncing the cards in the auction house across all clients and reworked some of the map gen. I hope to beta this weekend on another computer, but...

DevBlog #38 - Game

      More progress has been made today! Here is the news:     1) Artwork (3D Modeling): I created my first 3D model in Blender, it is pretty bad, but should do the trick while I learn and get better at 3D modeling. Below is a picture of the house that I made. I will gradually add in more models (buildings, tiles, units, etc) as I progress in the game development. But this is a good start, and the first step in this learning process          2) Build System: I have now created the system that will place the buildings directly on top of the tiles, and not halfway through them. This might not sound like such an important thing, but it is the first time I have directly dealt with ray casts in Unity.     3) Settlement System: They are now equipped to handle upgrades, tile collection/claiming, and more. This is useful so if cards are buildings that need a settlement to be placed or have an effect, this now allows it to happen. ...

DevBlog #37 - Game

      An incredible amount of progress has been made today, I have never been this excited to tell you guys about it!     1) Building Placement System: I have now got a functioning system where the player can click a card, and if it creates a building, it will open up the build bar, and allow the player to place the buildings. I have added the systems to see if the building requires a settlement and if so it will check to see if the tile is owned by that player, and if not that can build on it/ I also added in the acceptable tile locations based on the building and its data. I then have it adding that building to that settlement and to the players' empire, and then being saved for effects later on and at that moment.      2) Card Placement System:  The visuals are all synced up and functioned wonderfully. Of course, the UI is all primitive, but we are making progress. I have made it so that the cards require certain tiles to be played they wi...

DevBlog #36 - Game

      A lot of cool and important updates to go over today, so strap in and listen up.     1) Card Selection and Placement System: I have now created a system that will allow the player to select cards and play them on the board. It is connected to the notification system and provides visual feedback. The visual side is as follows: Click a card to select and it gets 15% bigger, click again to deselect and it goes back to being the same size, click another card while a card is already selected and the previous goes back to normal and the new one gets bigger. I also linked it to the notification system so it will tell the player when they placed a card correctly, and will tell them what is wrong if they play it in the wrong spot.     2) Build Placement System: Similar to the cards but for buildings. Grabs the data from the card and creates a building panel with a list of slots populated with the building data from that card. Then the same sizing and sele...

DevBlog #35 - Game

      I have created a couple of new things and refined some other things, so here it goes.     1) Notification System: A way for notifications to pop up and show the user what is going on in the game, making it clear how to play, and what they are doing wrong or right. It creates a notification object, that is stored in a list, that is displayed when the list has something in it. It is a simple system that enables the user to see everything. I added a little display counter to show how many notifications there are, and where the player is in the notifications (ex. 4/10). I also created a way to delete the objects, and scroll left and right through them.     2) Card Selecting System: A way for the users to select the card, and then have the data passed through to the player and used in the game. I want to add indicators for where the card will be player (outlining the tile), and a scaling factor for the card that has been selected.     3) Rel...

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

DevBlog #33 - Game

     A lot of progress has been made today, and I truly mean a lot. Let's go over it below.     1) Camera Controller (Reworked, mostly): I now have the system properly moving (WASD, arrows, panning), and rotation (mouse, and QE). I have removed zoom since that was not working for me, and I was getting mad trying to get it to work. That's when I moved over to the game manager system.     2)  Game Manager: The Game Manager system was my first real solo attempt/challenge with networking. Everything else I had followed tutorials to get done, but now I had to do it solo, on a niche platform (FishNet), and with very little documentation. The turn system was challenging since I had to keep track of the states of other players (their turn, and if they had finished it). My setup is as follows: An array to keep track of each turn that every client is on. It is a global/synced value. This means if client A updates it every other client also gets it updated. ...

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

DevBlog #31 - Game

      We are back!!!     After several months of not wanting anything to do with my game due to the sudden and unfortunate realization that I would have to restart everything, and also have to figure out how networking worked, I am back! I have done a lot of thinking, a lot of school, and a lot of everyday life things, but now I am back, and I have made some progress that I am wanting to share.     First things first, Steam Multiplayer...     Multiplayer is a very difficult thing to do for Unity, even more so on a very small budget ($0), and a very small amount of networking knowledge. In total, I have probably watched somewhere around 100-200 hours of networking tutorials for Unity, and I have only just scratched the surface of what I need to know and do. However, that does not mean that I have not made some progress, because I have. I just completed the most basic implementation of Steam matchmaking/multiplayer/lobby systems in the world. Y...

Life Update

      I deeply apologize for the massive delay between blog posts, but life got busy, and programming in my free time to a back seat to the rest of my life. So... here are some programming updates for you.     1) The Game: I have made no progress on the game since my last post. I worked for a bit integrating Steam multiplayer into the game, but it did not go well. I have made the difficult but ultimately smart decision to scrap the current game and rebuild from scratch. This way I can start with multiplayer working, and add on systems as I progress in the game development. naturally, this killed a bit of the energy I had going for it, but I think it is the best decision. We also have decided to dissolve the game studio since I was the only one programming and designing, and they have all moved on with their lives. I don't want this to be the end of the game studio, but work on Table Top Empires will be slow and not consistent, sorry.     2) Fintech: Af...

DevBlog #30!! - Game

      Today I worked on the previously mentioned quality of life updates. Now when you progress to the next turn, the previous turn's notifications are cleared.     I also added event cards. This was cool as a lot of the event cards are chance-based rewards or risks. They are all 50/50 so the programming was easy, but still cool. However, the adding of event cards somewhat broke the queuing mechanisms for the dealer. I now have to fix the way queuing system, making it take into account the already purchased action and event cards, then deal and display the appropriate cards for the next turn. I also have to fix how the event cards are displayed in the auction house. They are shown right, but when I click to buy, the card does not always show it properly.     A lot of progress was made to day on the event and action cards, along with dealing, auction house functionality, and notification quality of life updates. All in all a pretty solid amount of progr...

DevBlog #29

      A lot more progress has been made on the game today!     First up is the creation of the auction house filtering system. Now players can filter the cards in the auction house by category or by era. I also added in the functionality for purchasing of cards. The money is removed from your balance, all information is shown about the card, fees are added onto the purchase cost, the cards are added to the queue of cards to be dealt, a max for auction house card purchases, and more. The system works beautifully! I even connected it to the notification system. Now it gives you a notification when you have purchased something.     Second thing is the "completion" of the notification system. There are now visuals. The color indicator changes when a notification is either good or bad. The title/header also changes along with the message of the notification. Futhermore, the scrolling and closing systems have also been added to they system allowing for playe...

DevBlog #28 - Game

      So sorry for the long time between updates, with school starting, and life beginning to ramp up again, I've been busy. However, I am back, and am hoping to take this game to the next level.     First things first, the notification system. Now you are able to connect with the notification system from anywhere in the game and send a notification to the user. None of the visuals are done yet, but the entire back end is. It stores weather or not it is positive, negative, the name, description, category, location, and more. It is a great system, that will easily be scaled when the player makes it further and further into the game.     Next up is the auction house. I have now made the system where discarded cards go to the auction house, where other players can purchase them. I have added the fee system, the visual system, the names, information, data, and pricing. All of it. The visuals are lacking though. Additionally, I am going to add a system for ...

DevBlog #27 - Game

      Added in the system for the auction house. It is still buggy, but the display systems are working. I need to polish the bugs, then I can add in the system for buying cards, filtering based on category, and more. Short little update, just wanted the world to be aware. :)     Thats it! Bye!

DevBlog #26 - Game

      I have finally fixed the bug that concerns the ability to require previous techs to research the next. This means that I can finally start testing some of these cards. Unfortunately, here comes the hard part now. I am going to have to create a system for the UI, troop creation, politics, etc. This will be very difficult, so I am going to break it into small bit sized pieces.     The first thing I am going to work on is the UI. I am going to make the system for viewing information about your city, then slowly start adding on to it. This will allow me to view how the settlements/cities are working, how interactions are being registered, etc.     This will also allow me to create the system for religion and object production, which I already have added the backend for.     The UI will be very hard since I am going to have to figure out how to add data visualization systems like pie charts, graphs, etc. Furthermore, it has to be completely ...