A Football Simulator
Moderator: Forum Moderators
A Football Simulator
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
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
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.
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.
C++ isn't that low-level.charlieg wrote:However... why C/C++? Higher level languages == higher productivity.
Also C/C++ got LOTS of libraries, what makes you not need to rewrite some things, what boosts your productivity.
Well, at least I preffer C++ to Java because of BIG diffrience in performance and uhh... C#, which isn't that portable anyway..charlieg wrote:I want to go with a C# or Java core and a thin-client solution for the frontend probably using Vexi
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.charlieg wrote: However... why C/C++? Higher level languages == higher productivity.
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
I don't know about this...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.
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.
- irrevenant
- Moderator Emeritus
- Posts: 3692
- Joined: August 15th, 2005, 7:57 am
- Location: I'm all around you.
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.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.
In fact, when you come across a game that uses the standard widgets it feels a bit bodge...
Want to post a Wesnoth idea? Great! Read these:
Frequently Posted Ideas Thread
Giving your idea the best chance of acceptance
Frequently Posted Ideas Thread
Giving your idea the best chance of acceptance
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.
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.
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.Jetryl wrote: C++ is one of the easier languages to get "decent"** programmers for,
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.
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: 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.
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.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.
However I consider Ruby, Perl, and Python unsuitable because of their lack of static type checking.
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.Jetryl wrote: * There seem to be a lot of successful C++ OSS projects; and they're getting their programmers somewhere.
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
Um C# is pretty portable... not heard of Mono?
-
- Posts: 265
- Joined: June 28th, 2007, 4:42 pm
- Location: Baldwyn Mississippi
Horror Soccer?
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.
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
The Shadow knows
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.Dave wrote:However I consider Ruby, Perl, and Python unsuitable because of their lack of static type checking.
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...
Try some Multiplayer Scenarios / Campaigns