Never forget!



I have discovered a rare screenshot from back in The Golden Days of BYOND - I hope you enjoy it. Its a picture from Chatters, where I reformed a channel in text-mode to look like a crossword puzzle, and everybody joined in to fill out certain letters. :-)

Posted by splattergnome on Sunday, March 25, 2007 03:22PM - 14 comments / Members say: yea +0, nay -0

SEx is no longer a solitary thing



I have today started development on the drone (NPC) class for SEx:Engine. As of now, its very early and rough, as one can assume after such a short development time, but you can already script a drone to go on a scripted looped route between ingame objects. In other words - the player is no longer the only person inhabiting the game.

It is still very rough - I already have the trigometric functions all ready and plotted out to be implemented to allow them to go all 360° to their destination, which will be slightly more beautiful than my current version. And then I have to add the ability for them to visit scripted coordinates rather than just targetted objects...

And after that? Freeroaming drones and intelligent drones of all types. There was some motion and movement in SEx:Engine before, with orbiting planets and the like, but now I am happy to see my test scripts create a world full of motion and (albeitedly scripted) movement.

This was just a little random update to keep people informed that I am indeed still working hard on this little project of mine. :-) I might update at a later point in time when development has progressed closer to alpha testing state sometime this century.

Posted by splattergnome on Monday, March 12, 2007 10:04PM - 5 comments / Members say: yea +0, nay -0

Gughunter is awesome!



(He has saved me from passing out drunk in the BYOND gutter... figuratively speaking)

Posted by splattergnome on Tuesday, February 13, 2007 03:06PM - 10 comments / Members say: yea +0, nay -0

SEx:script in a new outfit




Since several people complained about the appearance of the example I gave last time of SEx:script, I took the effort on me to revamp my interpreting parser for the compiler and made it more... "python-like". However, the old version is not only still available, its also full functional (and the version I`ll use in my demos and whatnot). One thing of note: the example below is not complete and would not even be functional as is, since I simplified it for demonstration purposes.

For comparison:

The old version
PLANET *EARTH*



  NAME *Earth*

  MAP *SOLAR SYSTEM*

  PICTURE *earth.jpg*



  ENTER

    TURNFLAGON *earthvisit*

    DISPLAY *Initiating docking procedures...*

    IFFLAG *illicitcargo* *policecheck*

      DISPLAY *Our scans have discovered something...*

      CALL *illegalcargo*

    ELSE IFFLAG

      DISPLAY *Have a nice time at Earth Starport!*

    END IFFLAG

  END ENTER



END PLANET


And the new one...
Planet(EARTH)



  Name(Earth)

  Map(SOLAR SYSTEM)

  Picture(earth.jpg)



  Enter

    TurnFlagOn(earthvisit)

    Display("Initiating docking procedures...")

    IfFlag(illicitcargo,policecheck)

      Display("Our scans have discovered something...")

      Call(illegalcargo)

    ElseIfFlag

      Display("Have a nice time at Earth Starport!")

    EndIfFlag

  EndEnter



EndPlanet


See the difference? Its not the capitalization (which is irrelevent, since the parser is not case-sensitive) nor the commands now written together (which you could beforehand)... but the fact that you can use ( ) for the data is new. One could optionally write Name (Earth) or even Name=(Earth) just as well. This isn`t just a cosmetic difference, though. An example can be seen in the IFFLAG where, in this version, has two arguments seperated by a comma instead of in two * * blocks.

Even more intersting is that I have started implementing the . owner pointer, which shows who calls a certain command. A fictional example: bigplanet.explode(big,3) <- which would have the bigplanet object call the explode command. If no "owner" is defined, it can be considered src or self. Anyone used to datums should understand the concept I am working towards with these. The best part is that one can use variables as parents... perfect for the custom procedures.

Any comments or criticisms on the current incarnation of SEx:script is more than welcome.

splatty

Posted by splattergnome on Wednesday, October 04, 2006 09:23PM - 10 comments / Members say: yea +0, nay -0

SEx:Engine Progress Report (alpha 0.1.25)



Since several people have been asking, I might as well give a general overview of the current state of SEx:Engine.

After a short self-induced exodus from SEx:Engine (and all computer-related activities) due to personal reasons, I have returned to continue where I have dropped off.

Basically - the game engine (as of now) allows players to define (via scripting) sectors and systems with planets which either "hang in space" or orbit. Graphics are customizable. There are several "triggers" which can call custom procedures - such as collision with planets. The script language allows scriptors to set variables, has if-clauses, and a growing amount of other events. It is also possible to activate custom "DAEMONs", which are timelines of events with its own internal clock. Of course, lots of nice smaller tools and tricks (such as custom decals) round this off.

As of now, my main work is getting TEMPLATEs fully customizable - that will save work on scripting and defining planets. The other main event is to expand the trade engine to allow a GUI trading interface.

So, as you can see - its very basic because most of my work so far has been on adding flexibility and functionality to SEx:script - the scripting language. It has alway been my opinion that it is important to provide the tools to allow people to do their own thing with the script language before concentrating on "hardcoded" engines to simplify things.

So - no NPCs, no enemies, no combat - as of now. At most, one could easily create simple fetch quests and simple pacifist adventure mini-quests. But I am happy with the system as it is so far, and it can only get better from here, now that the foundation is quite solid.

Oh, and to round things off... an extremely simple example of SEx:script:

PLANET *EARTH*

NAME *Earth*
MAP *SOLAR SYSTEM*
PICTURE *earth.jpg*

ENTER
TURNFLAGON *earthvisit*
DISPLAY *Initiating docking procedures...*
IFFLAG *illicitcargo*
DISPLAY *Our scans have discovered something...*
CALL *illegalcargo*
ELSE IFFLAG
DISPLAY *Have a nice time at Earth Starport!*
END IFFLAG
END ENTER

END PLANET


Disclaimer: Capitalizations are optional, several commands may optionally be written together (ENDPLANET/ELSEIFFLAG). Indentions and empty spaces are optional and may be added for readability. Flags are boolean variables - they do not have to be predefined. CALL calls a custom defined procedure of that name. IF-clauses of any type may be nested indefinately.

splatty

Posted by splattergnome on Saturday, September 30, 2006 02:02PM - 15 comments / Members say: yea +0, nay -0
(Edited on Saturday, September 30, 2006 02:30PM)