As a learning project I thought I'd start with an Interactive Fiction game in C#. As it's progressing, I think I'm doing a fairly good job (but this may be relative). However, I've reached something where I need some ideas on how to handle some things.
So far all the player information is stored line by line in a file that is encrypted (so the players can't just go in and change what they want at will). This may work, and is working, for players but when it comes to rooms and NPCs I really want them to be contained in their own files, and then later added to the resources (again, so players can't get access to them).
When I was younger I grew up learning how to script in mIRC's language. It's fairly close to C, but it does a lot of things that I really took for granted. One of those things is reading and writing INI files. When I was writing my own mIRC DCC MUD I used INI files to store everything (room information, NPC information, player information, etc) and would recall the information needed when a player moved from room to room or interacted with the world. I'd like to do something similar in this game, but I'm learning that INI reading/writing is extremely dificult (I originally tried to learn it in C++ and failed miserably at it). Is there an easy way to read/write INI files in C#? Really all I'd need is reading, since I'd be writing the rooms and such by hand anyway. But I need it to read a specific section, and an item under that section. Like..
Exits=North:South:East:West (this would be turned into a token and split apart in the program)
I would need a command, using mIRC as an example $readini(rooms.db, 00001, Name) to return the room name, or whatever I'd need to return. Already the room the player is in is encrypted into the player file, so I'd be using that to grab the information of the room as the player moves from place to place.
Or is there a better way of doing it with C# other than INIs? Any and all help/ideas are extremely welcome. I thank everyone in advance, and hope this posts make some kind of sense.
Oh, and if anyone is interested in seeing how it's progressing, here's some images.
The Login screen
Create a New User screen (the player icons aren't finished, so that's why it's blank)
The current game screen (the grey blobs on the left will eventually be replaced with a picture of what the character looks like, just the graphics aren't done yet).