Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
September 1, 2014
arrowPress Releases
September 1, 2014
PR Newswire
View All





If you enjoy reading this site, you might also want to check out these UBM Tech sites:


The Wolfram Language will soon be integrated into Unity Exclusive
The Wolfram Language will soon be integrated into Unity
March 10, 2014 | By Mike Rose




When Stephen Wolfram released the first proper video demonstration for his Wolfram Language last month -- a programming language that has been in the works for around three decades -- heads were well and truly turned.

But for those game developers who questioned what this new language could do for them, the next piece of the puzzle is here. The Wolfram Language will soon be integrated directly into the widely-used Unity engine, allowing game devs to implement the language in their projects.

The Wolfram Language will be implemented through Wolfram's Mathematica program, provided as a transparent object in the Unity editor called "WolframCore." This object will have a script, and an extra Wolfram engine will appear in your task list, capable of implementing a wide range of computations and calculations.

Whether you're in the editor or in-game, Unity will have access to all of the Wolfram Language libraries, and you'll be able to build dynamic, interactive controls with just one or two lines of code, to create complex objects in the scene.

Wolfram Alpha executive director Luc Barthelet, previously studio head at Electronic Arts and general manager of Maxis (where he was a driving force behind franchises like SimCity and The Sims), talked to Gamasutra about what the Wolfram Language will mean for video games when it is released in the coming weeks.

"When I showed this to the guys at Unity, they were very interested," he says. "Nobody has any kind of interface like this. Everything is just too complex, but with the Wolfram Language we can do a ton of things, and barely have to worry about the interactive -- it's extremely simplistic."

wolfram example.jpgWolframCore running in Unity


"Most languages -- take Java or Python or anything -- people like to define them in a minimalist way," he continues. "They want the language to have the minimum best set of instructions. It's like games -- the language needs to do just what it needs to do, and nothing else. The Wolfram Language is very different, because the goal is that every time you need to do something, it's only going to be a line or two of code."

It's all about allowing for the largest number of quick applications as possible, he notes, such that someone who isn't a mathematician or computer science genius will be able to implement Wolfram Language into their games.

"When you start programming, you know what you want to do, but half an hour into it you're solving a totally different problem that has been created through the process of you trying to do something that should have been simple in the first place."
Another problem with currently languages, adds Barthelet, is that, "You also have to be able to understand what libraries are compatible with others. You end up with a lot of unrelated problems which have nothing to do with what you are trying to do at he beginning."

"When you start programming, you know what you want to do, but half an hour into it you're solving a totally different problem that has been created through the process of you trying to do something that should have been simple in the first place."

Since almost everything in Wolfram can be done in one or two lines of code, this isn't a worry anymore. "It's programming for the people who are not computer scientists," he says. "You have to be somewhat smart, but not a PhD student or hacker."

"Anyone who is at least interested in the subject should quickly be able to figure it out," Barthelet adds. "That's the goal of the language, to make computation available to everybody. It's a democratization of programming. That's the motivation."

I asked Barthelet whether games were always planned as a core focus of the Wolfram Language, or whether this move into video games has simply come as a natural progression of the language's development.

"It's definitely something that has naturally progressed," he answers. "The number one market for Wolfram is education. It has been for 25 years. Education is colliding with gaming, because of the interactivity, and the fact that when you teach something to someone, getting them engaged is a critical thing."

"It's a collision course that is unavoidable in terms of motivation and interactivity," he adds. "One of the big challenge in games, and bringing games in education, has been the cost."



But with the Wolfram Language, and with Unity too, says Barthelet, it's now far cheaper to integrate games into educational curriculums and beyond.

"I think in the next 10 years, we're going to see a real revolution in education, where everything builds up through a much more motivational environment," he continues. "It's not that we are concentrating on games -- the penetration of the Wolfram Language in the game market at this stage is pretty much nil -- but it's a collision course that is almost happening by accident, because we are designing an interesting language that has a lot of capabilities, and usually game makers will try to leverage everything that is possible to make a difference."

