Oooh how do I do that?
Cas
Oooh how do I do that?
Cas
SetEnvironmentVariable changes the value for the local process. My brain isn’t pulling up the UNIX equivalent.
Under Unix the launching script can clear/set everything you want for just that process. Since i use a launching script for both mac and linux, I think this could work well for those platforms.
That works as well. But since Cas has an exe, it’s kinda a shame to have a script calling setenv then executing rather than just doing it programmatically.
The exe’s only for Windows, so no great shakes.
Cas
So if you want to run it in 64-bit mode you need to distribute a separate package? That’s kind of a bummer.
32bit stuff works on 64bit pc / OS’ just not the other way around
I know that, but you’re missing out on performance increases of running on 64-bit if you only offer a 32-bit version.
Not really, in our case.
Cas
I know that, but you’re missing out on performance increases of running on 64-bit if you only offer a 32-bit version.
I am not aware of a performance increase running under 64 bit. Hardly any application takes advantage of the native performance of 64 bit integers, while every application takes the burden of wider references reducing overall (effective) throughput.
Interesting. I do see performance gains on 64-bit, but I tend to be computation intensive. I thought that they added pointer compression to the 64-bit JVM…I’ve never bothered to look and verify. (Of course pointer-compression isn’t free).
I notice quite a bit of performance increase in my code. Anything CPU bound should see some gains with 64 bit in java generally simply because there are more registers and thus its easier for the JIT to do its thing. As for the longer pointers. The 64 bit jvm does some tricks. So if you don’t need 64 bit pointers, it wont use them. For example the mem footprint of my code is the same in both 32 and 64 bit within the normal variations.
there are games (riddick for example) with 32bit exe and a 64bit exe
you could do it like this, including 2 jre’s
but there is no performance gain, its all about memory
java memory management could lead to a difference in speed, but it should really be minuscule
You said in the past that, I guess it was bmt micro, ate a lot of the profits, but now you still use it
how much do they get exactly / is it bad ? are there alternatives, beside of course steam and stuff ?
You said in the past that, I guess it was bmt micro, ate a lot of the profits, but now you still use it
how much do they get exactly / is it bad ? are there alternatives, beside of course steam and stuff ?
BMTMicro take 11%. This is obviously quite a bit more than the 2-3% I think I’d be losing if I had a merchant account and processed credit/debit cards and Paypal etc. myself but the fact of the matter is they provide an awesome service and I wholeheartedly recommend them.
What’s costing all the profits nowadays is the Puppygames infrastructure - we spend about $1000 a month on servers, accountancy and bank charges, which is about what we make direct through BMT. So our direct sales are basically just keeping the company ticking over and the Steam money is where our bread and butter comes from.
Cas
So if you want to run it in 64-bit mode you need to distribute a separate package? That’s kind of a bummer.
You could include both binaries in the package, or install the one required if it’s in an installer.
32bit stuff works on 64bit pc / OS’ just not the other way around
Yes, but I have case where using 32bit opengl library (ATI binary drivers) on 64bit ubuntu sort of works, but then it crashes… Using 64bit for the app fixes that problem.
I have a question.
-How many sprites can I update per frame? (for a desktop, say)
-I’ a novice in OO programming. Is it really normal to have a separate object for each cell and every entity in the world? Or maybe I should just make separate arrays (Every array repersents some property of the object)
-What to do if I’m supposed to have many thousands of dynamic objects all the time on the screen and many more in the unseen world?
I have a question.
-How many sprites can I update per frame? (for a desktop, say)
-I’ a novice in OO programming. Is it really normal to have a separate object for each cell and every entity in the world? Or maybe I should just make separate arrays (Every array repersents some property of the object)
-What to do if I’m supposed to have many thousands of dynamic objects all the time on the screen and many more in the unseen world?
I think i can answer these question
I would like to learn numbers)
Can I draw, say, 100000 sprites per frame?
Can I have, say, 10 000 000 million objects? What is the number, when you should forget about making it objects and try another approach.
As I understand OO is more for convinience and reusabilty.
Just to give the scent of my question. Let’s have a tiled map. Every cell can have an object in it. If I follow strcitly OO, I make Cell.class, Entity.class. They communicate, Every cell knows what Entity it contains. But another thing I can think of is an array of cells and every cell object has a parameter, which tells us, which type of entity this cell contains. The second variant is more difficult to maintain, because I’ll have to put all communication between entities into Cell.class which will become big.
In other words I would like to know the expenses and benefits on having an object instead of a field. How much additional memory (for an ampty object) it uses. How times of read/write accesses of an object and of a field vary.
An array of Cells is still perfectly OO, and still using separate objects, just organized in one collection. If you have millions of them, chances are you might want to represent them with a compact representation like an int, and only create a Cell object from that int when it’s actually needed. This is also known as the Flyweight Pattern.
Consider that if you have a 100x100 map of walls and floors, that’s really just two things with their references repeated 10,000 times. References are cheap – just the size of a pointer. For entities that are really unique, like monsters or treasures, you might have a separate map layer that does contain unique entities on top of it, and that likely only gets into the hundreds of distinct objects, not millions.