Re: game development question:reading and writing game data to and from files

  • From: "Tyler Littlefield" <tyler@xxxxxxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Wed, 15 Jul 2009 08:20:42 -0600

No, your english isn't bad, actually.
What I was saying is I wasn't limiting myself in this current project, there's just no point in using 10 different languages to do something; I do understand what you mean about limitations though, in terms of languages. I know some are better than others for certain tasks, and that a decent programmer shouldn't just limit themselves to one language. ----- Original Message ----- From: "black ares" <matematicianu2003@xxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Tuesday, July 14, 2009 11:19 PM
Subject: Re: game development question:reading and writing game data to and from files


ok, forget about it.
May be my english is so poor and I don't make my self clear.
----- Original Message ----- From: "Tyler Littlefield" <tyler@xxxxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Tuesday, July 14, 2009 5:13 PM
Subject: Re: game development question:reading and writing game data to and from files


I'm not "limiting myself," and I'm not quite sure where you got this idea. I'm writing this project in c++, there is no need to use 50 different languages, c++ and python are perfectly good for what I want to do.

----- Original Message ----- From: "black ares" <matematicianu2003@xxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Tuesday, July 14, 2009 7:22 AM
Subject: Re: game development question:reading and writing game data to and from files


for sure it is so.
because this are not facts related to a language or another.
these are facts related to programming.
so, for me if something is posibile in java for sure it is posible in other languages. From here if it exists in java, certainly some one needed it in another language and ported it or wrote one like that. a advice from me, after 10 years of programming, don't limit your thinking to one language. knowing programming make you to be able to learn any language you want very quick.
knowing a language, is not so easy to learn programming.

more over, best solutions in programming are composed from parts writen in different languages.

----- Original Message ----- From: "Tyler Littlefield" <tyler@xxxxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Tuesday, July 14, 2009 3:46 PM
Subject: Re: game development question:reading and writing game data to and from files


Just because something exists in one language doesn't mean it will exist in another. Sure, serialization is possible with c/c++, but telling me it exists in java and 50 other languages won't explain much.

----- Original Message ----- From: "black ares" <matematicianu2003@xxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Tuesday, July 14, 2009 1:13 AM
Subject: Re: game development question:reading and writing game data to and from files


I know, but I given an example.
knowing something exists in a language, you can find if something similar does not exists for your language. You can not exclude what's happening in the other languages world, saying that I am using c/c++ why do you speak about java. In my work time i solved a lot of problems in dpotnet seeing java examples. Viceversa, I've liked very much the aspnet concept "code separation" and I searched for something similar in java and I found jsf. ----- Original Message ----- From: "Tyler Littlefield" <tyler@xxxxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Monday, July 13, 2009 11:20 PM
Subject: Re: game development question:reading and writing game data to and from files


I'm not using java...

----- Original Message ----- From: "black ares" <matematicianu2003@xxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Monday, July 13, 2009 2:06 PM
Subject: Re: game development question:reading and writing game data to and from files


java has the serialization concept,
so for it use ObjectOutputstream and objectinputstream.
You can give write(obj) and that is all.
regardless of the type of the object. Sure, it can be a map, an array list, etc.
Also java implements the java.util.properties class and concept
where files with key/value pairs can be saved and loaded easily.

Just search and don't try to get complex things for simple tasks.
That is the reason that I've told that I see that solution as a over engineered.

You want to use bison flex and co, which are powerfull parsing tools, for simply write some data and read it back.
This is like I will use a spaceship to go from londra to new york.


----- Original Message ----- From: "Tyler Littlefield" <tyler@xxxxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Monday, July 13, 2009 6:40 PM
Subject: Re: game development question:reading and writing game data to and from files


um, a very very very long line, possibly?
I know you could fwrite the struct, but that's kind of rough, no?
I guess I could write in all the data, then I'd have to read it all back, but I'm not quite sure how to do a binary dump of multiple maps. I'd like to get this done kind of soonish, as it's the only thing holding me up, though. ----- Original Message ----- From: "Sina Bahram" <sbahram@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Monday, July 13, 2009 9:33 AM
Subject: RE: game development question:reading and writing game data to and from files


How is this not a oneliner in c, c++, java, python, perl, or lisp?

I've done it as a oneliner in all of those things.

Take care,
Sina

-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Bill Cox
Sent: Monday, July 13, 2009 8:32 AM
To: programmingblind@xxxxxxxxxxxxx
Subject: Re: game development question:reading and writing game data to and
from files

In my DataDraw based system, if I want to save or load a
mysqldump-like version of my data, it's 1 line of code. It's similar
if I prefer a binary dump.

The fact that C++, Java, and other languages don't have this simple
feature blows me away. How hard is it to auto-traverse your data and print it to a file, and to load that same file later? I'm amazed at
the waste of effort and time programmers spend on this automatible
task.

Anyway, for the vast majority of programmers without such simple
solutions available, here's what I recommend.  Print your data to a
file.  If flex/bison is too complex, then use fscanf.  It's really
that simple.  Extra credit if you make your save file a list of
commands that recreate your data when executed.

Bill

On Mon, Jul 13, 2009 at 1:45 AM, black
ares<matematicianu2003@xxxxxxxxxxx> wrote:
it sounds some how as an over engineered system.

----- Original Message ----- From: "Bill Cox" <waywardgeek@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Sunday, July 12, 2009 10:39 PM
Subject: Re: game development question:reading and writing game data to
and
from files