One area in which the industry veteran believes that video games can benefit greatly from the Wolfram Language is when it comes to AI and simulation, rather than graphics.

"If you look at the evolution of games over the last 25 years, as soon as it was clear that most games would be 3D, we've spent all our time working on the polygon count and the realism of the graphics," he muses. "The realism and simulation at the moment is pathetic."

He adds, "People try, but really the quality of the simulations -- everything is very orchestrated. If you compare the processing power supplied to the graphics, with the processing power supplied to simulation and AI, it's a big joke. And we're going to continue to crank up on the graphics more and more, because people are learning, and we're still differentiating games on the quality of the graphics."

When it comes to solving the architectural issues of simulation in video games, Barthelet believes that it's all about gaining more real-life data, and utilizing it better in games. This is where Wolfram comes in.

"That's the goal of the language, to make computation available to everybody. It's a democratization of programming."
An example: "It turns out that in real life, steel and aluminum don't have the same behavior. At some point in the future, in the simulation environment, you'll take that into consideration. We have capabilities that ask, how are you going to start to model and keep track of all this?"

Another example: It's currently rather difficult to implement real-life, real-time weather data into, say, a racing game. The Wolfram Language helps to take the next step in making that easier to implement. Barthelet also mentions how game devs may be able to finally, properly integrate social media into games, injecting data that will have meaningful effects to the gameplay.

"Games are trying to be different and fantastic and liberating, but they also try to have a set of limitations," he notes. "I think for simulation, we'll start injecting more real-world data into games to make them interesting."

"When we did SimCity, clearly we had to create models that were very artificial, because they were purely based on our interpretation of basic systems, and how to simplify them," he continues. "The problem we had was to simplify them. Nowadays, people don't want to work with overly simplistic models - they want to slowly build more and more complex models, because their capability to understand those models is increasing dramatically, and they get bored by the overly simplistic ones."

When can we expect Wolfram for Unity to land, then? Barthelet tells me, "It's a question of weeks, maybe a couple of months I would say." He also notes that the Wolfram Language is coming to Raspberry Pi, the Intel Edison and the Intel Arduino Galileo, through various partnerships, with more devices on the way.


Related Jobs

Zindagi Games
Zindagi Games — Camarillo, California, United States
[09.01.14]

Software Engineer
Zindagi Games
Zindagi Games — Camarillo, California, United States
[09.01.14]

Lead/Senior Designer
Retro Studios - Nintendo
Retro Studios - Nintendo — Austin, Texas, United States
[09.01.14]

RETRO STUDIOS - Level 3 Engineer
N-Fusion Interactive
N-Fusion Interactive — Manalapan, New Jersey, United States
[09.01.14]

Unity 3D Game Programmer










Comments


Jeremy Alessi
profile image
Amazing! I've been looking at Wolfram-Alpha for games over the last 4 years. This is going to be cool!

Ron Dippold
profile image
It will be interesting to see what the performance implications of this are. Sure, on PS4/XB1/PC you can just throw more cores and memory at it, but then he mentions Raspberry Pi and Arduino.

Christofer Stenberg
profile image
I think in the case of Arduino he means a PC can communicate with an arduino rather than putting wolfram in the arduino.

Ryan Dunfee
profile image
This is amazing.

Aaron San Filippo
profile image
So, who's up for a Wolfram game jam? :)

R. Hunter Gough
profile image
Wolfram game jam... bam-ba-lam?

Will Hendrickson
profile image
I actually found Stephen Wolfram's "A New Kind Of Science" (link below) in a bookstore one day, and spent six hours reading the theories and systems in it, and how they apply to the real world.

For example, it is interesting to know that nature itself can be understood as an ever-expanding fractal!

To be able to harness the power of this new science and integrate powerful mathematical algorithms into the Unity engine means that a new /universe/ of possibilities now exists.

