Jump to content
  • Advertisement
Sign in to follow this  
Norman Barrows

game programming language capabilites

This topic is 2180 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts


A language written just for writing games is going to be a scripting language within an existing game engine.

 

 

and if such an engine didn't exist, what features would you like to see in the language that you used to implement the required custom engine?

 

obviously, if you're building a game for which a perfectly suitable engine exists, there's no need for a "game programming language". 

Share this post


Link to post
Share on other sites
Advertisement

 


A language written just for writing games is going to be a scripting language within an existing game engine.

 

 

and if such an engine didn't exist, what features would you like to see in the language that you used to implement the required custom engine?

 

obviously, if you're building a game for which a perfectly suitable engine exists, there's no need for a "game programming language". 

 

 

A language suitable for engines isn't necessarily suitable for game logic, it is two fairly different beasts.

 

For engine level code you want fairly low level functionality, good control over memory layout and access, keywords to provide optimization hints for the compiler (pure/impure functions, hot/cold functions, memory aliasing information, etc), support for SIMD in a way that works well across different CPU architectures and doesn't fail miserably on platforms without SIMD support and ofcourse easy access to existing C and C++ libraries (as most current systems have C APIs)

Share this post


Link to post
Share on other sites

higher order and first class functions, suitable for writing dsl's,

 
dsl's:  distributed systems logic? as in distributed systems programming?

Domain specific languages. To solve a set of problems, you use the high-level features of the host language to write a mini-language specifically for that kind of problem, and then use the mini-language to solve the problems. The DSL may be embedded (still valid code in the host language, but may look extremely different than typical host language code); this means you don't need a separate parser, compiler, or interface between two separate languages. The Lisp language family is famous for being used in that way. Among more recent languages, Scala has been specifically designed to be very good at DSLs. The characteristics needed from the host language are raw (expressive) power and flexible syntax.

Alternatively, the DSL can be an entirely separate language in which case you write an interpreter or compiler. The same languages that are good hosts for embedded DSLs also tend to be very good for writing these tools.

See here:
http://www.stanford.edu/class/cs442/
http://www.scala-lang.org/old/node/1403 Edited by Yrjö P.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!