• Advertisement


  • Content count

  • Joined

  • Last visited

Community Reputation

363 Neutral

About AuthenticOwl

  • Rank
  1. Do you have familiarity with the shunting yard algorithm? https://en.wikipedia.org/wiki/Shunting-yard_algorithm   Your visual scripting is going to boil down to a GUI for building expressions, so the first thing you should know is how you will process those expressions, that way you know exactly how you have to build them.    The Standard Expression calculator is a strait forward example without the need for a lot of other support so it is most often used in examples, but it can be implemented to be applied to non numeric expressions and to handle functions and such.     Since, the shunting yard algorithm is simply used to convert from infix notation to RPN, you might be better off using the GUI to build RPN expressions in the first place. I suggested the shunting algortihm because RPN tends to be a bit more difficult to write free hand, but since it is a GUI interface anyway, it is possible building an RPN expression might be easier. Either way, I would start with the shunting yard b/c it'll be easier to see what your gui has to do if you are able to write the expected results out by hand. 
  2. What language are you using?   Delegate functions in C#, function pointers in c++.
  3. Should i use "caveman-speak" for dialogs?

    Maybe hybrid:   One of the cavemen here looks distraught, when you approach he tells you "ugh! Bad people take dog! You get dog! Me give reward!"   Will you agree to find the dog?  Yes No
  4. Just wanted to share a link

    Latest version... https://youtu.be/EIo1rlQRg6I   I used a world that had already been built so the global map loads quickly... but watch the progress in the console window when loading the local maps as I havn't moved that to it's own thread yet so the loading of the local area looks like nothing is happening on the blimp tile map...  I am pretty sure I can bring the loading time down, but no matter what I need to put it on a different thread to show a loading symbol at least...   Luckly, you should be able to spend a good portion of time in a single local map... and if you go into any of the houses or eventually dungeons and such those states are quite small compared to the local area map so the initial sub map is pushed onto the slow loading local map so when you exit you don't have to wait for it to load again, extending the amount of time you are in "a single" local map. Dungeons can still be arbitrarily deep though because subsequent submaps replace the previous... so only a maximum of two game states are in memory at a time.          
  5. Ecs Gui Systems

    I think it was meant that since unity was driven so thoroughly as an ECS and the GUI was created with the same tools, it was likely that Unity used their ecs for the gui.
  6. Preselecting units and placing them all at the start of the game is a pretty standard, strait forward approach. I would consider this a baseline deployment strategy. It makes sense enough that players generally don't question it and it is in use in other similar games to such an extent that I don't think it would cause the game to be less fun. Drawing troops from a random pool is interesting, but it makes it feel more like a board game than a tactics/war game... this may work well if you are going for a lighter or more casual mood for the game. Another possiblity may be that, on each turn players are given n action points where n is constant regardless of the number of units available on the board. An Action point could be spent to move/use an ability on an troop already deployed, or an action could be spent to deploy a new troop. You could even make powerful units that require multiple action points to deploy. In this case, I would think that each "Army" might have one pre-designated unit that is the starter unit. At the beginning of each game, after players have chosen their two armies, they place the starter unit from each army. The players would then start the game on a clear board with two active units each. They would then have to choose between positioning/mobilizing their existing forces or deploying the troops in reserve. Unless your game already contains mechanics regarding resources and resource management I would steer clear of implementing method 2... I would think it would be too much overhead if you are using it only to determine troop deployment. You could make it such that while most units can be deployed willy-nilly there are other troops that require certain conditions to be met in order to allow deployment. For example, perhaps one unit is a goblin trooper... these can be deployed whenever troop deployment is normally allowed and say, an orcish squad leader which can only be deployed when there are three existing goblin troopers on the board. Or A phoenix which can only be deployed if a unit has been destroyed the previous turn.
  7. Is this video from before or after you reduced bloom? The text current looks a bit washed out to me. Other than that, this looks just as good as anything I would expect in a $15-$50 steam game.
  8. I have been working on a map generator... I have been looking at random collections of tiles for so long I can't tell a good map from a bad one.  Screenshots on Imgur  http://imgur.com/a/iBJBJ
  9. Maze Trimming

    @Waterlimon: My current algorithm creates a map where every cell that is open is accessible. @Zipster: I am not trying to use the alg used by the demo, the article linked points to a different (very similiar generator). The algorithm I am using works much differently in the room placement step, but the part I want emulate is where it takes the maze that fully fills non-room area and trims many branches such that the resulting maze still has all rooms connected, but not every bit of open space is filled with maze corridors. I think the issue is that my maze paths Through the rooms, where the one in the demo doesn't connect the rooms to the maze until the next step... but once that is done, the last step is simple trimming dead ends? (Pathing through rooms leaves no dead ends)
  10. Maze Trimming

    I (like so many others here) am working on some procGen maps. I stumbled upon this example: https://paginas.fe.up.pt/~ei12085/misc/dungeon-generator/?w=64&h=24&mazeType=random&roomAttempts=100&roomMinSize=1&roomMaxSize=5&connectiveness=0.02 Now, I understand the majority of the algorithm (or at least can replicate the effects)... but the last step is where I was hoping for some help. As the demo shows, it selects placement for some rooms, then builds a maze around it. Then using a connectiveness value it cleans up the majority of the maze, leaving only a few laborinthesc hallways. I was trying to come up with a similiar algorithm, but i don't think my idea is as efficent as the method the demo uses. My Idea was to label each room with a unique RoomId, then the maze path would not have a roomIds. Then I would iterate marking any square without a roomId with the roomId of an adjacent cell. If there are multiple adjacent RoomIds then: If the RoomIds are distinct-> Do nothing (Indicates the hall connects to a different room) If the RoomIds are the same, randomly choose to remove one of the halls or not. If the choice is made to remove a hall randomly choose one of the halls to remove. But I don't think the demo uses that algorithm... the algorithm used looks to be O(n) as cells in the top left are trimmed before cells in the bottom right regardless of room proximity and etc...
  11. Relation between mines & factories

    So... from what I understand so far... You have mines which produce minerals You have factories which produce Goods You don't want mines to produce stockpiles You don't want an optimal ratio You want factories to produce even without minerals... I am still confused though, factories produce objects called "Goods" or factories produce a variety of objects all of which are considered "Goods"? Also, are mines directly related to factories? Do all mines add to a resource pool from which all factories retreive? or Does Mine X supply Factory Y while mine A supplies factory B? If your factories only produce a generic item called "goods" then I think you will have difficulty making it more interesting then it currently is. The best a mine could do in that case is to boost production speed. Which in turn means that the number of mines required to maximize "good"s output will be the optimal ratio. If mines feed specific factories and factories produce a variety of "Goods" then you could do something where the qnty and type of mine "unlock" certain goods to be built from a factory... A factory with no mines can only produce Tier 1 Goods A factory with 1 mine feeding it can produce Tier 2 goods A factory with 2 mines can produce Tier 3 goods... If mines are of specific ore types then A factory with no mines can produce Tier 1 goods A factory with a gold mine feeding it can produce Tier2 Electronics in addition to Tier 1 (gold wiring or some such) A factory with an Iron mine can produce goods of type xyz So... in this way you could define goods with a required factory setup i.e Super High level shield generators require a factory with 2 Iron mines a gold mine and an shieldium mine feeding it in order to produce it. If you did this then each factory would have a ratio of mines assigned to it based on function... you wouldn't waste 3 mines on a factory dedicated to producing Tier 1 goods...
  12. Unpredictable, ubiquitously rng seed

    I hadnt even considered that, having been focused on the rng algorithm. so, along with this commitment scheme.    1) Players choose their actions   2) the file is encrypted with a locally random number as the key.  3) players share key when they have the other players actions. In order to prevent collusion each player would need to have the encrypted actions of all other players, not just the player they are sharing with.    so in order to have simultaneous action resolution with accurate information (the results of your last action), each player (except the last to commit actions) must use two communications per turn?
  13. Unpredictable, ubiquitously rng seed

    Thank you for all the suggestions. There are a lot of good ideas for various situations. Currently, my plan is as follows: Player A chooses their actions and sends the choices to player B. Player B chooses their actions and send the choices to player A. Choices are due before a set time. If both players receive the other players choices before the deadline then, after the deadline the players retrieve a seed from a source where the seed was generated at or after the deadline. If either player does not receive the opponents choices before the deadline the game is either forfeit with the player who did send their orders winning or the players choose a new deadline. This mean that, using the space weather site provided above, only one communication each way is required per day which can be sent at any point throughout the day and that communication does not need to have any non-game data piggy backing on it. As far as the die rolling sites are concerned, they are likely very good in situations where the randomization is simple (You are using the value chosen directly) and the number of randomized choices is small. As Far as context goes, I am thinking of the game being a war game where each player can give an order to every unit under their control per turn, which is why players would have an entire day to consider and record their actions, then the next moring when they start the game the player feeds their own and their opponents action list which determines the state of the game for their next set of moves. I will likely end up sending the start state of the game along with the move set to ensure that the game remains in sync... but still the primary goal of requiring only a single email per day be sent would be fulfilled. @FROB: Actually, I just re-read your suggestion... and realized that it is good no matter the number or complexity because as you said, it is only choosing the seed... this could be a very good solution esp. considering the turn lengths need not be restricted by the schedule of a third party site. The only wrinkle would be determining Who and when the dice rolling site be used... perhaps something like: At the beginning of the game choose a player as host. All players must submit their action lists to the host player Once the host player receives the actions chosen by all other player he sends his actions to all other players then requests a die roll from the die roll provider site.
  14. Unpredictable, ubiquitously rng seed

    @Tom Slooper: Sry, thx.   @Valrus: That site looks like a winner. In particular http://services.swpc.noaa.gov/text/daily-particle-indices.txt   @fastcall22: But if both players provide a chosen salt to each other the player who first receives their opponents salt could choose a salt that makes the final value most advantageous to themselves. The third party source still needs to be unpredictable unless the trading of actions where synchronized.
  15. I was contemplating how to create a game that could be played by mail/email... the easiest thing would be to create it such that there is no randomness involved in gameplay... chess for example is a great PBM (play by mail) game b/c there is no dice, no drawing, etc. But... Personally I prefer my games to have at least some rng. The problem with rng over PBM is obviously synchronization or the RNG. However, if both players used the same seed and rolled values in the same order then both players would obtain the same results despite a lack of data communication. First I thought to just use the current date (or some operation based on the current date) as the seed. The issue with this is that a player could theoretically choose their actions, then since they already know the seed test the results... if they come out unfavorably they could re-order their actions and choose the order that is most advantageous. So, the goal is to find a value which is unknown to each player until after actions have been choosen. One option I had considered was, at the beginning of the game players agree on a company in the stock market... turns would be due before midnight and the following morning the stocks opening price would be the seed. Unfortunately stocks are not traded on the weekend, so players would be limited to only playing on weekdays. Can anyone think of an rng seed source that would produce a new unpredictable seed value at least once a day that could be found by any one with an internet connection and also does not require the users to synchronize when they look up the value? The source should also be reliable (i.e supplied from some site/source that is unlikely to disappear).
  • Advertisement