Jump to content

  • Log In with Google      Sign In   
  • Create Account


Best language to code my game


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
11 replies to this topic

#1 Sudheera   Members   -  Reputation: 103

Like
0Likes
Like

Posted 26 October 2012 - 04:11 AM

Hi friends..! Need little help here to choose a language to code my 2nd year project assignment. We are given to develop a 'Tank game' which will ultimately play over a network. maximum four players can join the game, there is a server application runnig on a server machine and each player need to connect to that server. Our assignment is to develop the player application. So each of our batch mates have to develop a player applicatioin which is intelligent and should be able to take decisions(e.g- turn, shoot , move) in order to win over other players. So my requirements for the language are
should support AI algorithms
GUI creation
network communication
I have quite a knowladge of Java and C. But I thought it could be easier if I can use a language which design to work with AI programming, but I don't know whether they will meet my other requirements. I'm kind of a quick learner so I can manage to learn a new language and work with it. So if you can suggest me some ideas it will be very helpful. And any ideas on this assignment, or how I should start it etc. are welcome. thank you very much...!!!
P.S - If my description doesn't make sense. please ask me I'll explain ot again, because I really want to win this game. :D

Sponsor:

#2 jbadams   Senior Staff   -  Reputation: 17227

Like
5Likes
Like

Posted 26 October 2012 - 04:26 AM

None of your needs are particularly complex, and almost any language would meet them.

Given the short time-frame and the fact that your grades depend on submitting a suitable application I'd suggest that unless you're really driven by the idea of learning something new you should stick with a language you already know -- and given the choice between Java or C I would probably suggest Java, although obviously if you have a preference for C you should stick with it.

It's not clear from the description whether you actually need to make a playable game or if you simply need to create an application which connects to the server and sends commands to control an AI tank. I assume you'll probably also want to display what is happening?


Your first move should probably be to put together a basic application that is able to connect to the server and display the information it is given. You can then build from there to send commands back to the server -- start by just naively sending them with no decision-making to confirm correct functionality -- and then work up to actually making intelligent decisions based upon the situation at hand.

You should also focus on whichever part of the application is most important for the assessment: if it's mostly about testing your ability to implement networking capabilities you should focus your efforts on creating a robust networking solution and just have a simple AI player to demonstrate those capabilities. If the AI is the focus you should just get some basic sufficient networking functionality implemented and then focus on creating the best AI possible. If you have time left over once the most important feature is satisfactory you can then proceed to improve other areas, but don't waste your effort on things that aren't important to the assignment.


You've said you're experienced with Java and C, but have you created games with either of those languages?


If you really want a different language my recommendation would probably be Python, but just to reiterate I would really suggest sticking with what you already know unless you really want to learn something new.


Hope that's helpful! Posted Image

#3 Sudheera   Members   -  Reputation: 103

Like
0Likes
Like

Posted 26 October 2012 - 04:59 AM

Yeah It's helpful. I haven't create any games with Java. google says I should use jmonkey engine but yet I have no idea what is it or how to do it. So currently gathering information about them if you could help or suggect good tutorials it'll be a great help.

Java is ok. But I thought it is not speciffically designed for AI programming, one of my friend said if I could use a language which provide better facilities for AI that would be a great help. what do you think?

They are asking for AI tank not a playable game. GUI is only for display what is happening

#4 jbadams   Senior Staff   -  Reputation: 17227

Like
1Likes
Like

Posted 26 October 2012 - 05:15 AM

I think you don't need a language that's specifically designed for AI programming. The overwhelming majority of games get by just fine without using a language that's specially suited to AI, and it's likely you won't even need any particularly complex AI.

Again, unless you particularly want to use this exercise to learn a new language you're probably best off with whatever language you're most comfortable with.


Do you want 2d or 3d? jMonkeyEngine is good, but it's a 3d engine that isn't particularly beginner-friendly. They do provide some documentation and have a helpful community though. If 2d will be sufficient you might try Slick instead. See the sidebar on the right hand side for links to documentation, downloads, etc.

#5 Sudheera   Members   -  Reputation: 103

Like
0Likes
Like

Posted 26 October 2012 - 05:27 AM

yeah it's 2D. you're being really helpful here. thanks. So then I'm gonna proceed with this Slick and Java.. Is there any other things I should be worried about?

#6 jbadams   Senior Staff   -  Reputation: 17227

Like
0Likes
Like

Posted 26 October 2012 - 05:38 AM

Well, there are no hidden "got ya"s to know about with Java and Slick or obvious problems you might run into. I'd say your next step is to probably go about learning the basics of using Slick -- get the library downloaded and set up properly, and learn how to create a window and display an image -- and then ask any additional questions you have.

You'll might run into trouble with something, but until you get to that point and have specific questions random advice about things you might get stuck with probably aren't going to be a huge help.

#7 Sudheera   Members   -  Reputation: 103

Like
0Likes
Like

Posted 26 October 2012 - 06:12 AM

yeah I get it.. thanks for the help so far.. :-)

#8 mhagain   Crossbones+   -  Reputation: 7435

Like
1Likes
Like

Posted 26 October 2012 - 07:30 AM

Standard answer: the best language is the one you know best and are most comfortable using.

Your objective is to be productive and get something finished; the best language is therefore the one that's going to stand you the best chance of achieving that. If you need to learn a new language, or learn all the funny little edge cases where things can go bad in one you already have semi-knowledge of, then time spent doing that is time not available for your project's main goal.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#9 ic0de   Members   -  Reputation: 808

Like
-1Likes
Like

Posted 26 October 2012 - 03:10 PM

Whenever I see a title like this I know I'm stepping into a minefield. But here it goes.

If you know Java and C then C++ will be pretty trivial to learn. Add a library like SDL and you're good to go. SDL does sound, input, graphics, networking and much more.

you know you program too much when you start ending sentences with semicolons;


#10 mhagain   Crossbones+   -  Reputation: 7435

Like
0Likes
Like

Posted 26 October 2012 - 03:15 PM

If you know Java and C then C++ will be pretty trivial to learn.


I disagree but I'm not going to -1 you. ;)

If you come from a C background then C++ is going to completely wreck your head. In particular modern C++ will look like something an alien coughed up by comparison.

If you come from a Java background then you WILL be bitten (and bitten badly) by memory management. Even if you use STL/etc containers, the underlying nastiness does have a tendency to bubble up in the most unexpected of places.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#11 ATC   Members   -  Reputation: 551

Like
1Likes
Like

Posted 26 October 2012 - 05:03 PM

As always, ATC is here to recommend C# lol... Implementing the type of project you're talking about in C# would be a breeze. C#, imho, is a much more well-designed and fluid language than Java, and it's more efficient/fast at turning the thoughts and plans in your head into working software than C or C++. However, C++ is also a viable option.
_______________________________________________________________________________
CEO & Lead Developer at ATCWARE™
"Project X-1"; a 100% managed, platform-agnostic game & simulation engine


Please visit our new forums and help us test them and break the ice!
___________________________________________________________________________________

#12 Alpha_ProgDes   Crossbones+   -  Reputation: 4680

Like
0Likes
Like

Posted 26 October 2012 - 05:14 PM

if you know Java and C, then my suggestion would be Java. It has the libraries for everything you are looking for. And it will be easier in the long run.
Beginner in Game Development? Read here.
 
Super Mario Bros clone tutorial written in XNA 4.0 [MonoGame, ANX, and MonoXNA] by Scott Haley
 
If you have found any of the posts helpful, please show your appreciation by clicking the up arrow on those posts Posted Image
 
Spoiler




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS