• Content count

  • Joined

  • Last visited

Community Reputation

135 Neutral

About Mythics

  • Rank
  1. Hello all, I'm working on a game of sorts using mostly cubes (fairly minecraft-like). I'm currently using 3D Perlin Noise with some custom tweaks to generate the terrain which works out fantastic, but I'm not quite sure how I should be going about rendering it in the best manner possible. I definitely don't want to be over optimizing, but with the level of detail I'm going for, it's quite possible to have several million 'cube' faces visible at once. Instancing of individual faces certainly isn't desired in this case due to the expense there (tried it, obviously failed miserably due to the heavy amount of real time computations needed to translate/texture/etc). So, my goal at the moment is to create some form of surface extraction algorithm. Rather than recreate the wheel, what might be out there to accomplish this simple task? I'm obviously not just wanting to create a generic mesh with two triangles per every face, but slim down on those triangles when multiple faces are joined together on the same plane. Any help, tutorial links, code, etc would be appreciated. Edit: Thought I better specify, I'm using C# with XNA 4.0. I should be able to port most anything over though, but I'm sure someone has already done this in C# (xna shouldn't be terribly relevant I wouldn't think). Thanks, Mythics
  2. Simple enough concept, but it's really confusing for me. Feel free to look at this [url=""]demo[/url] to get an idea of the perspective I'm referring to, but the real map is HUGE and many many layers thick. It's all 2D, using SpriteBatch in C#. I'm currently checking every potentially visible tile on every potential layer, from back to front, to see if it 'exists' (not just if it's visible) and then drawing it. I am indeed able to compare where the player is with the zoom factor to cut out anything outside of the screen area vertically/horizontally per layer, but as I draw each layer, I'm unaware of a fast method to skip entire layers completely hidden by layers above them or to only attempt to draw single cubes when only a few on a given layer are actually visible. Any suggested methods of how to ONLY render truly visible tiles, without iterating through all tiles to check for their visibility? Thanks, Mythics
  3. Wow, excellent. Thank you all very much, exactly what I was looking to find. In regards to unknown terrain, that's exactly how I've been handling it IADaveMark, thanks for the reply to jefferytitan so I can feel more confident in that approach. Occupancy maps sounds like a slightly easier approach, but I'll definitely look into both. Thanks again.
  4. Working on a turn based, 2D tile based game. Going very heavy on tactics/strategy. I have field of vision working quite well for players and enemies alike, but I'm struggling with how to have enemies chase a player once the player has left the enemy's sight. Tiles are unknown to characters (enemies/players) until they have been seen at least once, and when not in direct view it is unknown what is actually at that tile even if the terrain is remembered. The game is mostly within a tunnel like cave system, so an enemy chasing a player could encounter things like the path splitting two ways or even encountering dead ends. The field of view is also a 90 degree cone in front of the character and turns are taken using action points, so a single character could take multiple steps per turn (easily leaving another character's current line of sight). I'm sure there's some form of pathfinding that could use things like last known position, previous movements observed, etc to 'chase' a target, but I haven't had a lot of luck with Mr. Google today in finding anything relevant to my exact kind of situation. Any help on this would be appreciated. Thanks, Mythics PS: If there's anything else I could add to assist someone in assisting me, please just ask. Ty
  5. Surface Area of Circle... sort of

    [quote name='alvaro' timestamp='1331317823' post='4920732'] [url=""]This is called the Gauss circle problem[/url]. [/quote] Perfect, thank you very much.
  6. Surface Area of Circle... sort of

    [quote name='Cornstalks' timestamp='1331313511' post='4920719'] It becomes complicated by what distance method you're using. Without knowing this, it's impossible to even begin speculating on some function that does what you want. [/quote] Ah, understood. Well, the function I typically use for distance is just Sqr((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2) which I believe is euclidean distance. The kind of answers I would expect would be like these, where the first number is the radius used and the second number is how many tiles would be considered to be lit. 1 5 2 13 3 29 4 49 5 81 6 113 7 149 8 197 9 253 10 317 I already have a pretty solid process for lighting them and all, but I'd greatly appreciate a method of calculating how many COULD be lit prior to running the lighting code.
  7. Hello all, I'm working on a top down 2D tile based game. I'm working on implementing lighting of a sort, but I'm only lighting entire tiles (either lit or not). So, say I have a light source that should light all tiles within a radius of 1. That would end up lighting 5 tiles (it's own and those adjacent to it). That's great and all, but the question arose to me, just how many tiles are going to be lit by using a specific light source (without iteration or implementing it). Of course I started with just doing a typical calculation of circle surface area, but as an example, a radius of 1 would just result in Pi typically rather than 5. Any suggestions on how I could implement a function that simply returns the number of tiles that would be lit when inputting a single number for radius? This can definitely ignore walls. Thanks in advance, Mythics
  8. [quote name='nobunagaota' timestamp='1327480666' post='4906048'] Sprite-based rogue-like in XNA, eh? Seems like we have similar interests, my friend. I was recently playing with CA-based cave generation as well. My approach was to connect isolated sections to my largest "cavern" with A*. In order to do so, I had to know where all my "caverns" were, so a variation of that may help you. My approach was to use a flood-fill to fill contiguous floor areas with a number that I could then use to identify the various rooms within my cave. I'm not sure how the performance will work for you since I used much smaller caves (60x30 or so). I detail what I did on my blog here: [url=""][/url] [/quote] Thanks a ton. It looks like you did a much cleaner version of what I was attempting. I really do appreciate the help. I'll give this a shot and see what I can manage to break next
  9. Hope this is the right forum, if not please point me in the right direction. I'm working on a roguelike that does level by level design using cellular automata for cave-like dungeon generation. My issue is that my maps are fairly large. 500x500 grid typically to start with. To have the look that I'm going for, I am still occasionally coming up with disconnected smaller areas of floor tiles. My question, how would you go about simply removing these smaller areas in the fastest method possible? I'm writing this in C# using XNA, 2D Sprite based. The map simply consists of wall and floor tiles. My current method of handling this is: 1. Look through every tile on the map. 2. If the current tile is not in the array BigOList and is a floor tile, use Dijkstra's algorithm to compile a list of all floor tiles within this section. 3. Save this list as an array element within the array BigOList. 4. Go back to step 1 until every tile has been checked. 5. Check BigOList for the largest section, set all other sections to be wall tiles. The performance issues here may be my bad coding, but if not, I'd love to hear how someone else would or has handled this sort of scenario.
  10. [quote name='Tiblanc' timestamp='1326892120' post='4903955'] Chess is about an even battle between 2 players who each have hundreds of possible moves at any point during the game. What makes it interesting is the huge number of possible moves our inability to analyze them all. Mario is about having good timing and reflexes. Players find it fun because they see their skill level go up as they progress in the game and need precise timing of their jumps. The thing with RPGs and character progression is they usually come together. RPGs are usually simple. You have some choices, but it boils down to 1~3 obvious choices. This gets boring after a while because the outcome is determined by the stats and RNG, not the player's ability to analyze complex situations or the player's ability to time button presses. To compensate, the player is given rewards in the form of items and level ups. Take any roguelike and remove loot and levels. This would be a very boring game. If your game has the complexity of chess, then you could do without any form of character progression. You provided complex turn examples, but that doesn't mean the game has the complexity of chess. When the player understands the game mechanics, if he's left with an obvious action chain, it becomes as simple as a roguelike where all you do is mash the direction key until that "k" disappears, but with extra tedium thrown in. If there are still lots of interesting things you can do at that point, the game should stay fresh. This could be by having a bunch of flow changing abilities, using the environment during combat or something else that prevents having an optimal action chain at any point. [/quote] Thank you very much. It may simply be how I needed it explained, but either way this helped me quite a bit. I'm pretty confident that my game at it's current stage would barely compete with the intricacies of tic-tac-toe, let alone chess. I'm constantly trying to add to it's complexity while also keeping it very simple to understand/use. The examples of flow changing abilities and environment are exactly what I was looking for. I'll more than likely start trying to consider the environment as my next big challenge once more bugs get squished. Thanks for the pointers. If anyone else has any good ideas on how to expand on this, please feel free to let me know
  11. Guess I messed up pretty big in having RPG/Roguelike in the title. It would seem the question is irrelevant if no one can get past the idea of no character progression. How do people enjoy playing something like Chess more than one game in a row if their pieces don't get new abilities? What keeps you going in Super Mario Brothers if killing turtles is just as difficult on World 1 as it is on World 8? What drives a game that isn't about collecting items, making your character stronger, or other progression based systems? Is it all about the level? Making it to level 10/20/30? Is it about the score you earned in comparison to your last play through or your friend? etc
  12. [quote name='Tiblanc' timestamp='1326821688' post='4903687'] [quote name='Mythics' timestamp='1326818762' post='4903674'] The issue is, eventually with even the lowest form of progression, your character is gaining power. There could be some point, more than likely, where you could strip your character naked and jump into a pit of 50 of the weakest mobs in the game and flutter around like an imbecile taking every one of them out with ease. [/quote] Sure, but that's like saying if you gather every penny you find and put them in a pot, eventually you can buy a car. I wouldn't rule out any form of progression because some player who invested 20 hours can jump in a pack of low level rats and survive. What I'm saying is if you feel the game could benefit from progression, but don't want it because it creates weird situations, then there are ways to tone its effects down. [/quote] That's the thing I think. I rather dislike character progression myself. I only ever see it as a carrot on a stick. Your stats go up meaning you can then go to new areas to kill things with stats to match. So, while some might love for there to be character progression in this game of mine, I would prefer to wow them a bit by not including it and having something like immensely strategic combat in it's place. I just figured I could supplement the strategy with something else to ensure that wow factor. [quote name='Tiblanc' timestamp='1326821688' post='4903687'] If you really want to drop it, create interesting encounters that act as gatekeepers. Something like you need to find a way to beat these 3 ogres to go to the next level. They would be equivalent to puzzles where you have to solve them using the game mechanics. Learning obscure mechanics can motivate players to replay the game. [/quote] The entire game in it's current state would be quite like this. Simply moving from one room to another is a risky venture where every combat situation is in itself a puzzle of sorts using the game mechanics and your own person play style you've chosen to try out. I just worry that this in itself will not be enough to keep a player's attention long term. Not that the game need to last more than 10 minutes even, but I would love to have the interest in the game keep someone playing for a longer period of time. [quote name='Acharis' timestamp='1326819287' post='4903675'] Maybe if it just for your family make it a split screen? Nowadays screens are big and you can easily connect 4 or even more gamepads to PC, which might result in a very unique and enjoyagle gameplay (and since it is arcade it is player skill based mostly). Are you willing to inroduce arcade elements (that's the easiest and most obvious solution to making a game skill based) or do you want it purely "brain-tactical"? Are you able to gather all players in front of one computer (this would allow you some very unique options)? How many players will there be total (this affect the game design drasticly)? [/quote] As it's for friends and family alike, I'd greatly prefer to have multiple clients and a server rather than split screen. It would be quite difficult for me to get everyone I'm hoping to have play in the game all at once, let alone in the same room. I am pretty closed minded in certain aspects, but without an example or two I couldn't honestly answer how I'd feel about arcade elements. What exactly do you mean by arcade elements? I hope to have the game scale in difficulty from 1 player up to about 4. I could see 6 being doable still, but anything more than that would start getting a little silly I think.
  13. [quote name='Tiblanc' timestamp='1326816341' post='4903663'] Character progression and skill based games are not opposed to each other. You just have to make character progression provide a smaller boost in power in comparison to decisions. To give an example, take the same game with low and high character progression. The player and the enemy both have 100 HP, deal 5 damage on a poor decision, 10 in normal and 20 with a good decision. If a good player can keep making good decisions and make the enemy take poor decisions, he will kill them with 75HP left. An average player will have 50% win rate while a bad player will always die. Now throw in progression. With low progression, the player might have 120HP and deal 6/12/24 damage. The average player now wins with 30~40HP left. The bad player still loses, but might end up winning every now and then. With high progression, the player might have 200HP and deal 10/20/40 damage. The bad player can't lose even if he plays like an idiot. [/quote] The issue is, eventually with even the lowest form of progression, your character is gaining power. There could be some point, more than likely, where you could strip your character naked and jump into a pit of 50 of the weakest mobs in the game and flutter around like an imbecile taking every one of them out with ease. If it helps to, think of the game as more like an action adventure sort of game. Think of it like the original Super Mario Brothers. You had X lives, you progressed through level after level of increasingly difficult challenges, gaining temporary boosts and losing them equally.. and the end result was a scoreboard and how far you made it through the game (potentially to the end). There shouldn't need to be character progression to have a great game, but what exactly is it that can replace character progression in a top-down, turn based, tactics style game? Storyline is a quite popular answer, as would be a score like in Super Mario Brothers. Simply knowing you fared better this time than last could easily entice you to play again and again. But would any of these things be enough? If not, which is my opinion, what could be added to replace character progression in a solely skill based game?
  14. Sounds like I might need to go into more detail about what I already have accomplished, so here goes a lengthy post including replies. The game is multiplayer. You log in, create a character by putting points into Health/Action Points/Melee Damage/Ranged Damage/Ranged Distance. It's intended to be quite balanced so that a character with 20 points spent in any direction is fairly comparable to any other character's 20 point spread, whether they be melee oriented or ranged. Health is a direct representation of your armor. It doesn't make a lot of sense, but it plays out well in that the more health you have the more 'noise' you make (in theory, heavy armor = quite noisy). To explain noise a little further (as well as sight), I'm calculating a 'threat' per location/character based on noise made or what is seen when looking upon a character. If an enemy sees you, it considers you to be a threat based on how close you are to it and what you may have done to it already. Your existence in itself registers a slight amount of threat. If you were to move within sound range of an enemy, it would 'hear' your movements (higher threat based on just how much noise you make). If the threat you generated while behind the enemy is high enough, it will turn towards you to investigate. So even while in combat with one target, your movements could be not only detected but enough to sway the enemy in your direction. Attacking, moving, and using certain items will all make some amount of noise. The lower your armor/health though, the greater chance you will have of being able to play in a stealthy like manner. Oh, and not all monsters like one another. There have been a number of times in what I already have thus far in which a group of 3-4 goblins get in a fight with an ogre. While the ogre is engaged, you can quite easily in full plate 'sneak' up on him to assist the goblins or simply pick off the goblins and fight a much weaker ogre once they are killed. As the threat from his front is so high in knowing what the goblins are capable of, hearing you approach from the back isn't enough to warrant his turning towards you. However, if a neutral patrol of kobold passed behind the ogre who is engaged with 3 goblins, that might entice both goblins and ogre alike to focus on the kobold instead of each other. So, considering those few stats and aspects thus far, as a player you could play in a number of styles. From the beefy warrior archetype to an assassin, ranged character to a stealth pro, your choices could be quite interesting. Things like double damage while attacking behind a foe aid in these tactics, or blocking only being doable from your front while equipped with a shield. To touch on stats a little more (as well as items), after character creation you are only given the absolute necessities to meet your character's stat pools. If you went high health, you'll be auto-equipped with plate armor. If you went high ranged distance and poor ranged damage, you might have a long bow, but shoddy arrows. Every piece of equipment gives to some stats and takes away from others to assist in balancing. If you are in full plate, carrying a 2H weapon, you won't have many action points or moving/attacking in itself will cost more to perform. A side note on action points, even turning your character to look in another direction will cost you a point at minimum. A couple example turns: 1. Turn to face enemy, step twice towards them, attack with ranged, side step behind wall for cover. The enemy closes and attacks with melee, doing decent damage. 2. You switch to your melee weapon/shield, step to the side of your foe, attack for 150% damage (side attack), and put up your shield for blocking. The enemy attacks, doing 75% damage due to your block. 3. Having already explored the terrain, you backstep 4 spaces, pull out your bow and spend your remaining action points for the turn to perform a more calculated shot slaying your enemy. One last point, as this is multiplayer, I went a slightly odd route to accommodate a turn based game using a more free-form multiplayer style. All players and NPCs move freely, but not in excess of a specific time increment. It only switches to true turn based actions once a combat session has begun. A combat session has begun once a threat is established against or by a player/NPC. All those within the session take their turns in order. The biggest flaws of this design is that enemies could easily wonder into your combat session or you could simply stand still within a session while awaiting your friend's arrival. As each session is operated individually, you could in theory be in one combat session for hours while another player mows down the entire level of the dungeon. [quote name='Heath' timestamp='1326772442' post='4903482'] [quote name='Mythics' timestamp='1326740918' post='4903321'] I do understand having a character improving their ability to swing a sword after swinging it a thousand times and all, but I don't see how the scale bends the way it does in some games. Sneezing at sewer rats you fought early in the game shouldn't be enough to slay them now simply because you've killed a hundred of them. [/quote] So, low-level opponents should have a roughly equal chance of winning against high-level opponents (be they players or NPCs) via tactics provided by your sight-and-sound mechanics. By sight-and-sound in a roguelike, do you basically mean that some textual/graphical hints are displayed on the screen to show you what you could do to make, say, a good swing at your opponent? [/quote] Well, I only intend to have the total points spent on a NPC reflect their strength, no actual level. The same would go for the players. As far as the sight and sound mechanics, they are more or less to indicate the threat level of an opponent or the threat of what might be to your side/behind you/down X tunnel/etc. [quote name='AltarofScience' timestamp='1326774925' post='4903490'] [quote name='Heath' timestamp='1326772442' post='4903482'] [quote name='Mythics' timestamp='1326740918' post='4903321'] I do understand having a character improving their ability to swing a sword after swinging it a thousand times and all, but I don't see how the scale bends the way it does in some games. Sneezing at sewer rats you fought early in the game shouldn't be enough to slay them now simply because you've killed a hundred of them. [/quote] So, low-level opponents should have a roughly equal chance of winning against high-level opponents (be they players or NPCs) via tactics provided by your sight-and-sound mechanics. By sight-and-sound in a roguelike, do you basically mean that some textual/graphical hints are displayed on the screen to show you what you could do to make, say, a good swing at your opponent? [/quote] I don't understand his question at all. Player skill in a roguelike? I always thought RPGs were supposed to be about role playing your character. That's why they use character skills. I guess that's why he said don't think of it like an rpg. Does he want an action adventure game? [/quote] That's exactly why I said not to think of it as a RPG. It's probably best for me to not label it as any specific game type as it alludes to a specific preconception of what the game would be like and/or contain. If I was to describe it at all at this point, it would just be a turn based strategy dungeon crawler. [quote name='Ashaman73' timestamp='1326781919' post='4903518'] [quote name='Mythics' timestamp='1326740918' post='4903321'] I'm hoping to have my game more about positioning, relying on your senses, paying close attention to your surroundings, etc and much less about picking up the Battleaxe of Unending Bonuses. [/quote] I think you have only the option to add some tactical combat simulation. This could give the player the chance to defeat an enemy or a group of enemies, otherwise too powerful for the character, by tactical finesse. It is like chess, roguelikes like [url=""]tome4 [/url]are going in this direction. Otherwise the simple representation and turn base nature of a roguelike game are restricting the usage of certain human skills like reflex, fast movement, sound awareness etc. Adding sound to a game with a top down view will not help you to get a better sense of the scene, thought it could help to improve immersion. Whenever I play a fps game like BF3, sound helps a lot, but only because of the first person perspective which is mandatory to give you an immediate hint of events in your direct surrounding. Awareness and fast reaction, which are important for many action games, not neccessarly only for FPS games, need atleast a realtime environment. You need to be aware of a certain situation, do a fast decision and need to execute this decision in a short period of time. This is not really useful in a turn based game. [/quote] I agree very much. My biggest concern with the game thus far is that without character progression, the preconception of the style will give a negative light on the game without truly experiencing the game. When players realize how well they need to play to progress through the dungeon, that might give them a nice kick in the pants worth of motivation, but how long could one enjoy nearly non-stop exploration/tactical combat? Without much of a story or lore behind the game, item acquisition, new abilities/spells regularly, what could I do that might be somewhat innovative to keep a player entertained? To modify my original question, how can I put skill in the hands of the player rather than the character, without having a game that doesn't get played?
  15. [quote name='Acharis' timestamp='1326742728' post='4903334'] But what if the player is not so skilled/smart or simply very young? He won't be able to play the game because it would be too hard. In a normal RPG if player's skills are poor he just grind killing rats or goblins longer then level up and he can beat the stronger enemies without using tactics his brain is uncapable of inventing. That's one of the strongest points of RPGs. [/quote] This is just meant to be a hobby game, not trying to sell it or similar. The only real market for this exact game is myself, my wife, and a few friends. Take away the label of RPG if that makes it easier for you to think about.