Author Topic: Today's development update! (September 4th)  (Read 1418 times)

Aaron

  • BR Developer
  • Creative Director, ZanMgt
  • *****
  • Posts: 2024
  • Available on the IRC from 9:00am to 5:00pm (EST)
    • http://www.zanmgt.com
Today's development update! (September 4th)
« on: September 04, 2014, 08:41:20 pm »
Today Nathan finished the serializer for text files, and tomorrow he'll be working on the deserializer.  Should be done real quick. ^.^  Zack today expanded the scripting capabilities even more. Required a bit of discussion on the extents of scripting down the road.

Gabriel and I went over all of the radial menu requirements.  Should be a piece of cake to add as a GUI element. =]  Micah worked on the different FTL speed effects, really enhancing the "fast" FTL effect.

Stop by the IRC and say Hi! -- Online Dev Chat

Voltaire

  • Founder
  • *
  • Posts: 183
Re: Today's development update! (September 4th)
« Reply #1 on: September 05, 2014, 10:04:12 am »
Will txt files be optional? And will there be support for mods (scripts) to process additional fields for custom block definitions / attributes / enhancements?  Only it would seem that txt files would find it difficult to provide support for nested or multiline conditions etc.

TIA! :)

Aaron

  • BR Developer
  • Creative Director, ZanMgt
  • *****
  • Posts: 2024
  • Available on the IRC from 9:00am to 5:00pm (EST)
    • http://www.zanmgt.com
Re: Today's development update! (September 4th)
« Reply #2 on: September 05, 2014, 11:27:31 am »
@Voltaire

We've got to choose one or the other, .XML or .txt to serialize - but why would you want .txt files to be optional anyways?  Because it's a custom serializer, we can take any sort of data formats we'd like.

For example, a dictionary (key/value pair) we've decided to have formatted like so:

Code: (key/value) [Select]
key
{
     value1="value",
     value2="value",
}

Code: (key/value example) [Select]
name=thruster
hp=10
mass=100
tags=thruster,engine,accelerator
textures
{
     diffuse=thruster_diffuse,
     normal=thruster_normal
}

Adding in new fields for definitions/attributes/enhancements would likely be through a generic property bag of some sort, since with serialization the game is expecting pre-determined values.  Note "propertybag" in the example below.

Code: (property bag example) [Select]
name=thruster
hp=100
mass=30
texture=thruster_diffuse
tags=thruster, engine
propertybag
{
    customshields="100"
    secrettext="You've discovered the secret!"
    tint="25,25,255"
}

You could then access your property bag values from a custom script. ^.^
Stop by the IRC and say Hi! -- Online Dev Chat

Voltaire

  • Founder
  • *
  • Posts: 183
Re: Today's development update! (September 4th)
« Reply #3 on: September 08, 2014, 08:03:45 am »
One suggestion I would make, based on experience, is to have the first line(s) specify a format and version for the serialised data; so that if you do change the format at a later date you can know when to apply appropriate transformation operations, or at least fail gracefully.


Aaron

  • BR Developer
  • Creative Director, ZanMgt
  • *****
  • Posts: 2024
  • Available on the IRC from 9:00am to 5:00pm (EST)
    • http://www.zanmgt.com
Re: Today's development update! (September 4th)
« Reply #4 on: September 08, 2014, 09:55:32 am »
We might need to set the blocks up to do something like that in the future, but at the moment we're not sure if the data for blocks will be changing all that often.  Settings.xml and Controls.xml have a version number however, since we know those will change often! O.O
Stop by the IRC and say Hi! -- Online Dev Chat