News: Go to the wiki and do the Flying Ship tutorial May 22, 2012, 02:24:08 pm
Welcome, Guest. Please login or register. *

Which programming language to use.
Pages: 1
  Send this topic  |  Print  

  Which programming language to use.
Author Message
0 Members and 2 Guests are viewing this topic.
2playgames
OpenWar Project Founder
Administrator
Sr. Member
***
Offline Offline

Posts: 857


Busy busy busy busy busy


View Profile WWW
« on: November 07, 2006, 11:43:51 pm »

I can't decide which programming language to use for this game, here are some for discussion

C# .NET
Pro: incredibly easy, i know it already, is managed
Con: slightly slower (but only very little), requires .NET framework, graphics engines don't support it well yet

C# XNA
Pro: incredibly easy, i know it already, is managed, XNA is a game framework
Con: slightly slower (but only very little), requires another framework, new technology so could have bugs/incompleteneses (sp?)

C++
Pro: optionally cross-platform, well supported, also by graphics engines
Con: harder to learn, i don't know it, requires more managing

Java
Pro: easy to learn and use, cross-platform
Con: slightly slower
« Last Edit: January 04, 2007, 08:04:01 pm by 2playgames » Logged




FlameGuard
Newbie
*
Offline Offline

Posts: 7


View Profile
« Reply #1 on: November 08, 2006, 11:02:59 am »

C++ is currently what im trying to learn. I know dbp already. Anyways... if your going to be doing all the programming then you should use C# as it will be easyer for you to use a language you already know.
Logged
2playgames
OpenWar Project Founder
Administrator
Sr. Member
***
Offline Offline

Posts: 857


Busy busy busy busy busy


View Profile WWW
« Reply #2 on: November 08, 2006, 01:53:30 pm »

well i'm definitely not going to do all the programming, that's just waaay too much work  Roll Eyes
Logged




FlameGuard
Newbie
*
Offline Offline

Posts: 7


View Profile
« Reply #3 on: November 08, 2006, 03:27:29 pm »

If i get used to C++ / C# ill help with some Tongue
Logged
Solinx
OpenWar Staff
Staff
Sr. Member
**
Offline Offline

Posts: 397


The Letter King


View Profile
« Reply #4 on: November 08, 2006, 04:05:38 pm »

The reason for this project to be open source is to "Share the Load" Smiley

Edit: Stickied untill final choice is made.

Solinx
« Last Edit: November 08, 2006, 04:49:50 pm by Solinx » Logged



"An expert is a man who has made all the mistakes which can be made in a very narrow field." - Niels Bohr
Darvin
OpenWar Staff
Staff
Sr. Member
**
Offline Offline

Posts: 506


The Concept and Design King


View Profile
« Reply #5 on: November 09, 2006, 01:16:16 am »

I'm not sure about how much slower Java is than C++ or C#... actually, that might be worth looking into.  There's no questioning it will be slower, but really, how much is what matters.  I don't think this engine will involve intensive graphics, so speed might not be as much of an issue.  I don't have any C# experience, but I'm experienced in Java and C++.  If C# is chosen, I'll have no problem reading up on the language.
Logged
Fingulfin
Newbie
*
Offline Offline

Posts: 2


View Profile
« Reply #6 on: November 09, 2006, 11:10:46 pm »

Quote from: 2PlayGames
Java
Pro: easy to learn, cross-platform
Con: slow, not made for 3d intensive games (is it?)
Java is NOT made for 3-D gaming. You could use it, but it is alot harder than making a game with C# or C++. My Sister is at college learning computer programming languages and told me that Tongue One of her projects was make a small computer game using Java. Why Java? Her teacher wanted to challenge the class. I don't know any programming languages ATM, but I hope to learn some... Someday... Online tutorials really can't help you with C# or C++ Undecided
Logged
Darvin
OpenWar Staff
Staff
Sr. Member
**
Offline Offline

Posts: 506


The Concept and Design King


View Profile
« Reply #7 on: November 10, 2006, 12:20:32 am »

More important than the language itself is the concepts behind the programming.  Being able to write code is one thing, but being able to design it is what's really invaluable.  Learning a language now is fairly trivial for me (not that it won't take time); what's important is the concepts that I carry with me. 

As far as Java not being made for 3D games, I can't say I disagree.  That being said, Java has plenty of other advantages.  It's fair enough that we should break things down and give each fair analysis.  If it really is unsuitable, without enough advantages to compensate for the disadvantages, the analysis will make that clear, and we can make a truly informed decision.  By the way, I'm leaning to C++ currently, so don't think I'm an unreasonable fanboy of the Java language.

