Jump to content
  • Advertisement

chosendl

Member
  • Content Count

    134
  • Joined

  • Last visited

Community Reputation

122 Neutral

About chosendl

  • Rank
    Member
  1. chosendl

    Stumped with the Map PHP

    Firstly, I am a highly experienced PHP,mySQL,flash,AJAX developer with a keen interest in game development AND MAKING MONEY! If you would like to hire me to solve problems like this or just as a coder, feel free to let me know. Also I would be interested if the MMO of yours is up for a profit share amongst team members. That being said, giving you an answer is very difficult without more information. If you use AJAX, you would be able to Poll your PHP/mySQL server with AJAX requests for player information (checking when a player has reached a certain level) and when he has, if you are using regular HTML and javascript (a series of IMG tags) for your display, you can reference the coresponding IMG tags and change their images to reflect the new area occupied by the player. At this point, if you haven't already done so on the server, you can send another AJAX request to your server to update the players area in your database. PS. if you are using flash for your display, you can use flashes internal XMLrequest methods to communicate with the server. If you are not using AJAX technology at all, you will have to do this with javascript page requests (window.location.href = "url of page with appropriate keywords") Also do not forget that you need to track the session_id() of each of your players when the log in to the server, so that you can identify who each request is comming from effieciently. (You can also do this with a url passed variable, but this would leave you wide open to hacking and cheating) Please feel free to further any other questions you may have.
  2. Hi all, I have a game with 1000 ships flying around. I need to perform collision detection between these ships. Problem is, that is 500500 calculations to perform every ? milliseconds. I have a system that holds 5 lists of ships within a certain range. the 5th list checks the range of all ships, the 4th checks only ships within a 10000 pixel range, the 3rd only 2000px range and so on. The 5th list gets updated every 5 seconds, the 4th every 1 second the 3rd every 0.2 seconds and so on. The smaller lists use the larger lists to check against which ships that should be considered for distance calculations. This is the collision filtering system I am using to avoid 500500 calculations every couple of milliseconds. Has anyone got any better ideas (I don't care how complicated they are, speed is all that matters!). Thanx in advance.
  3. chosendl

    Difficult game controls

    I had an idea for a game like this once, complex controls that can control individual parts of the characters body allowing him to pull any moves imaginable. Alot of physics calculations and rules needed though. The game would be a matrix styled combat game against multiple opponents. And once mastered he could perform truly breathtaking and beautiful a$$-kicking
  4. I think you guys are all off track. Make sure that any number of players is allowed to form an alliance before or during the game. Make trade a free for all, you can trade with whoever you want. Yes, teams of friends will develop, with soaring advantages. But, when this happens, other 'dying' players will naturally start teaming up to take on the bully, so you have nothing to worry about. A game with free diplomacy balances itself. Now you have a game with great economics, strategy and diplomacy!
  5. I cant see anything wrong with that code, you should cutting that if statement out and see if your page still generates an error, perhaps it is actually an error somewhere else on the page. Also, what does the error say?
  6. Very processor intensive, but saves memory and labour. Theres always a trade-off (sigh)
  7. If you dont wnat to use 6-sided sprites to animate a voxel object, you could just store a copy of the voxel object for each frame, but this would take a lot of time to create and use a hell of a lot of memory to store all this information. The use of 6 sided sprites was a way of simplifying the production process and saving a greatly decreasing the amount of information needed to store the object. There might be other ways of doing it, ill give it a little thought today. By the way, going with the mega memory method, you would need to use some kind of compression!
  8. Actually it can and will work, Ive thought about it some more. Step 1, start from front view - Search the left most column first, work from top to bottom. - By looking at the first left most top most pixel, you can view it from three different sides, giving you perfect information to its coordinates. step 2, start working your way down, using the left side sprite for depth information, until you hit the bottom. step 3, start a new column and repeat the procedure, checking the left side sprite too see if the z-depth for the front view has decreased, or is the same. If it has decreased, the left side sprite will tell you by how much and what colors the voxels in between are. step 4, the only time this does not work, is the condition I mention earlier, A DITCH OR CREVICE! In other words the z-depth has not stayed the same or decreased for the front sprite, but increased (in other words sunk deeper into the object), more than the last pixel from the left side view, thereby, the side voxel walls would not be visible from any of the 6 views. The solution to this (the only one I can think of) would be to split the sprite into 2 or more splits, causing crevices to become exposed by creation new 'sides'. As an example, a voxel abject has a crevice in the center, then split it down the middle, creating to halves of the front and back sprites, left, top, right and bottom sprites remain the same and two new sprites (right2 and left2) are created where the object was split. This spliting technique on just one split increases amount of data by only 33%, subsequent splits will be smaller percentages, depends on where they are split off.
  9. So I was thinking about ways to minimize the amount of voxel data required, in other words ways of compressing voxel data. What I thought of so far, is using a kind of quad tree for blank areas in the 3d world. Whereby if 8 small voxels are all blank, one larger blank voxel with dimensions of 2x2x2 is formed in memory and then 8 of these larger blank voxels, and so on. So any rays or whatever, would first traverse the large voxels, and if it is blank can skip right over it, if it is not blank, check the next level of smaller voxels it contains and so on. In this way not only do you have much much less information to store, but also alot less voxel space to traverse, which means less calculations. This was my ideas so for, any body care to expand or provide some other good ideas?
  10. I thought about this some more, and you could probably discard the depth information, as you could just match the colors of pixels from the different sides against each other and if you are clever no depth information is required to recreate the model.
  11. OK this is a bit hard to explain, im not sure i even understand it correctly, so correct me if im wrong guys, but this is how i would implement it. like a dice, all voxels have 6 sides, so an object made from voxels could be viewed from 6 sides, flat on. This would give you 6 2d sprites. Our special sprites, contain information: Red, green, blue and depth, for each pixel in the sprite. The rgb is the color of the particular voxel you were seeing along that line and depth is how many voxels deep it is (from the surface of the sprites viewing plane. If you can wrap your head around what ive just said, you will end up with 6 sprites instead of a lot of voxels. Interesting thing is that when you recreate the voxel object from the sprites, you loose alot of voxels that were there before (specifically all inner voxels that you could not see, which is ok, because you couldn't see them to begin with). The object when recreated is actually hollow, only the outer layer of voxels is used, the voxels seen from the 6 sides. There is of course a problem with this method: When viewed from a side you could miss a ditch or crevice that is only visible from another angle, so you would have to figure out how to code around such problems.
  12. Kens method of using a 6-sided sprite map to generate the voxelated object, is of course a brilliant solution. For each frame, you have 1 of these 6-sided sprites and generate the resulting object in voxels, while you are rendering. This way you do not have to store 1000000's of voxels for all of the frames, you only have to store the sprites! Ken silverman is my new hero!
  13. chosendl

    Voxels and hardware accelaration

    Voxels are alot of fun to work with as well, and they hold a completely different set of offerings to that of the triangle system of today. They could easily rival triangles with today's computing power, were there proper hardware support for them, like there is for triangles. I believe that they will surpass triangle systems in future, as soon as hardware 'catches up'!
  14. That i am not so sure about, as there are not many games that use them. and yes, speed is a huge problem for voxel engines, although ken's work is rather impressive, and if combined with some form of hardware accelaration, it should produce gameable results, i'd say. A voxel engine is completely, at present, software drive. So voxel shadows and lighting effects, are whatever you program them to be, if any.
  15. Here goes, imagine an area of 3d space. Imagine a 3d pixel (a small cube) in this space. Your screen is made up of a lot of pixels and your 3d space in comparison is made up of a lot of this cubic pixels, called voxels. Hence the name, voxel (volumetric pixel). Instead of building a 3d house out of polygons, as per traditional 3d graphics, you could build it out of 1000's of these little cubes (each with its own color). This is the art of voxel graphics. There are many things voxels can do that polygons cant, but the big problem is that there is no real hardware support for voxels, which is why they are not commonly used. The best example of voxels is ken silverman's voxlap engine. Demo can be found here http://www.advsys.net/ken/voxlap/cavedemo.zip Try going realy close to a cave wall to see the tiny voxels that make up the surface.
  • 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!