Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!

1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Member Since 18 Oct 2005
Offline Last Active Yesterday, 11:31 PM

#4944130 Multiple program files

Posted by SimonForsman on 28 May 2012 - 02:32 PM

Don't add the resources to the .exe in the first place, load them from disk instead.

#4943902 Registration, Keys, and Verification [?]

Posted by SimonForsman on 28 May 2012 - 12:01 AM

Personally i don't think it is worth it to make things "hard to crack" , if one person can crack it you've lost that race anyway, if you're going this route you should look into a service model instead. (If your application is tied to a service under your control a pirate has to replicate your service instead of removing your DRM, this will give you a far bigger piracy free window (This is the route PC games are going these days))

Businesses tend to be fairly honest when it comes to software so your best bet is to make the DRM help them keep track of their licenses to avoid honest mistakes (it also helps to offer site licenses to make the license management easier for your customers).

Individuals pirating your software can probably be a good thing, if they can't pirate your software they'll probably pirate your competitors software instead (and if the IT staff at company X runs pirate copies of your competitors software at home your chances of making a sale to company X becomes alot smaller than if the staff runs pirate copies of your software). (If you're also selling to individuals or if you have a cheaper version for individuals piracy becomes a real problem though)

#4943148 What kind of game to create if you want "decent" money out of it?

Posted by SimonForsman on 24 May 2012 - 11:32 PM

As an indie your best bet really is the casual/social market, you stand a much better chance competing against games like angry birds or farmville than you do competing against Starcraft, Left 4 Dead and Mass Effect.

Now it all depends on what you consider "decent" money though. If you want to make millions then you're in the wrong field, indie game developers don't become rich unless they're insanely lucky and good but making a living is perfectly possible if you work hard. (As you build up a code and fanbase it will become easier but you should be prepared to have to put in 50-60 hour weeks to make ends meet on your first few games)

#4943144 Sleep() not reliable?

Posted by SimonForsman on 24 May 2012 - 11:22 PM

Sleep waits for atleast the time you specify, it can and will wait for longer most of the time and thus you should never use it to control your applications framerate, only use sleep to reduce battery usage on mobile devices or cpu usage for background services.

Windows normally have a scheduler timeslice of 10 or 16 ms, so a 10ms sleep is likely to wait for 20+ms , a 16 ms sleep for 32+ms, etc (The scheduler only steps in to swap cpu control around at 10 or 16ms intervals (this can be changed using the windows API but reducing the timeslice size also reduces overall throughput of the system), if you do a 16ms sleep at the start of a 16ms scheduler interval (very likely if your actual cpu execution time is low) the scheduler will kick in after another ~15.x ms, ignore your still sleeping thread and then get back to it after yet another 16ms which gives you 30+ms delays on your 16ms sleeps. (The only way for you to get control back in time is to have other threads on the system explicitly give up the rest of their timeslices).

#4942832 Why is C++ the industry standard?

Posted by SimonForsman on 24 May 2012 - 01:53 AM

Does it mean that only C/C++ has compilers to all platforms? Why there isn't any compilers written to all platforms in other languages? Maybe there's not strong enough demand for that?

Most popular languages get compilers for all platforms eventually.

The problem really is that C and C++ are the de-facto standards, existing middleware, engines, etc are allready written in them and those will not get ported over that quickly(maybe not at all) if they have to be rewritten from scratch in a new language. This in turn means that a game platform without a C and a C++ compiler will fail miserably. (WP7 is a great example of what happens if you don't support native C++).

Since C++ almost has to be supported it is one of the few languages that a middleware writer can count on being supported on launch on a new platform which makes it the safest language to write new middleware in which keeps the cycle going.

#4942515 Broken Game as an Anti-Piracy Measure

Posted by SimonForsman on 23 May 2012 - 05:52 AM

I am usually pissed off by the "any idiot can crack it so companies are idiots to try to protect it" attitude. But it's not really present in this thread.
(that means I'm with protection, even if it cannot by bulletproof, and that pirating is a crime).
I didn't know about details, that 90% figure is quite surprising to me.

The figures for copy protected games is just as high though, thats the point of the "it will get cracked anyway" attitude, traditional DRM simply doesn't work and thus reduces the value and increases the development cost of the product for no good reason which is just as likely to hurt sales. (Increasing sales is more important than reducing piracy)

There is only really two exceptions,

1) always online DRM such as that used by Ubisoft and Blizzard as it can't just be removed (If the server runs part of the game the pirates have to re-implement the missing pieces), This can be far more of a hassle for consumers (especially those with shaky connections or for singleplayer games where people don't expect the online requirement) but it is also very effective against pirates delaying them by several weeks or even months (depending on how much they have to replicate).

2) Basic serial keys, cheap to implement and stops casual piracy. (gives a fairly high return for a minimal investment and adds very little hassle for paying customers).

Anything between those two is in my opinion a Bad Idea as its just not cost effective.

#4941151 The #'th game engine question.

Posted by SimonForsman on 18 May 2012 - 05:00 AM

- Highly detailled graphics and beautiful cloth gravity.
- Prince-of-Persia-atmosphere, mistic and great light/shadow effects.

Those 2 have nothing to do with the engine, except the cloth physics but any modern engine should support that. (Graphical quality is almost entierly dependant on shader and asset quality these days)

The rest can be done by any modern engine so why not just evaluate them to see which toolchain you prefer working with ? (You really have to do this yourself)

Also what is wrong with Unity? It is free up to one exceed a certain huge amount of dollars in annual income, and it works very well.

He needs the Pro version if he wants to use C++ and the free version has blocked alot of fairly important graphical features.

It is cheap though, getting a 5 man team up and running for pc and mac only costs $10.000 (it gets quite a bit more expensive if you want to add in iOS/Android, PS3, wii or xbox 360 support).

I also don't really see any serious flaws with Unity3D, Yes the free version is a bit crippled but thats just to push the serious developers to the pro version and while the OP said that price was no issue i don't think he should bother with engines that would cost him more than $50.000 to license unless he has a very large team in which case the cheaper options (Which tend to be licensed per seat) won't be all that cheap either.

#4939884 Question about gamedev

Posted by SimonForsman on 13 May 2012 - 03:05 PM

And for game programming which one should i pick? Java or C#? I need the one i can see results faster.

C# with Unity or XNA is probably your best bet then.

#4938678 Avoiding cheating in a multiplayer HTML5 game

Posted by SimonForsman on 09 May 2012 - 08:43 AM

The problem with this in principle is that the source code is available to the client. What I want to do is build an RTS, but I'm wondering if there is any realistic way of preventing cheating. My theory is that its not really possible, in a lockstep system, to detect whether a command has come via the user clicking or via some cheat mechanism. Also, I dont think its possible to prevent cheats such as revealing the map; basically, anything that doesn't cause a desync is possible.

Added to this the fact that the client has easy access to all the code via normal developer tools like firebug, and you have a potential disaster.

Not being a fan of obfuscation, which is easily reverse engineered, im wondering if running a lockstep simulation via websockets is not totally vulnerable to cheating.

With a lockstep RTS game there are only really 2 cheats you have to worry about:
1) Maphacks.
2) Bots.