For example, rather than representing logic in the form of a complex algorithm, it will now be possible to represent complex systems using mathematical formulas. (One of the simplest examples of this is the spiral of a conch shell, or branches of a tree).

While it is impossible to fully know the effects of this integration, there is no doubt in my mind that it will unlock the world of science within the Unity game engine and allow for realistic models of the real world to be developed based on proven mathematics, in real time!

The effects will certainly be far-reaching.


Here's the link to the full book, which you can read for free online!
https://www.wolframscience.com/

Wendelin Reich
profile image
I've use Mathematica quite a bit, and I don't find this to be exciting news.

Mathematica is a great product, but the Wolfram language is a huge syntactic MESS. It's the only language I know which (1) is functional (as opposed to imperative) while (2) using prefix notation. Functional expressions can be difficult enough to parse when they're infix and when the syntax of the language is carefully designed to be concise (as in ML or Haskell). Seriously, unless you're a MacArthur fellow (insider joke), how can you read code like:

result=SortBy[Tally[{Sign@f@Cases[#,{_,_,1,1}][[All,2]],Sign@f@ .....

And please, before everyone gets all excited about how "Mathematica is now integrated into Unity", do wait for info on platform compatibility and cost structure (Mathematica is a very, very expensive piece of software). Mathematica has always been a closed-source solution, complete with lock-in via a proprietary programming language....

Did anyone else notice that the guy has even TRADEMARKED the name "Wolfram language"?

Michael DeFazio
profile image
"do wait for info on platform compatibility and cost structure (Mathematica is a very, very expensive piece of software). Mathematica has always been a closed-source solution, complete with lock-in via a proprietary programming language...."

the language is integrated into raspberry pi, and they showed a ton of devices that this'll work on and integrate with:
source: http://devices.wolfram.com/

"We have a couple of thousand devices (from about 300 companies) included as of today—and we expect this number to grow quite rapidly in the months ahead. For each device, there is a certain amount of structured information" (Source: http://blog.stephenwolfram.com/2014/01/launching-the-wolfram-conn
ected-devices-project/)

...I'm not completely sold, I do think the visualizations are nice, and it might be nice that games through unity have the option (and not the obligation) to adopt some of these features and tools...

Seems like Mr. Wolfram is trying to make the Wolfram Language what people thought Java would be (i.e. even in your toaster)... I am curious about the cost or licensing as well... but why would a trademark on a the name of a language bother you?

Wendelin Reich
profile image
@Michael: the kind of "seamless integration" mentioned in your links doesnt mean that the Mathematica kernel (which parses and executes the Wolfram language) runs on these small devices. It's the same with Wolfram Alpha, you need an internet connection and each query needs to be bounced back to a remote server. Not the kind of lag that would be acceptable in a game...

The (TM) on "Wolfram language" bothers me because it shows not only typical big-company, intimdation-oriented thinking, but also lack of judgment. Come on, the guy named a language after himself, who on earth would use the same name for a competing product??

Paul Mason
profile image
If you read "A new kind of science" (if you haven't already), it will become obvious that he has a huge ego (doesn't even bother to credit the scientists that had previously published his "discoveries" - nothing in his book is new or original, but there's hardly any citation). He's a bright guy, that's for sure, but his ego and arrogance rubs a lot of people up the wrong way.

Amir Barak
profile image
Mr. Wolfram also seems to have some issues with properly citing sources of his proofs.

Stephen Horn
profile image
"who on earth would use the same name for a competing product??"

...King.com?

/rimshot

Wendelin Reich
profile image
Stephen: read my full sentence plz - it was about trademarking a name for a programming language, given that one has named the language after oneself. Seriously, that *is* pretty far out :-)

Lance Thornblad
profile image
Agree that the code could be messy and hard to read. Seems to me an oo approach is better for something meant to have such broad usage.

If you are right about queries, that's rather discouraging, though not surprising, considering Wolfram's claims.

Trademarking the name is just standard procedure, though.

Stephen Horn
profile image
@Wendelin: Jokes are much less funny when they need to be explained. I was rather hoping the "/rimshot" was clear enough.

On a more serious note, however, trademarking the name now makes it easier for them to deal with courts later *if* someone is stupid/greedy enough to try and trademark a "Wolfram Language" later.

For instance, Wolfram would be very wise indeed to register their trademark in China, if they think they would ever do business there, or else it seems almost a given that someone there will trademark it out from underneath them, and either create a large court battle for the name or otherwise extort them for the name. It's not just about proper ownership, but mitigating risk.

Wendelin Reich
profile image
@Stephen: Point taken. I had to Google 'rimshot'. Thanks for making me feel old :)

Stephen Horn
profile image
When *you* feel old? I remember the days when comics *used* rimshots. The jokes weren't very funny then, so you needed to know when to laugh.
/rimshot

http://www.youtube.com/watch?v=8G3Z3Y6GyIo

Amir Barak
profile image
Yay, because what Unity really needs is another API...

Andreas Ahlborn
profile image
This sounds almost too good to be true. Lets see if its another IDtech5/Euclideon SuperHoax. But i kind of trust the guys from unity that they will lokk under the hood before spending manpower to integrate this.
But again...there was this huge Flash-related intergation debacle which also didn`t went well.
I´m kind of torn on this but

I WANT TO BELIEVE.gif

Andrew Syfret
profile image
I am interested in the directions they are taking Unity into, however I must say we have to take anything from Wolfram with a pinch of salt. Let's get the actual details of implementation, pricing, ownership of IP (not a trivial issue with this guy) and functionality.

A critical review of "A New Kind of Science" is below.

http://vserver1.cscs.lsa.umich.edu/~crshalizi/reviews/wolfram/

Ty Underwood
profile image
There's a voice in my brain saying "GREAT! MORE languages to muck up Unity plugin documentation!"

Will Hendrickson
profile image
This wouldn't be a replacement for game scripting. It would be a supplement to it.

Bruno Xavier
profile image
Nobody will ever effectively build and ship an entire commercial game in Unity using this. So why bother?
Ppl don't even use Boo which is so easy to use, learning this COM thingy at this moment just to make the same thing you do in C# is a waste of time and unproductive effort.
Go on try, when your games starts to scream bugs everywhere I'd like to see how you gonna debug your project.

Luis Guimaraes
profile image
"when your games starts to scream bugs everywhere I'd like to see how you gonna debug your project."

First thing that crossed my mind too. It seems fine for general business applications but Game development is too fringe for this to work.

Eric Salmon
profile image
Can anyone give specific examples of problems in game design this will simplify? It's a cool language, but I don't understand how it will be particularly useful if you're already a programmer (although it might be excellent for designers with little programming experience). As mentioned, the main problem with AI and simulation isn't that we couldn't program the algorithms, it's that we don't have the computational power available to compute them. I can see how delegating the process to the cloud would help, but that's certainly not feasible for most mobile games right now -- consumers are pretty picky about how devs use their bandwidth.

I feel like I'm missing the obvious with all the excitement, though.

Wendelin Reich
profile image
You're not missing anything! :-) The Wolfram language (TM) is what you call a "4GL" (see Wikip.), which means that it's not intended as a general purpose language, but as language that facilitates access to other software. In this case, that software is Mathematica.

Developers in this thread shouldnt be asking if they need the Wolfram language (TM), but if they need Mathematica. Mathematica is very powerful, but also very specialized (data analysis, data visualization, computer algebra etc.). Also, it runs on fewer platforms than Unity. Furthermore, although Mathematica itself is highly optimized, queries sent to the kernel are note necessarily parsed, processed and returned fast, meaning that it's unsure whether Mathematica is even usable for solving frame-by-frame problems in a typical game that has to run at 30 (60, ...) frames-per-second.

Lance Thornblad
profile image
Well, you might have to rethink what you consider a game. I don't think anyone would argue with Wendelin's example of frame-by-frame at 30 or 60 fps. It is very unlikely that Wolfram's Language is fast enough for that, at least in the near future.

However, not all games are pressing to the metal and require high frame rates. Also, there are a lot of uses beyond games for which having Wolfram's Language connected to a game engine might be pretty attractive. To quote above, "The number one market for Wolfram is education."

As someone who's been developing a game engine (emphasis on education) for years, this sounds interesting and like something I might like to integrate myself, sometime. For now, I'll take this announcement with a grain of salt.

Michael Thornberg
profile image
This isn't exactly a new idea. There are plenty API's out there that pulls data in a similar way. I won't mention names, but I am certain you already know a few :) On a more personal note, I am highly skeptical of trusting unknown black-boxes when it comes to pulling and generally handling any data.

Cameron Petty
profile image
One of the great things about Unity is its ease of access. Making it simple and quick for anyone to start building interactive software is a super cool thing. Then, on top of that, it has some depth - if you're an experienced dev, and want to push its limits, you can. In a way, Unity fits that classic definition of what makes for a good game - "easy to learn, difficult to master".

Sounds like the Wolfram Language will serve the former purpose in Unity, rather than the latter - nothing wrong with that. I agree with Wendelin, though, insofar as platform compatibility and cost structure for this integration will play a part in its usefulness.

@Andreas: I'm with you - I want to believe! :-)

Kris G
profile image
www.slate.com/articles/technology/bitwise/2014/03/stephen_wolfram_s_new_programming_language_ can_he_make_the_world_computable.html

ivan velho
profile image
This seems a gigantic hoax, because the API is WEB. The API is huge collection of objects with a myriad of interfaces.
And, the worst thing, it is a gigantic SaaS the could , in fact. retrieve the knowledge from the programmer.
If this system has some sort of lerning system (IF ????), it could learn the knowledeg from every system programmed in it.
You will pay this guy to take your knowledge and the knowledge from every system programmed in it.
Brilliant

Roger Haagensen
profile image
Isn't this kind of like HyperCard ? http://en.wikipedia.org/wiki/Hypercard

Pallav Nawani
profile image
When were were studying, pretty much all of us had the occasion to use MATLAB made by (http://www.mathworks.in), which is a competitor to MATHEMATICA (http://www.wolfram.com/). Furthermore, there is an open source package which is very similar, though not as complete. The name to which eludes me at the moment.

So anyway, this isn't new, and Wolfram is not the only one doing it. In fact, in our engineering student days, we only used MATLAB, because IISC (where I studied) had only MATLAB.

Just to put things into perspective :)

Ujwal Kumar
profile image
I believe the open source package you are looking for is Octave.

https://www.gnu.org/software/octave/

Will Hendrickson
profile image
I think a lot of people are missing the point. Wolfram Language is already free in Raspberry Pi.

Also, it's not meant to replace C# instead it would be a tool you would use alongside C# for heavy mathematical or real-world-based formulas. Then, you could implement those real-world calculations in the simulation allowing for things like real-time structural integrity with a high degree of realism, or better fluid simulation.

It will add a lot of extra realism to existing simulations. Think of it as the ultimate math library.

Stuart Wilson
profile image
I think that most everyone here is missing the (long-term) point. If you can define eg, some dynamic object as a concise mathematical expression (rather than some application-specific code), you have something that is truly portable. Nothing is more portable than math. Further, refining your model can be done within a purely analytical environment.
I've used Mathematica for years for a variety of purposes. It took a while to do more than scratch the surface. It takes a bit longer to re-orient yourself to expression-centric thinking, but you don't have to be MacAurther fellow to do it.
This an important announcement in that Wolfram is committed to developing in this (and other) real time directions. It may not seem like a viable alternative at the moment. But those looking at the long term should take note.


none
 
Comment: