Requirement for a Programming Language for Games (Strategic games) : Programming Languages
This is a discussion on Requirement for a Programming Language for Games (Strategic games) within the Programming Languages forums in category; Hi All, This is a general thread I am starting to discuss the issue of existing programming languages for games and also what more is needed in a language. So suppose I ask like this "Given a choice for a Game programming language, what all features would all like in that.". I know it depends on the type of game that people are using. So lets make it more specific, like Strategic games. This i need as a study for the programming language features that still needs to be enhanced. What all special features that language should support internally? What ...
| Programming Languages Discussions in programming using smalltalk, tcl, python, perl, pascal, javascript, java, ruby, php, csharp, dotnet and C/C++ |
![]() |
| | LinkBack | Thread Tools |
|
#1
| |||
| |||
| This is a general thread I am starting to discuss the issue of existing programming languages for games and also what more is needed in a language. So suppose I ask like this "Given a choice for a Game programming language, what all features would all like in that.". I know it depends on the type of game that people are using. So lets make it more specific, like Strategic games. This i need as a study for the programming language features that still needs to be enhanced. What all special features that language should support internally? What all difficulties that people face while programming with other languages? etc All these can be discussed here. Please use this as a thread to discuss so that may be in future we can be able to carry out the task. |
|
#2
| |||
| |||
| Shakti <shakti.pr.misra@gmail.com> writes: > What all special features that language should support internally? Off the top of my head: + Sequential problem solving. + Solving logical problems. + Parallel problem solving. + User interface implementation. + Persistent data storage. + Data structures. I know that many languages push (some of) these features to (possibly standardised) libraries, but I think it might be useful to integrate them better in our programming languages. Greetings, Jacob -- »Verbing weirds language.« -- Calvin |
|
#3
| |||
| |||
| "Shakti" <shakti.pr.misra@gmail.com> wrote in message news:d4ae991e-1c74-4030-aefa-065590b230c2@i12g2000prf.googlegroups.com... > > This is a general thread I am starting to discuss the issue of > existing programming languages for games and also what more is needed > in a language. So suppose I ask like this "Given a choice for a Game > programming language, what all features would all like in that.". > Typically you want C or C++ for bashing the graphics. Even a strategy game has to look nice, update the screen smoothly, and even today the generally means interfacing with system calls efficiently. Since some code is in C++ one obviousl option is to keep all code in C++. An alternative is to run a scritping language like lua on top of C++. Lua is something I've never used but I understand to have Lisp-like qualities. The advantage of a Lisp like language is that you can build functions at runtime. So it can be a lot easier to implement AI or the complex interfacing of objects you see in an adventure game. -- Free games and programming goodies. http://www.personal.leeds.ac.uk/~bgy1mm |
|
#4
| |||
| |||
| On Feb 28, 3:00 am, Shakti <shakti.pr.mi...@gmail.com> wrote: > Hi All, > This is a general thread I am starting to discuss the issue of > existing programming languages for games and also what more is needed > in a language. So suppose I ask like this "Given a choice for a Game > programming language, what all features would all like in that.". I > know it depends on the type of game that people are using. So lets > make it more specific, like Strategic games. That's sitll a little vague - there is strategy in Soldier of Fortune as well as in Chess. :-) I think it's more a matter of the libraries, not the languages. Most languages are designed to solve a variety of problems, the libraries and frameworks are designed for specific application spaces. But in general, the more intense and fast-paced the graphics are, you will want to lean towards C and C++, at least for the rendering. Outside of that, you can use Python, Java, Flash, VB, etc. |
|
#5
| |||
| |||
| > "Given a choice for a Game > programming language, what all features would all like in that.". For games you will definitely need many data files, scripts and configurations, so you will need a language that has good support for external data. This is typically achived by using a programming language together with a data language for data files. I have once created a list of existing options: http://www.geocities.com/charles.debon |
|
#6
| |||
| |||
| On Feb 28, 3:11 pm, "Malcolm McLean" <regniz...@btinternet.com> wrote: > "Shakti" <shakti.pr.mi...@gmail.com> wrote in message > > news:d4ae991e-1c74-4030-aefa-065590b230c2@i12g2000prf.googlegroups.com... > > > This is a general thread I am starting to discuss the issue of > > existing programming languages for games and also what more is needed > > in a language. So suppose I ask like this "Given a choice for a Game > > programming language, what all features would all like in that.". > > Typically you want C or C++ for bashing the graphics. Even a strategy game > has to look nice, update the screen smoothly, and even today the generally > means interfacing with system calls efficiently. > Since some code is in C++ one obviousl option is to keep all code in C++. An > alternative is to run a scritping language like lua on top of C++. Lua is > something I've never used but I understand to have Lisp-like qualities. The > advantage of a Lisp like language is that you can build functions at > runtime. So it can be a lot easier to implement AI or the complex > interfacing of objects you see in an adventure game. > Why not just build it in pure Lisp, though? |
|
#7
| |||
| |||
| On 28 Feb., 10:00, Shakti <shakti.pr.mi...@gmail.com> wrote: > Hi All, > This is a general thread I am starting to discuss the issue of > existing programming languages for games and also what more is needed > in a language. So suppose I ask like this "Given a choice for a Game > programming language, what all features would all like in that.". I > know it depends on the type of game that people are using. So lets > make it more specific, like Strategic games. As pointed out already this is wide field. On one side there are first person shooters which claim to be strategic. On the other side ther are games, where graphics and other librarys are not needed, such as chess. As you might probably guess I use Seed7 for strategic games. I have implemented the games pairs, shisen sho, mahjong and reversi in Seed7. Such games need no special language features from Seed7 or another programming language. Except that it can be helpful, if the program is compiled to machine code to get maximum performance. Besides graphic libraries I would say that support for some game logic can be helpful. The predecessor language of Seed7 (Hal) was created to support text adventure games. I never released it and most of the features are now in Seed7. In Hal, methods are connected to objects instead of classes. E.g.: The object 'book' has the method 'read'. When the adventurer types 'read book' the 'read' message is send to the 'book' and the 'read' method of the 'book' describes what happens in this case. There is also the concept of metaobjects: The book is a 'moveable' and the object 'moveable' has methods like 'take', 'get' and 'drop'. Objects can also be local to other objects. This feature is used to describe things that are special in a room like furniture. A Hal adventure program consisted of room and object descriptions. I guess that you are searching for such features as Hal has. Some of this features are already present in Seed7. Currently Seed7 has the possibility to attach methods to enumeration values: const type: trafficLight is new enum RED, YELLOW, GREEN end enum; const string: str (RED) is "RED"; const string: str (YELLOW) is "YELLOW"; const string: str (GREEN) is "GREEN"; After this declarations it is possible to write 'str(RED)'. To be also usable with trafficLight variables (and parameters) a dispatcher function must be declared with: const func string: str (in trafficLight param) is DYNAMIC; After that declaration the 'str' function for 'trafficLight's can be used for variables and parameters also: const proc: writeLight (in trafficLight: light) is func begin write(str(light)); end func; Hal did not need the declaration of dispatcher functions. OTOH Hal was only interpreted and all decisions about which method to call, where done at runtime. It is planned to move the text adventure game examples from Hal to Seed7 also, but it will take time since that is currently not a priority (well if there is really a popular demand, the priorities can change :-) ). Greetings Thomas Mertes Seed7 Homepage: http://seed7.sourceforge.net Seed7 - The extensible programming language: User defined statements and operators, abstract data types, templates without special syntax, OO with interfaces and multiple dispatch, statically typed, interpreted or compiled, portable, runs under linux/unix/windows. |
|
#8
| |||
| |||
| "mike3" <mike4ty4@yahoo.com> wrote in message news:1a2f6b90-9046-4e49-a8bd-779df898c894@u10g2000prn.googlegroups.com... > On Feb 28, 3:11 pm, "Malcolm McLean" <regniz...@btinternet.com> wrote: >> "Shakti" <shakti.pr.mi...@gmail.com> wrote in message >> >> news:d4ae991e-1c74-4030-aefa-065590b230c2@i12g2000prf.googlegroups.com... >> >> > This is a general thread I am starting to discuss the issue of >> > existing programming languages for games and also what more is needed >> > in a language. So suppose I ask like this "Given a choice for a Game >> > programming language, what all features would all like in that.". >> >> Typically you want C or C++ for bashing the graphics. Even a strategy >> game >> has to look nice, update the screen smoothly, and even today the >> generally >> means interfacing with system calls efficiently. >> Since some code is in C++ one obviousl option is to keep all code in C++. >> An >> alternative is to run a scritping language like lua on top of C++. Lua is >> something I've never used but I understand to have Lisp-like qualities. >> The >> advantage of a Lisp like language is that you can build functions at >> runtime. So it can be a lot easier to implement AI or the complex >> interfacing of objects you see in an adventure game. >> > > Why not just build it in pure Lisp, though? > Because the rendering calls are all set up to use C. -- Free games and programming goodies. http://www.personal.leeds.ac.uk/~bgy1mm |


