A Football Simulator

Discuss the development of other free/open-source games, as well as other games in general.

Moderator: Forum Moderators

Post Reply
dbest
Posts: 18
Joined: January 15th, 2007, 5:25 pm

A Football Simulator

Post by dbest »

Hi Guys,

Am in the planning phase for the development of a Football (soccer) simulator on the lines of Championship Manager....

The game would be developed in C++ and might use GTK or SDL for the GUI.

I would love assistance from some of the guys, in terms of
a) Ideas
b) Coding
c) Art (might not be really necessary)

Any of you guys interested, please post here or PM me...

Regards,
Andy
charlieg
Posts: 209
Joined: December 16th, 2003, 8:41 pm
Location: Manchester, UK
Contact:

Post by charlieg »

Hey... I'm thinking of doing this too!

However... why C/C++? Higher level languages == higher productivity.

I want to go with a C# or Java core and a thin-client solution for the frontend probably using Vexi since I work on that project.
Free Gamer - free games compendium & commentary
FreeGameDev - free game development community
User avatar
Tomsik
Posts: 1401
Joined: February 7th, 2005, 7:04 am
Location: Poland

Post by Tomsik »

charlieg wrote:However... why C/C++? Higher level languages == higher productivity.
C++ isn't that low-level.
Also C/C++ got LOTS of libraries, what makes you not need to rewrite some things, what boosts your productivity.
charlieg wrote:I want to go with a C# or Java core and a thin-client solution for the frontend probably using Vexi
Well, at least I preffer C++ to Java because of BIG diffrience in performance and uhh... C#, which isn't that portable anyway..
Kiba
Posts: 55
Joined: April 30th, 2006, 12:15 am
Location: On the internet
Contact:

Post by Kiba »

Ruby and Python have lot of libraries too and they're higher level too.

Why not use them?
project founder of Libregamewiki

http://libregamewiki.org
User avatar
Tomsik
Posts: 1401
Joined: February 7th, 2005, 7:04 am
Location: Poland

Post by Tomsik »

I don't see why some people think highter level -> better. :hmm:
Dave
Founding Developer
Posts: 7071
Joined: August 17th, 2003, 5:07 am
Location: Seattle
Contact:

Post by Dave »

charlieg wrote: However... why C/C++? Higher level languages == higher productivity.
IMHO C++ in the hands of a C++ guru is about as productive as any language out there in the hands of a guru with that language.

The only problem is that it's much more difficult to become a guru in C++ than in most other popular languages. So, C++ is a good choice if the developer(s) are already gurus in it, but perhaps not such a good choice otherwise.

Also for an Open Source project, it is quite a bit harder to get coding help with C++ than with alot of other languages, due to the lack of people skilled in it.

Also, this may be a personal preference, but I think that the static type checking of C++ greatly aids productivity. For this reason I avoid languages such as Perl and Python for medium or large projects. This leaves Java and C# as the two main contenders, and they have issues all their own.....

David

EDIT: See this thread for a more detailed treatment of why Wesnoth uses C++.
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
User avatar
Jetrel
Posts: 7242
Joined: February 23rd, 2004, 3:36 am
Location: Midwest US

Post by Jetrel »

Dave wrote:Also for an Open Source project, it is quite a bit harder to get coding help with C++ than with alot of other languages, due to the lack of people skilled in it.
:hmm: I don't know about this...

From what I've seen*, although it's difficult to get C++ gurus, C++ is one of the easier languages to get "decent"** programmers for, since it is "the" standard for desktop app development*** (C of course having by definition many more people experienced in it, since it's pretty much impossible to learn C++ without being good at C). Java might be easier to find programmers for, but that's the only other language in this class (a term I use loosely) that has anywhere near this critical mass.

There are ways to write desktop apps in things like Ruby, Perl, or Python, but they're not quite able to behave like native users of the system APIs - a fact which may well be changing. Because of this, I myself wouldn't view them as suitable candidates for developing a videogame. Also, Dave's comments about scalability may well stand - I don't know enough about these languages to comment. I also suspect that there's a higher ratio of dubiously-competent programmers in these languages, since they have a gentler barrier-to-entry than C++.


* There seem to be a lot of successful C++ OSS projects; and they're getting their programmers somewhere.
** Programmers who will get the program functional, even if it's more buggy, and/or not finished quickly compared to a guru's work.
*** I'd wager it's #2 after C.
User avatar
irrevenant
Moderator Emeritus
Posts: 3692
Joined: August 15th, 2005, 7:57 am
Location: I'm all around you.

Post by irrevenant »

Jetryl wrote:There are ways to write desktop apps in things like Ruby, Perl, or Python, but they're not quite able to behave like native users of the system APIs - a fact which may well be changing. Because of this, I myself wouldn't view them as suitable candidates for developing a videogame.
I don't know enough about the merits of various programming languages to weigh in on this in depth. But (:)) it seems to me that computer games are perhaps the sole type of software where users don't expect them to have the look and feel of a standard desktop app.

In fact, when you come across a game that uses the standard widgets it feels a bit bodge...
Imp
Posts: 317
Joined: January 8th, 2007, 10:56 am

Post by Imp »

It depends on what he means by high-level language. The lower the level of a language, the more powerful it tends to be as it operates more closely at the machine level. I would classify C++ as a medium-level language while a low-level language would be Assembly. Incidentally, Assembly takes a lot of effort to write even simple code (i.e. long-winded) although it is more powerful. So it's a power vs productivity trade-off there. However, I would consider WML a high-level language (as with HTML and other mark-ups) and find that less productive than if we were able to code campaigns using medium-level language syntax. So Tomsik is quite right in that higher levels do not necessary mean they are better.

Higher-level languages like Java, C#, Python, etc. are nice and steadily improving, but the power vs productivity trade-off remains skewed. I hear Java's performance is quite good compared to C++ now, though. It also depends on the task at hand. For some things, C is a godsend because I can do something in a few lines that would take pages of Java code to do.

I think one of the issues here is the experience and expertise of the devs. However, I don't think you would need to know C++ to help, with judicious use of DLLs.
Dave
Founding Developer
Posts: 7071
Joined: August 17th, 2003, 5:07 am
Location: Seattle
Contact:

Post by Dave »

Jetryl wrote: C++ is one of the easier languages to get "decent"** programmers for,
This is true for some value of 'decent'. A big problem is that LOTS of programmers are good in what I will call "C/C++" -- basically they are programming in C++ but mostly restrict themselves to features of C and some simple C++ features.

And this is not a productive way to program. It's not much more productive than C, and C is a horribly unproductive language (much worse than any other language we've been talking about here).

These people have trouble modifying existing code in the project because they don't understand it so well.
Jetryl wrote: Java might be easier to find programmers for, but that's the only other language in this class (a term I use loosely) that has anywhere near this critical mass.
I agree with this completely. Java is the only other language in the same 'class' as C++ with more critical mass. And Java now has larger critical mass than C++ (and for pretty good reason in many areas too).
Jetryl wrote: There are ways to write desktop apps in things like Ruby, Perl, or Python, but they're not quite able to behave like native users of the system APIs - a fact which may well be changing. Because of this, I myself wouldn't view them as suitable candidates for developing a videogame.
Well, remember if you're programming a portable game in any language you can't really rely very heavily on system APIs; unless you want to write the game several times. Wesnoth is pretty much hidden behind SDL, and Python could use PyGame to do the same thing.

However I consider Ruby, Perl, and Python unsuitable because of their lack of static type checking.
Jetryl wrote: * There seem to be a lot of successful C++ OSS projects; and they're getting their programmers somewhere.
Of OSS projects in C or C++, I would imagine that about 60% are in C. 25% might be in what is technically C++ but uses mostly features of C. The remaining 15% would be in modern C++. Only modern C++ can ever achieve productivity close to languages like Java or Python.

FireFox might be in C++ for instance, but if you look at some of their coding guidelines you'll see they forbid so many features of C++ that what they're coding in is pretty close to C in terms of productivity. (Admittedly they do it for better reasons for many -- namely portability, rather than simply being unfamiliar with the features; and portability is one huge advantage C does still have over C++).

David
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
charlieg
Posts: 209
Joined: December 16th, 2003, 8:41 pm
Location: Manchester, UK
Contact:

Post by charlieg »

Um C# is pretty portable... not heard of Mono?
Free Gamer - free games compendium & commentary
FreeGameDev - free game development community
Edward V Riley
Posts: 265
Joined: June 28th, 2007, 4:42 pm
Location: Baldwyn Mississippi

Horror Soccer?

Post by Edward V Riley »

Years ago, for Sega Genesis, Mutant League Hockey and Mutant League Football were released. The thing about these games is they had a unique nitch that still makes those games popular today. The nitch?

Players lost limbs and often would die in the game. Skeletons blew apart in a spray of bones, Ogres would be cut in half, aliens became a bloody smear. ...etc. The nitch created a lot of interest.

You even had trick plays of the more ...violent type. A "long bomb" was just that, you threw a long pass, with a bomb inside the football, and made sure your reciever was nowhere near the ball. When an opposing player grabbed for the interception BLAM!!!! .....you could even bribe or kill the referee.

Your soccer could benefit from taking this conception and fitting it in. Land mines on the field, various trick plays, and severe body checks.
Who Knows what evil lurks in the hearts of men?
The Shadow knows
Rhuvaen
Inactive Developer
Posts: 1272
Joined: August 27th, 2004, 8:05 am
Location: Berlin, Germany

Post by Rhuvaen »

Dave wrote:However I consider Ruby, Perl, and Python unsuitable because of their lack of static type checking.
It's funny because that was one of my main gripes when I had to touch these initially. It sounds like a hugely dangerous undertaking that's prone to a huge number of potential bugs that only appear at runtime.

In my experience, that doesn't seem to be the case (and I still can't quite believe that...). First, you're not passing all objects to all methods simply for fun. Second, in an OO design your objects usually have an intelligent way to behave if passed in such a manner, and that can be a very productive feature. Instead of adjusting your class inheritance to where the objects will be used (modelling them around the necessities of their "environment") and defining lots of abstract classes / interfaces, the classes can be more "themselves" first and foremost. It saves a lot of repeated code if you're not overloading methods all the time. And third, you can spend all the time you save compiling on writing tests. You should have test-oriented development even with C++, but with Ruby/Python I'd really recommend it (since there's no compiler to give you this sort of cozy feeling of security).

Sadly, this post has nothing in it for the OP...
Post Reply