Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

138 Neutral

About Wush

  • Rank

Personal Information

  • Interests
  1. So I wanted to have an easy peasy visualization of some lifeforms interacting with their food sources(using various abilities effecting feeding strength), so I thought to myself relations can be visualizes as graphs and I could use some graph Visualization tool extract coordinates and use them in Unity3D. I tried to use Msagl( or better said Glee) https://www.microsoft.com/en-us/research/project/microsoft-automatic-graph-layout/ however the documentation is abysmal and I could not get the bounding box to work. My question is are there any good alternatives for Layout engines or should I just study up on some Layout algorithm and do it myself?
  2. Thanks for the advice so far and forget the part with the wrapper, I scrapped that. For now I have simply added event call to the end of methods and wrote my own eventargs object to allow necessary information to be stored, I am still torn what arranges the handlers(I tried some form of matchmaker in a previous project), and might to have to write my own list class so whenever something is added to a list it throws an event. I still feel this all to be inelegant, creating eventcalls when there is no listener, so I still hope to improve this.
  3. As a hobby programmer I am slowly working my way up project by project to make a game. However I am currently stumped on what to do with what I call the communication layer. To explain: you have an ability, a technology or a building first you need to communicate to anyone effected to apply the effects. Also abilities might need to know when a certain activity is started or ended to trigger or alter their effects. Events are a tool to handle this, but: 1) You still need an effective filter, so only those recipient are called that fulfill certain requirements(nationalities, race, class, locality etc) 2) You need to know/write beforehand what method needs to trigger an event. I would be thankful for any advice on these two points, is there any way to elegantly append a methodcall with another methodcall? I mean I could write some kind of wrapper containing a delegate of a method and then only call the wrapper, having the wrapper contain a list of additional method calls and their inputs to be executed?
  4. Thanks for all the answers so far , ofc the answers of "do it simple" are not quite reason for me to jump of joy, but I appreciate them nonetheless. After taking a good look at the buffsystems let me explain my current thought and problems:   I am splitting modifiiers of variables into +x1,+x2%,*x3 and provide an double[3] modifiers for x  instead of x itself to access from outside the method and I have a variable that points to an outermost wrapper(Object starter) so I can modify and overwrite the method. Now I seperate simple variable modifications and keep them in a list to reduce the amount of wrappers needed, each of these simple modifications will have an apply and remove method so I do not add up modifiiers every time I call the method.    The big problem for me is how to handle the removal, will each wrapper or simple modifier need a remove  boolean to check  each time its executed, do I trust for example a buildings demolish instruction and instead of a list I use a map to easier find the modifiers to be used. Do I keep a seperate list for timed modifiers so I can check each time if they expire?  
  5. First my apologies for the late answer I needed some time to consider things carefully. Indeed when I talk about flexibility I mean "modular" and "easy to modify", the system does not have to provide all functionality on its own but its has to move out of the way when something new or different is added. The buff system or any event system are a good example of things i have considered in the past and indeed difficulties tend to run rampant, so much I even looked up a specialized programming language at some point(I think it had something to do with autonomous agents, i honestly forgot). It is exactly to avoid to overly complex solutions I am asking for tips,   P.S.: I think I was searching for code that instead of listening for parameters with if checks could activate or deactivate based on triggermessages at that point.   Also Sean considering the link you gave me I still need to read everything carefully, right now I lack some concentration to take in the information completely
  6. Hmm that pattern feels incomplete would it not make sense to have a kind of index class that keeps track of whats the newest wrapper to use for each method,so you do Not have to replace every reference to a wrapped object? And how does this influence performance once you have wrapped something 10 or 12 times? Also might be good to do this like a linkedlist to easier remove wrappers.(demolished buildings)
  7. Imagine for example you have a population with birth, death and illness however all these things are highly influenced/modified by species, environment, support structures. Even worse your species might be custom made from a list of traits and some traits might even change the whole way things work (undeads, hibernation etc). So any programming techniques or tips to create such a free system?
  8. One advise I can give is that if its allowed to stack spaceships endlessly than this easily degenerates into an attackers game: The attacker uses a massive army that overwhelms enemy ships fast enough to have almost no or no losses while the defender can not focus his troops in one region cause he leaves others undefended.   So limit shipstacks(possible trough supply issues) ,give ships ways to do meaningful damage before beeing taken out(torpedos, drones or explosive selfdestruct for example) limit the maximum number of ships that can focus fire on a ship(minimum range to be in for example) and give defenders a military advantage(spacestations, minefields etc) as the often have to spread their forces thinner.
  9. I kind of like action point systems cause of their flexibility, how about spells require to be charged up and you spend action points x for y charges and there is a minimum of action points you must spend per turn/time for a spell, there could even be an upkeep cost if you store a spell.   So  lets say you have 100 action points  and need to spend 80 points for fireball at a rate of 1.25 gaining 100 charges (which also only requires 100) your casting a fireball each turn and have 20 action points left to dodge If you charged the fireball beforehand lets say you needed to spend 40 points for upkeep and 50 points if you melee attacked, then you would not have 20 points left to evade, on the other hand injury could also cause you lose of action points. Now lets say someone had the talent combat mage(halfs the spending minimum for action points) and focused will (25% less spell upkeep) then he could spend 40 points to charge fireball (gaining 50 charges enabling to cast cast fireball every second turn) and 50 points for melee still not enough left to dodge but if he charged fireball beforehand  he would only spend 30 points for upkeep leaving exactly enough points to attack and dodge in the same turn.
  10. Wush

    Loyalty, etc

    First oon the matter of rebellion l once tried to design a game similar to Master of Orion 2 and thought that it would be nice to focus on maintaining an empire in a changing universe rather than limitless expansion, one thing I came up with:   In a large empire empire communication is very important, far away parts will culturally drift apart and there will be situations were regions are isolated due to war natural disasters, harsh winters etc. (there is even the possibility that certain techologies while known are not used in a particular region and such there practical use is lost) so if an area was seperated there should be a stat that decides if they rejoin your empire , a stat that prevents part of your empire to break away if they diverged to much (so you would have loyalty and divergence counteracting another and random events, wars testing loyalty )   Besides outright rebellion, taxes and troop recruitment could be effected or invoke larger penalities, resouces from a regions could stay in a local pool  instead of a global, maybe for every order you give you have to pay a certain amount of political influence and the cost increases with low loyalty  or/and you have to deal with requests of local leaders:build something(money resources), provide security(binds troops to a region),promote local culture(spend research) etc
  11. Wush

    Should I make an "all-in-1" game?

    Depends on what you want for your game and what aspects you want npcs to manage.  All settings slightly change plausibility of certain economic systems, production sytems and objects and tools but other than that they are mainly a matter of taste, what settings you prefer in stories for example?
  12. This however only works with unchanging facts, general gameplay principles, opponents that are standardised or the painful memorization of skill/move animations If you have changing enemies and circumstances you first need to learn relevant informations and learn how to adapt your gameplay, even in graphical form the amount of information you can convey and process in a short timeframe is limited.       When you create a character build you usually choose a general strategy or a repertoir of responses. If your character is about hit and run any variation can only take place within that strategy, if you already choose what defensive or offensive response you have available you already reduced the number of choices/options you have in a situation.   I hope you only accidently use the word experimentation here, because when I used the word I meant it in a larger context of figuring out a strategy, character build etc not synonym with trial and error, and even when I talk about trial and error I never mean blind guesses, but logically guided, assisted ones.
  13. Game design is ultimately about optimising fun. However people have different preferences so lets start this by me telling you the 3 criteria I use to determine if combat is fun for me, this way we can avoid just talking about simple matters of taste.   Challenge (moderate) Combat needs to occupy you, make you use enough of your mental abilities/skills that it differs from boredom, however even though I enjoy beeing rewarded for a good performance I am not a player able to reach perfection.  So I prefer a system that does not require perfection to stay competitive but is still challenging, a system that allows you to play stimulated but relaxed.   Variety How often do you repeat the same routine? How much do circumstances change what you have do to in combat? Without variation things can easily get monotone, without the need to react you simple hit bags of hp under a timelimit not an opponent.     Possibility to experiment I enjoy sandboxy elements and I can get  alot of fun out of combining skills and stats trying out different builds and strategies , planning and thinking to create something that works.   facts,deductions -For something to be challenging requires the possibility of failure -failure with high penality is frustrating -failure with low or no penality does not motivate to perform well -variety requires a diversity of possible actions and/or action patterns -for diversity to be meaningful different situations must require different actions and/or patterns -if only certain choices of actions/action patterns succeed the rest must fail   -experimentation requires multiple possible configurations to choose from  - enough possibilities have to be valid(have the same, best effectiveness) -different possibilities have to change the gameplay in some way to be meaningful different   conclusions, hypothesis, ideas The handling of failure is very important in a game, you want the player to succeed because failure is no fun but if you try to go for the easy solution of delivering only opponents a player is sure to beat your actually reducing challenge and variety for the player. A player has to win because he makes the right decisions not because he picks on the weak, but that requires learning, the collection of information, it requires a period of failure. Herein lies idea of trial and error combat, to create a system that allows you to fail in a controlled way, to gain information trough action (like for example simulated combat before actual combat) and such avoid a dumbing down of combat or standardization of enemies required by fast paced combat, which only leaves minimal time for thought, information processing .   additional questions: The amount of meaningful differences in gameplay is limited so are variety amd experimentation in competition with each other? Is the existance of non valid combinations even necessary?   discuss :)  
  14. Wush

    This is relevant to my interests

    I remember once seeing a program were every search created a population of search spiders, they competed against each other were rewarded for success, reproduced and mutated(with other words they did undergo a genetic algorithm) We could do something similar: Like you said, when someone posts a new topic he would have the option to add certain tags. For each tag, in case there would not already exist one, a small population of spidersbots would be created and the topic would be added to their candidate lists, this second step also happens in case the tags already exist. The spiders would also on their own try to find topics belonging to their tags and add them to their candidate lists. Now if a topic was on the candidate list the tag would appear in a small list of proposed tags for a topic with the option to either approve or dissaprove, once one opinion has enough support the topic is actually given or denied the tag and the spiders are rewarded( or punished?) based on the fact if that topic was on there candidate list or not. Occasional, as the populations are small, there might be interbreeding with other tags spiderbots to raise the overall fitness of the spiders while still maintaining their tag specific strategy, association patterns etc.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!