|
Sure, but I have already done that a few times and I never had much trouble managing a few pointers and memory. Anyway, in many languages overstepping the boundaries of an array may have worse consequences than just causing an exception. Your implementation therefore also offers the advantage to allow as little or as much error handling as is needed.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
CodeWraith wrote: Anyway, in many languages overstepping the boundaries of an array may have worse consequences than just causing an exception. Not too hard to write a method that takes any value and checks for overflows. If you overflow on the right of the map, set the value to zero, and you re-appear on the left of the map.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Map? Reappear on the other side?
How primitive!
I have a map of a galaxy with 4 billion x 4 billion x 4 billion coordinate points and who knows how many hundreds of thousands of stars. There are 4 billion of these galaxies in each of the 4 billion universes. One of the galaxies should last the players forever. Don't try to store all that in an array.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
CodeWraith wrote: Map? Reappear on the other side?
How primitive! May be, but it is simple and it works
CodeWraith wrote: I have a map of a galaxy with 4 billion x 4 billion x 4 billion coordinate points and who knows how many hundreds of thousands of stars. There are 4 billion of these galaxies in each of the 4 billion universes. One of the galaxies should last the players forever. Don't try to store all that in an array. Tell me you are building Elite III or a new Master of Orion
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
I still play Master of Orion II very often. I have not really worked on my game in quite a while now. It's more a browser game that has accidentally fallen out of the browser. I have posted the link to the video before, but you can see what I need octrees for: link[^]
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Have you considered a pre-release on Steam?
If you need someone to test the game, please let me know
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
I would first need to get my Padawan onboard again and then we need to set up a new server.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
harold aptroot wrote: A common bug-inducing pattern...This is something that I've seen novices do quite a lot more than necessar
This is "common" and done a "lot" where exactly? What industry?
I have worked in a few and cannot ever recall that pattern even being in use.
Not to mention that your solution is fixed size. How can someone add and remove nodes to a fixed size structure and yet manage to not correctly hook those up? And yet is something that only shows up over time? If they are directly manipulating the structure all over the place and not using a well defined API then certainly that would be the case but that would be true for any data structure entity, like lists, hashes even databases. Is that the real problem that there is no well defined API?
|
|
|
|
|
For pathfinding, I just draw a bitmap in memory, at the lowest acceptable resolution, put all the obstacles on it, and draw a modified version of A* on top of that.
Then I collect the result, and *bam* a path in < 100ms.
The result usually gets stored on disk (as bitmap), which makes debugging waaaaay easier.
This probably sounds god-awful for most people, but it's a really simple solution to a complex problem.
Easy to maintain, easy to debug, easy to tweak on the fly (by modifying brush thickness of various obstacles!).
Also, it avoids the common rookie mistake: trying to build an efficient solution to a problem you haven't solved yet.
First you build the easiest possible solution, with considerations made towards debugging / testing / maintenance.
Then you profile your resource consumption, so you know for a fact what's slow and what's not.
After that, you refactor until you run out of time or budget to do so.
EZPZ
|
|
|
|
|
It's all about raisin awareness really!
Ba-Tish! Did it again!
Anything that is unrelated to elephants is irrelephant Anonymous
- The problem with quotes on the internet is that you can never tell if they're genuine Winston Churchill, 1944
- Never argue with a fool. Onlookers may not be able to tell the difference. Mark Twain
|
|
|
|
|
|
I prefer the fermented grape juice from the Napa valley
if (Object.DividedByZero == true) { Universe.Implode(); }
|
|
|
|
|
I think it's even better from the Willamette Valley but that's just me.
|
|
|
|
|
This is a plum joke - you have really pruned it down to the point where it could be told regularly.
Socialism is the Axe Body Spray of political ideologies: It never does what it claims to do, but people too young to know better keep buying it anyway. (Glenn Reynolds)
|
|
|
|
|
...they bark!
Ba-tish! Thinking of quitting my day job, waddaya think?
Anything that is unrelated to elephants is irrelephant Anonymous
- The problem with quotes on the internet is that you can never tell if they're genuine Winston Churchill, 1944
- Never argue with a fool. Onlookers may not be able to tell the difference. Mark Twain
|
|
|
|
|
Leaf it out, willya?
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
This is the root of all evil.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Wood you believe it?
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
|
Indeed, I do knot.
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
You're such a boy scout!
Anything that is unrelated to elephants is irrelephant Anonymous
- The problem with quotes on the internet is that you can never tell if they're genuine Winston Churchill, 1944
- Never argue with a fool. Onlookers may not be able to tell the difference. Mark Twain
|
|
|
|
|
If there were two of me, you could start a fire!
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
If he knows nothing, he must be Jon Snow and not a boyscout.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Oh stop it wail you.
... such stuff as dreams are made on
|
|
|
|
|