View Single Post
FQuist

JCF Member

Joined: Sep 2001

Posts: 3,251

FQuist is an asset to this forumFQuist is an asset to this forum

Apr 22, 2005, 02:24 PM
FQuist is offline
Reply With Quote
why no scripting language yet?????

Why??

Anyways, a quick rant here I didn't spend much time on. I (and probably many others) have had this idea for a long time: a scripting language would rock for JJ2. The idea seems rather farfetched, but I think with not THAT much effort at least something simple could be created.

(Edit:

What is a scripting language for JJ2?

Quote:
Originally Posted by Wikipedia
Scripting programming languages (commonly called scripting languages or script languages) are computer programming languages designed for "scripting" the operation of a computer. Early script languages were often called batch languages or job control languages
A scripting language for a program can "steer" the program and it's functions. It would be a way to use programming to manipulate Jazz Jackrabbit and specifically playing situations in the game. Like you can use MIRC script to create bots, or make it easier to change a topic, a scripting language for JJ2 would mean you could change the amount of health/ammo a player has dynamically and similar things.)

(Edit: Here's a technical part, probably not interesting for people who don't have some experience with JJ2 utilities)

Since MP is the most used type of game in Jazz2, it's only reasonable that somehow when someone makes a program that has scripting abilities, that it supports multiplayer. There are (at the least) three challenges when taking this on. The problem you run into first is that of client-side and server-side variables. With variables that are set at the server side (I have no idea which ones these are, but I think health is an example) it's easy: a scripting client would just modify the serverside variable and it would change for all clients too. When you have client-side variables (like, I presume, player position), it becomes impossible to work with only one scripting program per server (at the host's computer). So that's probably the problem you run into most.. everyone would have to have the scripting program running for anything to work. That's a challenge, to make it so everyone is required to have one/or wants to have one.

A second challenge is how to command clients to give info on their variables, how to communicate this info between the scripting clients of various people and how to change things for everyone. It should be possible to somehow arrange this by changing certain variables that are sent to other clients, and the scripting programs at the client's computer would somehow understand this and reply (by doing something, or sending data back). What about sending something like a shot being fired at some unused location?

The third challenge is designing the scripting language and figuring out the methods to do everything.. even a very simple scripting language that can only check for a player's location and health and can only tweak triggers, health and location would already open up huge possibilities. And it probably would only take a good coder with good jj2 memory knowledge a short while to make. (you could just have a simple IF LOC=x,y TRIGGERID1=on statement structure thingie and it would already rock)

(Edit: Here comes the non-technical part! I added some more ideas to it, too[/b])

Some positive things having a scripting utility would possibly allow that I can think of at the top of my head:

MP

- Working team battle (without needing complex triggers)
- Adjusting people's score after events
- Lots of (new/improved) gametypes should be possible with this (Handicap CTF =))
- Making hurt events work in MP
- Giving gems/food/coins/other pickups more functions

SP

- Having levels with different next level possibilities (you choose to either go to planet 1, or planet 2, for example)
- Creating interactive stories (non-linear levels/storylines)
- Creating new hurt types

MP/SP
- Instant-killing people (iow: taking all their health at a time)
- Advanced time limit type levels (10 minutes to escape from the base!)
- Having a different 'default' health amount (5 hearts in CTF, or 2)
- Complex animations
- Trigger toggles/more advanced triggers (or more than the current limit, possibly)
- Changing layer properties on the fly
- Changing the level on the fly
- Multiple events on one tile
- Working fast feet
- Lots of stuff that may be possible, and may not be.

there's more.. but I am not really lucid right now. This rant doesn't seem that much understandable at all anyways.

Anyone have some input? I think this would be a good idea to talk about. We're not getting 1.25 anytime soon and this may be something to do until we get it.

edit I forgot there's also possibly the problem that when a memory value is changed serverside (for health for instance) you possibly have to get jj2 to realise that it changed so that it actually sends it to all clients.
__________________
“The truth is that everything that can be accomplished by showing a person when he's wrong, ten times as much can be accomplished by showing him where he is right.” - Robert T. Allen

Interesting Jazz-related links:
Thread: Gameplay Theories - Thread: Make Up Your Own Gametype

Spotify.fm


Last edited by FQuist; Apr 27, 2005 at 09:45 AM.