Turn files documentation |
Thu, 07 July 2011 06:28 |
|
|
Hi guys,
have you agreed upon turn files format used in Nova, will you document it soon?
I've browsed development docs in wiki, but "Turn Files" article contains only general info.
Report message to a moderator
|
|
|
Re: Turn files documentation |
Thu, 07 July 2011 06:37 |
|
Aeglos | | | Messages: 142
Registered: May 2011 Location: Chile | |
|
Thinking of making some tools already?
We are currently on it right now, so specs are not final.
Current focus on the matter is to clear up the .intel file (that the server sends to the clients) so that only precise and decently organized data is sent. Progress is coming along nicely, but there's still things to be done.
Discussion just now started on .order files (client to the server) since right now it kinda passes unwanted information, and we want to have the server not trust the clients at all, to minimize cheating since the project is open source and the files are not currently encrypted, and will likely not be anyways.
EDIT: Currently files are plain XML, if it's relevant. Not made using auto xml serialization, but rather a homebrew xml serialization devised by Daniel, we basically construct the XML by hand for each object.
[Updated on: Thu, 07 July 2011 06:40] Report message to a moderator
|
|
|
|
|
|
|
|
Re: Turn files documentation |
Thu, 07 July 2011 07:25 |
|
|
m.a@stars wrote on Thu, 07 July 2011 14:16 |
Aeglos wrote on Thu, 07 July 2011 12:37 | EDIT: Currently files are plain XML, if it's relevant. Not made using auto xml serialization, but rather a homebrew xml serialization devised by Daniel, we basically construct the XML by hand for each object.
|
Isn't XML a bit overkill for the task, when something like old excel-style csv could perhaps be plenty enough?
|
CSV is convenient if you have flat data, containing one-to-one relations, not the thing you will expect with stars. XML is more flexible - you can add elements here and there, perfect feature for an actively developed project.
So among textual formats I think XML is pretty nice choice.
Report message to a moderator
|
|
|
|
|
|
|
|
|
Re: Turn files documentation |
Thu, 07 July 2011 08:14 |
|
Musmuris | | | Messages: 96
Registered: June 2011 | |
|
Trying to read all the above..
File Format:
If it were flat tables then I'd be more inclinded to use an embedded database like SQLite which is awesome for stuff like this and does all the storing/parsing for you. And indeed I may well have designed it that way from the outset.
However we're working on a code base we didn't start and that's not how it's been designed, so given that XML is a very reasonable way to go.
AI Bots:
If you want to write an AI (and please, please do) then I would suggest you write it in the actual Nova code, rather than as a separate process.
Ideally there would be a plugin system for this so people could write AIs against an API in other languages but that's not on any priority list yet.
@paul_ik - what do you program in now?
[Updated on: Thu, 07 July 2011 08:15] Report message to a moderator
|
|
|
|
|
Re: Turn files documentation |
Thu, 07 July 2011 09:38 |
|
m.a@stars | | Commander | Messages: 2765
Registered: October 2004 Location: Third star to the left | |
|
Aeglos wrote on Thu, 07 July 2011 14:02 | to make bots from the turn files you would need to make a whole turn generator
|
You mean a player-side turn crafter, right?
Quote: | you would need all of the player files, not just one.
|
As I imagine it, any player, AI or not, will only have its own files to work with, plus perhaps some historical records and previous analyses.
That would after all be one of the main features of a client-server architecture, wouldn't it?
So many Stars, so few Missiles!
In space no one can hear you scheme! Report message to a moderator
|
|
|
|
|
|
|
Re: Turn files documentation |
Thu, 07 July 2011 09:50 |
|
m.a@stars | | Commander | Messages: 2765
Registered: October 2004 Location: Third star to the left | |
|
Musmuris wrote on Thu, 07 July 2011 14:14 | we're working on a code base we didn't start and that's not how it's been designed, so given that XML is a very reasonable way to go.
|
You're building a client-server system, aren't you? Then having some choice in intermediate data-exchanging formats makes sense, and would indeed help with the creation of additional clients, or even servers.
Quote: | AI Bots:
If you want to write an AI (and please, please do) then I would suggest you write it in the actual Nova code, rather than as a separate process.
Ideally there would be a plugin system for this so people could write AIs against an API in other languages
|
I guess what you mean is that any AI bot/client would greatly benefit from having access to the things the current Nova client (or server) can do, starting with all the maths, the processing of all the game's data, and everything.
Perhaps a short-term fix could be to allow external processes to call or launch Nova (either the client or the server) with some kind of special parameters to get certain sets of results.
So many Stars, so few Missiles!
In space no one can hear you scheme! Report message to a moderator
|
|
|
|
|