Both can be designed around, Maphacks are made worthless if there is no fog of war and bots are only really beneficial if players benefit from a high APM and micromanagement. (If the strategy is the important part then it is very difficult to write an effective bot, just look at how common it is for RTS game AIs to be given advantages at higher difficulty settings rather than just playing better)

#4938528 How to code a swinging movement

Posted by SimonForsman on 08 May 2012 - 05:37 PM

This is basically a pendulum:

If you look at:


you'll see that the angle(in radians) between the spider and the anchor point at a given time is:

angle = initialAngle * cos(sqrt(gravity/length)*time)

That formula is reasonably accurate as long as the initial angle is below 1 radian. (around 57 degrees)

the position of the spider is then x=cos(angle), y=sin(angle) and you can simply reduce the initial angle in that calculation to reduce the amplitude of the swing. (Not physically accurate but it should work well enough for your situation).

another option is to use a proper physics model but it is quite a bit more complicated.

#4937902 Difference between 2 language

Posted by SimonForsman on 06 May 2012 - 05:45 PM

Hello everyone, im in the 1st year in my college right now and doing my research about java and objective C language. there are few question would like to ask from the senior here:
1. Most of the mobile using android OS, some of the application is free and some is pay.
2. Apple using objective C and most of the application is pay.

question here, if the java is open source, why go for the android and need to pay for some application? example, (A) person created a game from java code, (as we know java is open-source language) and sell the application for user? Everyone can create a simple game from java since its free. Compare to objective C, most of the Apple's application ain't free and have to pay for it. Seems like kinda "unfair" competition since a lot people doesn't know Android OS from java platform (open source) yet still pay for some application?

p/s: sorry for bad english there.

a few things:

1) Java is not opensource, its a language with an open specification and a few opensource implementations (under varying licenses), this is also true for C#, C, C++ and Objective-C (They're all open specifications and all have opensource implementations), Apple iOS applications are compiled using an opensource compiler aswell. (Allthough the SDK is not opensource)

2) Opensource and Free software refers to what you can do with the software (Opensource means you have sourcecode access while free software is a term used by the free software foundation for software that you are allowed to use for any purpose, modify and redistribute), the cost of obtaining the software is irrelevant. (software that cost $5000 to buy can still be free software according to the FSF if the buyer gets access to the sourcecode and the right to modify and redistribute it under a suitable license).

3) Even viral opensource licenses such as the GPL doesn't apply to software built using GPL licensed tools, only to derivative works of the GPL licensed software. (a Java application running on a GPL licensed JVM doesn't have to use the GPL, a Java/C/C#/C++/Obj-C/Whatever application that incorporates a GPL licensed library however has to be released under the GPL (but can still be sold at any price), Also Googles Java VM (Dalvik) uses the Apache license which is non viral so you can use dalvik as the base for a proprietary JVM if you want.

Android has more free apps for three reasons:
1) The platform is less restricting making piracy easier, F2P models where revenue is taken from advertisers or through microtransactions help counter this as even pirates provide some revenue with these models.

2) The development tools are cheaper which reduces the barrier of entry allowing less dedicated developers to develop for the platform, low quality apps tend to be free as noone are willing to pay for them.

3) The GPL (and even the LGPL) is incompatible with iOS and the AppStore (Users cannot freely modify an app for iOS even if they have the sourcecode (as they'd have to jailbreak their phone) (v2 isn't that strict in this area but v3 is very explicit about it), Free software ideologists (Who are more likely to make free apps in the first place) will not develop for iOS.

#4937810 Jobs as Game Writers?

Posted by SimonForsman on 06 May 2012 - 10:57 AM

The last few years, I've read a lot about players pretty much destroying the game writers of today, due to the mysterious absence of truly awesome story-telling in games (to which I can agree to some extent, though not fully). Now, I don't wanna slam the hammer on this myself. But one can often wonder what game writers of today are actually applying from what they've learned from the major successes of the past - Planescape Torment, for instance. That said, I think it's a bit exaggerated to claim that the great stories don't exist.

But enough about this (I know hehe). Here are my questions about "breaking in":

1) - As an extension of that notion, how are game writers viewed today? Are they really needed or are they a dime-a-dozen? Assuming that the game writer in question is indeed kick-ass and produces exceptionally well detailed design documents, how can that actually help him land a job?

2) - Is it possible to earn a living by just writing design documents alone? Similarly to how book authors write their books and leave it to the publishers to get them developed?

(As for me, I'm learning to program nonetheless. But it'd be nice to know, because necessity is the mother of invention, after all.)


1) Game writers (not designers) are needed for some games (Especially adventure games and RPGs that tend to be heavily story driven), game writers don't write design documents, they write stories, dialogue, quest/item descriptions etc.

2) No, many studios are even abandoning the use of GDDs entierly, a designers job is not to write, its to design (Which is not something you do in isolation).
If you want to make a living as a writer you should write a book (or many books). (If its good a publisher might want to make a game based on it). (You could also work as a writer on a hobby project to show off your talent)

#4937360 To All Experience Game Producers.

Posted by SimonForsman on 04 May 2012 - 06:54 AM

Thanks Mr. M. for your input. Another question, do I need to find a publisher before I find my team?

No, that is pretty much impossible, publishers aren't interested in ideas, they will do business with studios who allready have a nearly finished game for them to publish or a trackrecord.

Your main obstacle will really be getting a team to work for you, everyone has ideas and most people who actually know how to make games learned it in order to turn their own ideas into real games, You have to convince them to abandon the very reason they started developing games and work for you instead. (Remember, in their minds their own ideas are most likely better than your idea).

When recruiting for a team there are a few things you should keep in mind:

1) If you're not paying your workers you are asking them to invest in your project (time = money) and no sane person will invest in a project where the project leader himself is unwilling to invest more than they are.

2) MMOs are very complex, you really don't want to work with amateurs on a project of that scale.

Your best option really is to learn how to program and start making the game yourself, It will give you a much better idea of how feasible your design really is and it puts you in a position to drive the development forward (Which makes recruiting alot easier). (Allthough when you go down this path you are likely to abandon your MMO idea anyway and start designing games that are more suitable for small teams)

#4936644 Good window and event

Posted by SimonForsman on 01 May 2012 - 08:41 PM

basically I can't link dynamic. So LGPL is not an option, but If new SDL will come under a more liberal license thant it's great.
is SDL using operative system API for messages right?

It is using the OS API for system messages atleast (It is the only way to do it on a protected mode OS so all libraries use the OS APIs for that), for internal messages it doesn't use the OS API, you can use the SDL_SysWMEvent to catch custom event (or standard events not handled by SDL) but you cannot send custom events to the OS or to other applications using SDL. (There is no easy crossplatform way to do this as these things are done in very different ways on different platforms)

If all you need is to send messages between threads or windows belonging to the same application then this isn't a problem though and SDL 2.0 should be able to handle it just fine. (it also has a more liberal license), (1.2 does not support multiple windows).

Another option is QT, it has a more robust IPC system (supporting shared memory, sockets, D-Bus(Unix only) and QCOM (Embedded Linux only) and will make it far easier to mix OpenGL and standard GUI windows in a single application, if you can't link dynamically you can get a commercial license from qt.digia.com, its not exactly lightweight though. (For communication between threads within the same application normal messages or signals/slots work aswell)

#4936622 MUD Help

Posted by SimonForsman on 01 May 2012 - 07:32 PM

Start by writing a single-player "MUD"; just make sure it's easy to get to all your game state data (good design will give you this anyway).

From there, you'll need to host a server that simply responds to requests from clients (Give me game state data from map coordinates (0, 0) to (10, 10), because my player is at (5, 5)).

Global chat etc. can be polled by the client or pushed by the server.

Traditional MUDs run through TELNET so there is no specialised client, the basic idea is to have the server run the entire game and the clients mearly send text commands using the TELNET protocol (To which the server responds with the appropriate text).

TELNET is a plaintext protocol so at the most basic level you just open a socket and start sending text, data is sent as 7 bit characters (most significant bit is set to 0 (so bytes with values from 0-127 are treated as data) , if the most significant bit is 1 the byte is treated as a command (See http://support.microsoft.com/kb/231866 ).

a good place to start would be a simple chat, (The server just has ask each user for a name when they connect and then keep track of them and add their name in front of any message they send before sending it off to the other users)