Jump to content

  • Log In with Google      Sign In   
  • Create Account

Olof Hedman

Member Since 24 Aug 2011
Online Last Active Today, 02:23 AM

#5168487 Concern on "paying to enter" a project

Posted by Olof Hedman on 22 July 2014 - 04:25 PM

It doesn't even sound like he understood what he was applying for.


Nothing to think twice over, just politely send him on his merry way.

#5167830 First person perspective improvements?

Posted by Olof Hedman on 19 July 2014 - 12:47 PM

I don't think removing motion blur would be an improvement. Motion blur is not a purely cinematic effect, It is not just a result from limitations, or "eye candy" it is used to help your brain see motion better. In real life, the brain has a lot more input, from your inner ear and muscle feedback among other things, which is lacking when you just are presented with a series of still images on a screen in 30-60 frames per second.

If you add motion blur to those still images, the brain has an easier time "stiching it together", and can reduce motion sickness and makes it easier to see how objects move and make the motions feel more fluid.

#5165217 How important is localization?

Posted by Olof Hedman on 07 July 2014 - 03:46 AM

If you have 3 languages in a game, say English, German and French. Do you upload 3 different versions of the game or do you need to have all languages in the same game? Also if you are supposed to have a single version of the game containing all the languages how do you detect what country they bought it from so it starts up in the right language?


You usually have all languages in the same.


For text strings, this is usually handled automatically, you never use literal strings in code, but a string ID.

You then have several string lists, one for every language, and the device makes sure to load the right one.


If you can get it to work with just changing all strings, that is all you have to do.


Things like numbers and currencies has to be run through a number formatter, that format it according to the region. (currency symbol before or after,  using . or , as decimal divider, etc)


Sometimes though there is some minor code change needed for a particular language or region.

For that, all platforms have some API to ask what language the user wants, and you can then take any action necessary.

#5164560 How do you get ideas for new games?

Posted by Olof Hedman on 03 July 2014 - 07:41 AM

(and subtilted in deutch)


Not that it really matters, but those subtitles are Norwegian :P

#5162960 Using 3rd party libraries or code your own?

Posted by Olof Hedman on 26 June 2014 - 02:18 AM

The main advantage of a 3rd party library is not that the code is written for you. The main advantage is that the code has been tested and debugged for you. 


Although this is certainly true, it's also dangerous to assume it is extremely well tested for your exact cases.

Taking in 3rd party code is also a risk.

It could speed up development a lot, but it can also trip you on the finish line when some obscure bug in it appears, and you have to scramble to either have it fixed or work around it.

If you have the source code to it, you are a bit safer, but understanding a 3rd party library enough to safely make changes to it also takes some time.


Just wanted to underline that the choice isn't straight forward...

#5162269 Making a weapon feel powerful.

Posted by Olof Hedman on 23 June 2014 - 01:52 AM

What are some good, general ways to make a weapon feel very powerful without changing its practical effect on the target?


This is the question you posed to the forum.

Several people have tried to answer it, and it's unfortunate you don't feel like any of the standard ways are good enough for your game.




Or I can, maybe, get a recording of the real thing with echo, ( movie style, but it fits since you would get echo realistically out there) and crank the volume until it becomes alarmingly loud.


The "problem" here is that sound has the same issue that graphics has on a computer. 

It never is realistic. It will never be more then an approximation of the real thing.

It's not really practical to play a sound that should sound exactly like a gunshot, unless you make sure the player has an insane sound rig, and even then it would be very hard to get the sharpness of a real gunshot.

It will mostly just sound like a crackling mess.


So just as with graphics, you do it as best as you can, and do various "tricks" to compensate.


It's no longer strictly realistic, but it "feels" better, and can even feel more realistic then the alternative.

#5162063 Making a weapon feel powerful.

Posted by Olof Hedman on 22 June 2014 - 06:15 AM

Gunshots do not sound metallic, they sound like bombs going off.


Just a tiny counter nitpick if we're going super realistic: Gunshots can sound pretty different for the shooter, then for anyone standing next to it in my limited experience...

I remember trying the m16 once, and all I could hear while shooting it was the spring in the stock... Made it sound like I was using a toy gun.

That combined with the plastic "toy" feel of it made me kind of loose my respect for it :D


But the same is true for anything I've fired (mostly military stuff), there is a lot of sounds from the mechanism mixed into the explosion sound.

Or just general rattle from every part of it, like for an ak47...


Though, I used ear protection of course...  quite a different thing without it.


But in any case, with this level of realism, I assume you just want to use actual high quality samples of the actual guns firing or some gun close to it in model.


I don't think you should go for trying to give people problems with hearing or neighbours by mixing the sound level too "relistic" in volume. Better then to simulate it in-game with reduced volume on atmospheric sound, ringing, blurry vision etc.

#5162054 Best way to remove a substring from a C string?

Posted by Olof Hedman on 22 June 2014 - 05:37 AM

memcpy memmove is what you need.


you need to copy everything from b to the end of the string to the position a.


so something like this:


memmove(mystr + a, mystr + b, strlen(mystr) - b + 1);


The +1 is for also copying the null terminator.


That will leave some unused space at the end of the string.

If this is a prolem, you could copy the result to a newly allocated string which has the right number of bytes. 

Maybe using strdup



edit: Fixed it tongue.png As vstrakh points out below, memmove is the one to use when regions overlap.

#5161435 Share the most challenging problem you solved recently! What made you fee...

Posted by Olof Hedman on 19 June 2014 - 02:12 AM

My latest most challenging problem: Not going mad while trying to release two of our games ported to Android...


So far, almost 100% success.


Still not completely released yet though...


Also a bit proud of my xml/C++11 UI framework that runs on our in-house engine that made the ports possible :P

#5160841 getting a job with sdl?

Posted by Olof Hedman on 16 June 2014 - 07:52 AM

In general, you do not get a programming job because you know any particular API, you get a programming job because you can show you have a solid understanding of the concepts of programming, and is a fast learner.


It's expected that you can pick up and run with any API thrown at you.

So just practice using whatever, and write lots of code.

#5159775 harder cases of triangle projection

Posted by Olof Hedman on 11 June 2014 - 08:12 AM

it wold be nice if someone would say something more about them both* and some details


*seem that this cutted pyramid is at least more popular though the uncutted maybe may be better, im not sure


It's not a choice, the cut pyramid is correct, and the uncut pyramid is wrong.

You must have a near clipping plane, everything closer then the near clipping plane will misbehave, because math.

#5159725 Alan Turing

Posted by Olof Hedman on 11 June 2014 - 03:59 AM

The problem with discussing if machines can think and be intelligent is that we do not even have a strict definition of what thinking and intelligence really is.

As far as I understand it, Turings main argument is simply that when you cant tell the difference, that is as good a definition that we can hope to achieve.

#5159723 Elements of Minecraft

Posted by Olof Hedman on 11 June 2014 - 03:51 AM

I loved the explorer aspect of it, being dropped in an unknown and dangerous place, amd trying to survive. Caves can be scary places :)

I also loved building from gathered material to do impressive fortifications and traps for mobs and automating stuff (from doors to chicken breeding machines).

I only played survival. Just building, with instant access to any block, did not appeal to me, but I dont doubt it was a very important part of its success. It enabled people to share impressive screenshots.

#5159575 Alan Turing

Posted by Olof Hedman on 10 June 2014 - 01:35 PM

I think we could give Turing a chance until his test has actually been properly tested smile.png This test seem pretty silly.


But I agree that it seems humans are just too easy to fool, for the test to be any reliable for deciding true intelligence.



Anyone can try the chatbot in question here:




Personally I have a hard time understaning how anyone could mistake it for a human... Least of all anyone actually seriously trying to decide.

#5159263 android fluid frames and gc

Posted by Olof Hedman on 09 June 2014 - 08:32 AM

Isnt this something you do against the language? Im a bit schocked. Is it really possible to not involve garbage collection in java? 


It's not that much stranger then avoiding to do unnecessary memory allocations and copies in your inner loops in C to increase performance.