

Scripting Language for CIV 36
doomy writes "SLIC the scripting lanugage for Civilization : Call to Power has been released. All all game scripters rejoice and learn this language before the game is out. "
"Say yur prayers, yuh flea-pickin' varmint!" -- Yosemite Sam
Another reinvention of the wheel (Score:1)
Ciao
Just what the world needs, YASL... (Score:1)
Guile is an implementation of Scheme designed to be an extension language--- you can link it to your application, and code custom primitives in C.
The documentation was not quite there last time I checked, though.
BTW there is another, non-GNU Scheme extension language: Elk.
---
Why use SLIC? (Score:1)
Why not Guile like FreeCiv is doing?
Functions (Score:1)
Applied knowledge. (Score:1)
Man do I want this game.
WooHoo! (Score:1)
The linux beta at least does have autosave.
You just have to manually move the save file to
use it.
SLIC doesn't suck too much (Score:1)
I didn't realize this game was a quadruped mammal. How interesting...
Perl? Erm, well... (Score:1)
Javascript turns out to be really suitable. It's easy to pare down, has a good native interface, can compile to bytecode at runtime, and supports multiple contexts.
BTW, also worth a look are tinyscheme [altera.gr] (which is a nice small embeddable Scheme), Python [python.org], Lua [puc-rio.br], and the fairly obscure ICI [zeta.org.au]. ICI is a very nifty C dialect for scripting but it doesn't seem to be intended for embedded applications.
Nothing wrong with rolling your own, though. Especially if you've got a lot of scripters to support. I'm interested in seeing how Q3A [planetquake.com]'s plans for scripting in ANSI C (using lcc [princeton.edu]) turns out.
Autosave (Score:1)
The beta does indeed autosave.
SLIC doesn't suck too much (Score:1)
Plus, it seems from postings to csipgs that there is a "rushed" feel to it overall - perhaps there was no time to merge a "proper" scripting language with it.
Another reinvention of the wheel (Score:1)
1. domain specific languages can be very expressive
2. implementing a new scripting language, and learning a new language, is lightweight to many of us. it requires no effort.
3. existing languages probably have licensing restrictions.
4. not-invented-here
Another reinvention of the wheel (Score:1)
many past and current languages were designed without regard to implementation. this language could very well be the opposite: concern more for implementation rather than feature bloat and syntax purity.
Propagation of patches... (Score:1)
The Lokisoft guys come in there alot and answer questions. And this is a very nice one
Natas
Another reinvention of the wheel (Score:1)
Contrast that to something like Object Domain (http://www.objectdomain.com), a CASE tool that has TCL embedded. I was able to write an SQL generator in under 30 minutes that saved me 3 hours of work. If they'd done something like SLIC it probably would have taken several hours.
Writing your own languages is a good idea if you're an expert. Whoever created SLIC should have thought a little longer about their options.
-sunking
civ3 (Score:1)
SLIC doesn't suck too much (Score:1)
Gift horse? Gift horse?
I didn't realize they were giving the game away. How interesting...
--
Just what the world needs, YASL... (Score:1)
I agree. Although I think it is strange that you have not mentioned any lisp dialect here. Guile had been perfect.
And BTW, you don't really mean that you prefer writing AI in C?
Scripting in ANSI C? (Score:1)
Why not in assembly? Or even better, "typing" the "scripts" directly on a floppy with a magnetic needle?
Personally, I can't see a single reason for using C as a scripting language, except "I'm going to commit suicide next week, and need to get in the mood".
*YAWN* (Score:2)
IMHO, I think Activision took a big risk by letting Loki release the Linux version two weeks after the Windows one came out. I mean, I would have bought it off the shelf at Best Buy the day it came out -- sheer force of the reputation of the previous two games. Now, I'll have to see if it sucks or not by talking to my non-Linux-using "friends".
Of course, I'll probably still buy it. I've been playing Civ2 for so long I'm starting to get retinal burn-in of the city screen...
----
Just what the world needs, YASL... (Score:2)
I'll agree in theory - although I personally am not a comp sci major and haven't been forced to wrap my brain around functional programming. The idea of say, summing a list via recursion instead of a loop just doesn't feel natural.
I also don't know enough about Guile specifically - how easy is it to interface with code written in other languages?
And BTW, you don't really mean that you prefer writing AI in C?
Just an example, just a theoretical example... but one point I was trying to make is that if you can link to C code, it's possible to write wrappers as a "gateway" to just about any language out there for people who really hate your particular scripting choice.
SLIC sucks (Score:2)
SLIC sucks - Activision must have really underpaid programmers working on this game who don't know how to write scripting languages!
Propagation of patches... (Score:2)
For instance, if Activision has to shell out $$$ to LokiSoft every time an update needs to be done, they probably won't be very enthusiastic about it. Does anyone know what their contract calls for in terms of patches/updates?
Just what the world needs, YASL... (Score:3)
And not a good one either - what were they thinking? While SLIC does not directly support user defined functions, there is a workaround. I'm sorry; I'll get by without object oriented programming fine, but at least give us functions to work with. I can't even imagine writing a script longer than a couple hundred lines in this. Not to mention the undeclared variables (what do you mean there's a typo in my script? There was no parsing error!), and the lack of locally scoped variables, structures, pointers/references, or many other features of every useful language created in the last 30 years.
They would have had less programmer work, probably earned greater performance, and definitely made the game infinitely more extensible, if they'd added a Perl, Python, or even Tcl interpreter instead of creating this travesty. (Hell, Java, Javascript, etc. would work too if the licensing was OK.)
They also would have tapped in to the vast mountain of existing code out there. Imagine a python script that, at the end of every turn, updates a web page with a summary of the game. Imagine a perl script with the Gimp module, allowing you to make animated GIFs of the battles when you press a button. Imagine writing (and compiling) your own AI in C, then hooking it up to libtcl, perl XS, or whatever...
Not that this is all bad - I mean even crippled user extensible scripts are definitely preferable to no user extensibility at all... but they hit on an idea that could have been as revolutionary to strategy games as QuakeC was to 3D shooters, and it hurts to see they missed the target.
WooHoo! (Score:3)
No autosave
(Which can actually can be addressed with an Aborted() messagebox with a contained SaveGame(...) function... check out the SLIC)
Difficulty in identifying units on the map
(There may be something doable with the SLIC as well, by using a permanent or popup box which labels every unit you select or click on...)
Lack of explore/patrol
(Hmmm... looks like SLIC may be able to do something with this as well, though my be just a bit clunky)
I also wonder if the SLIC allows for the creation of Wonders and new effects...
I guess actually trying the game with some SLIC script would be the only way to find out.
I wonder what CmdrTaco(he does have the Linux port beta, doesn't he?) or other beta testers think of the review and these 'problems'.
AS