If you can't take a course on programming, and you don't have anyone to help out, then you may be in trouble.  Learning to code is one thing, but as I mentioned design is the most important part of programming.  You'll have to first learn procedural code just to understand how to communicate your commands to the computer.  From there, you'll need to get a degree of mastery over object oriented design.  Learning HOW to code is only about one tenth of the battle.  Learning how to turn an algorithm into code is another one tenth of the battle.  The remaining 8/10ths is learning how to design a good algorithm.
Logged
FlameGuard
Newbie
*
Offline Offline

Posts: 7


View Profile
« Reply #8 on: November 10, 2006, 09:49:36 pm »

Quote
Online tutorials really can't help you with C# or C++

Buy a book.
Logged
Joe
Jr. Member
**
Offline Offline

Posts: 14


View Profile
« Reply #9 on: November 11, 2006, 11:29:50 am »

I can't decide which programming language to use for this game, here are some for discussion

C#
Pro: incredibly easy, i know it already, is managed
Con: slightly slower (but only very little), requires .NET framework, graphics engines don't support it well yet
Check out hte MS XNA package, it is used with C# and i know graphics engines will work with it.
Logged
2playgames
OpenWar Project Founder
Administrator
Sr. Member
***
Offline Offline

Posts: 857


Busy busy busy busy busy


View Profile WWW
« Reply #10 on: November 14, 2006, 09:26:15 pm »

i will
Logged




2playgames
OpenWar Project Founder
Administrator
Sr. Member
***
Offline Offline

Posts: 857


Busy busy busy busy busy


View Profile WWW
« Reply #11 on: November 18, 2006, 01:32:41 pm »

ok, C# with XNA it will be  Smiley
Logged




CoonDawg
Full Member
***
Offline Offline

Posts: 58


View Profile
« Reply #12 on: November 20, 2006, 12:43:13 am »

You sure? I don't know C++ (There is no (NO!) learning material worth giving a look at online and the books won't be here for another few weeks), but I haven't heard of C# XNA before.

XNA sounds like the better language, but C++ is definitely mainstream. And considering this is open-source, you'd get more support doing it under C++, not to say there aren't more resources out there for C++.

But sounds like the decision has been made. Besides, I'm a programming newbie, so take me with a grain of salt.
Logged
Solinx
OpenWar Staff
Staff
Sr. Member
**
Offline Offline

Posts: 397


The Letter King


View Profile
« Reply #13 on: November 20, 2006, 02:09:58 pm »

From wikipedia:
Quote
C# has a procedural, object-oriented syntax based on C++ that includes aspects of several other programming languages (most notably Delphi, Visual Basic, and Java) with a particular emphasis on simplification

C++ may be the mainstream, but it's a hard to learn language. Using C# enables people who have never done programming catch up quickly. People who already know C++ (or another programming language) can even more easily learn this language.

Besides that, C# XNA is specifically for game development, which is what we intend to do. Another point is that C# is a new language developed and supported by microsoft. It's likely that C# will be used longer from now than C++, certainly if you consider amateur programmers. At this time C++ has the bigger community, but making a game doesn't happen only in the present. It can take quite a long time before we got the first version of the engine out, and after that, development will go on (if it's an succes.) By then, C# will have become a bigger language, perhaps mainstream.

Edit: btw. in case you haven't read the introduction topic, I don't know much about programming, but I do know a few things about innovation Smiley

Solinx
« Last Edit: November 20, 2006, 02:12:32 pm by Solinx » Logged



"An expert is a man who has made all the mistakes which can be made in a very narrow field." - Niels Bohr
2playgames
OpenWar Project Founder
Administrator
Sr. Member
***
Offline Offline

Posts: 857


Busy busy busy busy busy


View Profile WWW
« Reply #14 on: November 20, 2006, 05:02:24 pm »

C# was incredibly easy for me to learn with just a bit of Java experience, so experienced C++ programmers shouldn't have any trouble with it, at all.
Logged




mastermind
Newbie
*
Offline Offline

Posts: 4



View Profile
« Reply #15 on: November 26, 2006, 05:10:54 am »

C# with XNA is a good choice.  You would also be able to port this to the Xbox 360 without too much difficulty (when the final release of XNA is out).
Logged
Darvin
OpenWar Staff
Staff
Sr. Member
**
Offline Offline

Posts: 506


The Concept and Design King


View Profile
« Reply #16 on: November 26, 2006, 06:48:38 am »

No, I'd imagine it would be very difficult to port it to Xbox 360.  The problem isn't the code, but the interface, which must change to accomodate a completely inappropriate controller.
Logged
mastermind
Newbie
*
Offline Offline

Posts: 4



View Profile
« Reply #17 on: November 26, 2006, 07:40:11 am »

If you've designed the engine well the redesign should be trivial.  You are talking about one small component (the input/interface) as opposed to the majority of the engine.
Logged
Darvin
OpenWar Staff
Staff
Sr. Member
**
Offline Offline

Posts: 506


The Concept and Design King


View Profile
« Reply #18 on: November 26, 2006, 08:56:46 am »

The coding I'm not worried about, it's actually designing an interface to support the xbox 360 controller that's the problem.  Getting that clunky controller to manage the precise orders required by an RTS game in tiny time frames is the difficulty.  It doesn't matter what programming language you use, the problem isn't any easier; you have the wrong controller to get the job done, and you need to somehow accommodate it.
Logged
Fargledum
Guest
« Reply #19 on: December 24, 2006, 09:01:04 pm »

C++ is highly recommended, at least by me. If you are worried that it is going to be too challenging to work with, you can use Chicken Scheme, which is a tool that takes Scheme (a powerful and handy language that's easier to learn) and converts it to C++. C++ is also a very fast language for computer efficiency; for work efficiency, not so much, as you can program much more with Scheme in an hour than with C++.
Logged
Solinx
OpenWar Staff
Staff
Sr. Member
**
Offline Offline

Posts: 397


The Letter King


View Profile
« Reply #20 on: December 30, 2006, 01:26:12 pm »

Chicken Scheme, never heard of it, but sounds interesting.

For all more knowledgeable with computerlanguages, here is the link

Solinx
Logged



"An expert is a man who has made all the mistakes which can be made in a very narrow field." - Niels Bohr
2playgames
OpenWar Project Founder
Administrator
Sr. Member
***
Offline Offline

Posts: 857


Busy busy busy busy busy


View Profile WWW
« Reply #21 on: January 01, 2007, 01:43:36 pm »

looks interesting, but it's of little use to us. our programs will be so complex that programmers working on it should already be beyond Chicken Scheme style programming
Logged




Darvin
OpenWar Staff
Staff
Sr. Member
**
Offline Offline

Posts: 506


The Concept and Design King


View Profile
« Reply #22 on: January 04, 2007, 09:56:27 am »

There is one really big problem with this "Chicken".  Because the C or C++ code is generated (not written), there's no guarentees it will be commented, organized or even recognizeable.  That's death if the code needs to be updated later.

In any case, we can keep shifting our feet on tentative language choice.  We're doing design right now, and regardless of our decision the design remains roughly the same.
Logged
2playgames
OpenWar Project Founder
Administrator
Sr. Member
***
Offline Offline

Posts: 857


Busy busy busy busy busy


View Profile WWW
« Reply #23 on: January 04, 2007, 12:17:38 pm »

Quote
We're doing design right now, and regardless of our decision the design remains roughly the same.
indeed, though things like managed/unmanaged may have a lot of influence on the design
Logged




Solinx
OpenWar Staff
Staff
Sr. Member
**
Offline Offline

Posts: 397


The Letter King


View Profile
« Reply #24 on: January 04, 2007, 11:01:14 pm »

Then perhaps you could limit the choice to managed/unmanaged language for now.

Clearly we were to early to pass judgement on the choice of language, what seemed great yesterday, doesn't seem all that good today. The same can happen to any language, so we need time to be sure of our choice.

Solinx
Logged



"An expert is a man who has made all the mistakes which can be made in a very narrow field." - Niels Bohr
2playgames
OpenWar Project Founder
Administrator
Sr. Member
***
Offline Offline

Posts: 857


Busy busy busy busy busy


View Profile WWW
« Reply #25 on: January 04, 2007, 11:19:17 pm »

Quote
Then perhaps you could limit the choice to managed/unmanaged language for now.
the thing is, the two options that are reasonable are C++ and Java, which are unmanaged and managed respectively. therefore deciding on managed/unmanaged is about the same as deciding on the language

Quote
what seemed great yesterday, doesn't seem all that good today.
like twice warmed-up schnitzel Tongue
Logged




Solinx
OpenWar Staff
Staff
Sr. Member
**
Offline Offline

Posts: 397


The Letter King


View Profile
« Reply #26 on: January 04, 2007, 11:27:23 pm »

Quote
Then perhaps you could limit the choice to managed/unmanaged language for now.
the thing is, the two options that are reasonable are C++ and Java, which are unmanaged and managed respectively. therefore deciding on managed/unmanaged is about the same as deciding on the language
Should have noticed that myself... Undecided

Quote
Quote
what seemed great yesterday, doesn't seem all that good today.
like twice warmed-up schnitzel Tongue
Grin

Solinx
Logged



"An expert is a man who has made all the mistakes which can be made in a very narrow field." - Niels Bohr
Darvin
OpenWar Staff
Staff
Sr. Member
**
Offline Offline

Posts: 506


The Concept and Design King


View Profile
« Reply #27 on: January 04, 2007, 11:47:20 pm »

As I see it, the question is how fast we can get Java to run.  It'll be easier and faster to program in that language, plus it's pretty much automatically cross-platform.  If we can get Java to run a good 3d engine at a reasonable level, then we go with Java.  Otherwise, we go with C++, that's how I see it.
Logged

Pages: 1
  Send this topic  |  Print  
 

Jump to: