language advice (no flamers please)

Started by
18 comments, last by Wysardry 19 years, 4 months ago
Ok, I have a game that I've done in java which is about 90% done. I've decided that I don't want to make it so extremely easy to reverse engineer, so I've been thinking of doing it in C++ or C#, which I am just as proficient in. The game is a simple 2d tile based kids game, so there's no crazy 3d acceleration needed. I used java 1.5 so that I could make use of templates (generics), typesafe enums and such. I was thinking of distributing the JRE with it, this would increase the download size about 7 megs. I know that I could save some download size if I were to use C++, but I may end up having to distribute DirectX with it then. I would be using DirectX 8, would it be reasonable to assume that most people have at least version 8 already installed? Also, I would be using VC7 with STL, I'm assuming that I could get rid of the DLL hell by just statically linking everything. I guess this might make up the difference in size. Another option is C# of course. I guess with C#, I wouldn't need DirectX really, I could just paint the tiles as I do in java. My only problem with this is that I don't know how easy it would be to distribute and make sure that people have the latest .NET framework installed. Anyway, if anyone could offer some advice on which road may be better for me that would be great. I would like this software to work on win98 and above. I've given up on trying to support win95 long ago. Also, I would like to know if anyone would suggest something like flash or shockwave, I've never used these but are they anything like C++? I would only consider them if they had object oriented programming languages. Thanks, -- Rocky
Advertisement
if you're 90% done, stay java.
[size="2"]I like the Walrus best.
Quote:Original post by owl
if you're 90% done, stay java.


That's not important to me. It's not a ton of code, and it's easy to translate between java/c++/c# for me.
Re: your question about Flash/Shockwave. Shockwave I can't really speak for, but Actionscript (the scripting language in Flash) is very similar to Java, and Flash should easily be able to handle a simple game. One down side though if you took this option would be that you'd have to buy a copy, learn how to use it (from the wording of your question I assume you aren't experienced), and possibly redesign a little bit to adapt to working in Flash.

- Jason Astle-Adams

C# (And all .net) is just as easy to reverse engineer as Java if not more so. I have an easier time reverse engineering .Net myself but that is just a preference.

I am REALLY curious to find out why you want to protect the super-secret code in a kids game?
Quote:Original post by Manip
C# (And all .net) is just as easy to reverse engineer as Java if not more so. I have an easier time reverse engineering .Net myself but that is just a preference.

I am REALLY curious to find out why you want to protect the super-secret code in a kids game?


Manip raises a good point - it's almost surely not worth the effort of trying to protect your game against reverse engineering, and if someone really wants to do so and is skilled and willing to put in the time, chances are they'll do so anyway.

- Jason Astle-Adams

Quote:Original post by Manip
I am REALLY curious to find out why you want to protect the super-secret code in a kids game?


It's not that the code is super secret, its just that I don't want to make it so simple to crack when I try to sell the game. It's designed to help kids with math, and is playable for any age up to teens. We all know how much teens like to play hacker/cracker and get things for free. I know that I can't possibly protect the game from crackers but using java I'm practically just giving it away for free.

The other up-side to using C++ that I can think of is that I would probably be more likely to find a library (of reasonable distributable size) that can play compressed music formats instead of just .wav files.
Well, I'm not trying to be a smart-ass here, but I personally wouldn't expect too many kids to try and crack an educational game. I would imagine most of your potential clients would be schools anyway. And I don't really see how writing it in Java is "giving it away for free." I agree with previous posters: your best bet is probably just to finish it up in Java.
Quote:Original post by certaintragedy
Well, I'm not trying to be a smart-ass here, but I personally wouldn't expect too many kids to try and crack an educational game. I would imagine most of your potential clients would be schools anyway. And I don't really see how writing it in Java is "giving it away for free." I agree with previous posters: your best bet is probably just to finish it up in Java.


You guys might be right, maybe I will just finish it up in java. I've already started doing it in C++ and the graphics part was a lot easier than I thought it may be so it wouldn't take too long, but I would then have to worry about which version of DirectX they have and whether or not their video card even supports DX 8.

-- Rocky
If it's just a simple tile game, why not just use GDI? It's a lot slower than DirectX, but like you said, you don't need any crazy 3d acceleration.

Personally, I'd stick with Java if you have it nearly finished.
-----BEGIN GEEK CODE BLOCK-----Version: 3.12GCS/M/S d->+(++) s+: a19? C++++ UL++ P+++ L+ !E W+++ N+ o++ K? w!O M-- V? !PS PE Y+ PGP t++ 5+++ X R tv+> b+(++)>+++ DI+++>+++++ D++G e>++++ h! r y?------END GEEK CODE BLOCK------

This topic is closed to new replies.

Advertisement