So long as we're talking about some more esoteric stuff, I'll go ahead
and describe how I actually deal with saving data. However, be
warned, it will make your brain hurt.

I do a semi-object-oriented style of C, based on a database code
generator I maintain at datadraw.sf.net. It keeps all the data
in-memory rather than on disk, and has an interface somewhat like
mysql, but with speed that's faster than plain C. When I want to
save, I have the database manager write out an ASCII database, similar to what you get with mysqldump. As users take actions that modify the database, I log the commands that modified it to a log file, so to get to the current state, I load the ASCII database, and replay the log file. If I wanted all this automated, I'd use a persistent DataDraw database, but I prefer the version where I replay commands from the
log file.

I would recommend you don't do what I do. It's way cooler and more
efficient and easier in the long run to deal with than a Mysql
database, but then again, I wrote the DataDraw tool, and am the
leading expert in it's use.

For multiple users interacting with a server, I use a simple tool I
wrote called Command Serialiser, at comserial.sf.net. It allows
front-end tools (typically in PHP for web pages) to connect in a way similar to mysql. My back-end engine reads commands from it one at a time, so it can be single threaded, and uses a simple console style
command interface. The overall architecture, I feel, is far more
secure, many times faster, and easier to write and maintain than
typical LAMP applications. However, LAMP runs the world. My system
currently runs only one web site, and learning it will turn you into
an alien.

On Sun, Jul 12, 2009 at 3:16 PM, black
ares<matematicianu2003@xxxxxxxxxxx> wrote:

xml files is all he needs.

----- Original Message ----- From: "Rui Batista"
<ruiandrebatista@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Sunday, July 12, 2009 9:17 PM
Subject: Re: game development question:reading and writing game data to
and
from files


Why don't you use DBM files or sqlite or something?

Flex/bison/parsing-almost-from-scratch stuff is better to do things more complex then that, like programming languages, complex configuration
files, Etc... You are just saving data I think.

Just my to cents.

Best regards,

Rui Batista
Dom, 2009-07-12 às 10:50 -0600, Tyler Littlefield escreveu:

I like that idea. Do you have any good resources for bison? I've tried
a
few
times and never managed to understand how it works all that well.

----- Original Message ----- From: "Bill Cox" <waywardgeek@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Sunday, July 12, 2009 10:48 AM
Subject: Re: game development question:reading and writing game data to
and
from files


In general, for complex databases, I prefer to write custom
reader/writers using bison/flex. An ASCII file that mirrors your classes well has many advantages. You can edit it easily, and it's
fairly simple to maintain backwards compatibility with previous
versions.

Bill

On Sun, Jul 12, 2009 at 12:39 PM, Tyler
Littlefield<tyler@xxxxxxxxxxxxx>
wrote:
> hmm, so I would store the pointer to an int/string/double.
> I need to be able to tell what it is though, no?
>
> ----- Original Message ----- From: "Sina Bahram" > <sbahram@xxxxxxxxx>
> To: <programmingblind@xxxxxxxxxxxxx>
> Sent: Sunday, July 12, 2009 10:36 AM
> Subject: RE: game development question:reading and writing > game data

> to
> and
> from files
>
>
>> The map definitely handles this bro.
>>
>> Just don't make it a map of primative to primative, make it >> a map of >> primative to object. That object can be of any type you >> like.
>>
>> Take care,
>> Sina
>>
>> ________________________________
>>
>> From: programmingblind-bounce@xxxxxxxxxxxxx
>> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of >> Tyler
>> Littlefield
>> Sent: Sunday, July 12, 2009 12:18 PM
>> To: programmingblind@xxxxxxxxxxxxx
>> Subject: game development question:reading and writing game >> data to
>> >> >>
>> and
>> from
>> files
>>
>>
>> Hello all,
>> I've started work on a custom mud, and am trying to figure >> something
>> >> out.
>> Each player will have a set of keys that will be stored, >> name, >>
>> connect
>> time,
>> creation time, etc.
>> I was thinking of storing these in a map, but that requires >> that the
>> >> map
>> hold multiple values; something which the c++ map doesn't >> do.
>> So, I'm trying to figure something out.
>> I'd like to be able to store player data, and a list of the >> player's >> inventory so the objects can be recreated when the player >> connects
>> somehow.
>> I would need to store object type, name, etc etc.
>> I'm not quite sure how I could achieve this easily; I could >> possibly >> itterate through the map once I've gotten the data type >> thing
figured
>> >> out
>> and do something like write key=value.
>> Then when I loaded it I could just strtok on the = and set >> that up,
>> >> >>
>> but
>> I'm
>> not quite sure how I'd handle inventory and that.
>> This is the only snag I'm having so far, and I'm not able to >> move on
>> without
>> it, as I'm to the point where I need to start saving player >> data, so
>> >> help
>> would be really appriciated at this point. :)
>> Thanks,
>>
>> __________
>> View the list's information and change your settings at
>> //www.freelists.org/list/programmingblind
>>
>
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/programmingblind
>
>
__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

Rui Batista
E-mail/googletalk: ruiandrebatista (at) gmail (dot) com
MSN/WLM: ruiandrebatista (at) hotmail (dot) com (don't send mail to this
on)
Skype: ruiandrebatista
twitter: http://twitter.com/ragb
weblog: http://outputstream.wordpress.com

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind

Other related posts: