Announcement

Collapse
No announcement yet.

DataLink

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    This sounds absolutely blinding, a truly invaluable addition to UDK.

    Do you have a rough ETA for this? (I nowhere near at the stage of needing it, i'm just overly excited).

    Brilliant stuff,
    Matt.

    Leave a comment:


  • replied
    wicked. i will give this a try.

    the results should be quite promising

    Leave a comment:


  • replied
    I'm looking at creating a single player RPG with the UDK so being able to save to files is pretty important to me. Keep us posted on your progress please.

    Thanks!

    Marcus

    Leave a comment:


  • replied
    It could be, but DataLink isn't really required to do this. You can use TCP Link to do the two above without using DataLink. The point of DataLink is to allow people to use external files. However, I think I'm going to drop this project because I've already started and written another one called DataObject which works in a similar way to the DataObjects in UT2003/UT2004.

    Leave a comment:


  • replied
    Interesting, would this be used for a multi-player network protocal, or would it be more for something like interfacing simulator hardware with the gaming client?

    Leave a comment:


  • replied
    Hmm, I thought about this some more and I might have to rewrite these interface classes. What I was planning to do before was just to send commands back and forth, but that's actually not necessary at all. What I really should be doing is creating an XMLObject that exists in Unrealscript. This might be fun to parse though, but I shall see how this goes.

    But the more I think about it, the more XML seems less useful to DataLink. After all there's no real need for a deep hierarchy variable system that XML offers. I think at this point I might pull back the XML feature and work on a DataObject like system.

    Leave a comment:


  • replied
    Originally posted by Conjured View Post
    So, this could be used to create (read from/write to) an online HIGH SCORES board for single player games to compare their score against other players world wide?
    If thats all you need, you can already do that using the already present HTTP requests system inside unreal engine, eg using php.

    Submit highscore link (example)

    Code:
    HTTP post
    http://www.mysite.com/score-add.php?playername="hello"&score=320
    
    HTTP get
    http://www.mysite.com/score.php?limit=10 (for top 10 output)
    well, maybe not THAT simple, but something like that :P

    Leave a comment:


  • replied
    So, this could be used to create (read from/write to) an online HIGH SCORES board for single player games to compare their score against other players world wide?

    Leave a comment:


  • replied
    Interesting stuff, James.

    Leave a comment:


  • replied
    The role of DataLink is to allow Unrealscripters for the UDK to be able to access external resources such as binary files, config files, HTTP resources and xml files.

    While the UDK is able to already access config files, the current state of the config options is a little bit limiting compared to what it was in UT2004.

    UDK at this point does not support binary files or xml files.

    UDK can get data using HTTP requests without using DataLink, but I have included it as well to make it easier.

    When DataLink is used, developers will have access to both the Unrealscript and C++ code. However, I can only provide support for just the precompiled version of the C++ program.

    Binary/HTTP/Xml example:
    Your game is an RPG game which saves the players profile onto the disk, but also keeps a version online. When the player wishes to play offline because he/she does not have internet access then your game will use the player profile found on disk. DataLink is used here to get the data from a binary/xml file into Unreal Engine. When the player has finished playing, the game then wants to save any progress to disk. DataLink is used here to save the data into a binary/xml file. If the player has access to the internet, then you will want the game to get the data from the internet. DataLink is used here to ask the server for that data. When the player has finished playing, DataLink is used again to save the progress by sending the progress data back to the server.

    Config example:
    As far as I can see, there does not appear to be a settings menu in the UDK. There also other options found in the config files that you normally do not have access to it seems. DataLink can be used to access these config files and values.

    Leave a comment:


  • replied
    Spankin' that code monkey!

    This looks really interesting, I want to know more!

    So, not being a coder - could someone explain how this will affect a game/the dev process?

    From the little I've seen so far, the source code isn't shipped with this (?!?) so I presume this will enable coders more accessability?

    Does it allow for lower level codeing i.e. C++ and how/why would a coder want to do this when (apparently - acording to the http://www.udk.com/documentation.html) any/all kind of games can be made with the available tools the engine is shipped with?

    Please bear with me - i'm a designer/artist and not a coder - (although I do enjoy a good bit of U'script!)

    Cheers

    Leave a comment:


  • replied
    Very Cool, I don't know that much about code, but all this stuff is still cool. Good luck, get back at me with the download when you're finish! Lol.

    Leave a comment:


  • replied
    Originally posted by Solid Snake View Post
    A MySQL interface or in general online resources is something else I wanted to look at in the future as well, but it does require some thought on caching and delayed event callbacks. Definitely possible and would also make some excellent additions to DataLink..
    I think I implemented that in the interface as well. Everytime a query is sent through code, it's stored in a queue, which is checked immediately after each query, immediately after receiving a query result and on an interval. Because all query's are stored in a queue, I can then use delegates that were sent along with the query's to call functions so something could actually start happening after the results are in.

    Lol.. I hope this makes sense XD I can tell you it works really good

    Leave a comment:


  • replied
    I've just finished writing the xml interface and I hope that these are enough features. If there are any features that are lacking please let me know and I will add them in.
    • function CreateXml() - Creates a new XML document
    • function DestroyXml() - Destroys an existing XML document
    • function XmlExists() - Returns true if an XML document exists
    • function GetXmlNodeContent() - Returns a node's content
    • function GetXmlNodeProperties() - Returns a node's properties
    • function GetXmlNode() - Returns a node's content and properties
    • function GetXmlNodeChildren() - Returns a node's children
    • function XmlNodeExists() - Returns true if a node exists
    • function InsertXmlNode() - Inserts a new node
    • function SetXmlNodeContent() - Sets the node's content
    • function SetXmlNodeProperties() - Sets a node property
    • function RenameXmlNode() - Renames a node
    • function DeleteXmlNode() - Deletes a node
    • function MoveXmlNode() - Moves a node
    • function DeleteXmlNodeContent() - Deletes the node's content
    • function DeleteXmlNodeProperties() - Delete a node property


    Relevant functions have comma separated parent parameters, so any depth of nodes is accepted.

    Relevant functions have comma separated property parameters, so any number of properties is accepted.

    Leave a comment:


  • replied
    A MySQL interface or in general online resources is something else I wanted to look at in the future as well, but it does require some thought on caching and delayed event callbacks. Definitely possible and would also make some excellent additions to DataLink.

    Did some quick research and DataLink will support HTTP 1.1 to provide online data sending and receiving.

    Leave a comment:

Working...
X