Author Topic: Ingame Notebook  (Read 3681 times)

Toadhead

  • Hydlaa Citizen
  • *
  • Posts: 249
    • View Profile
(No subject)
« Reply #15 on: December 18, 2004, 11:03:34 pm »
UO had different types of books, just ingame items.
They were pretty cheap so you can buy alot of them. Some were small (less pages) and some had like hundreds of pages. You was ableto give it a titel and author.

Why use this?
You could write a story, or fighting tips in it and than sell it. You can also use it as notes. What notes? Well a list with all your enemys on it. You should be able to buy posters aswell. These things can be placed on the wall, for example on a guildhouse that tells everybody looking at it what their rules are and some info. You\'ll be able to make a hitloist for your guid, so all members knows what players they need to kill.

It an be used for alot of thing, even for treasure charts etc.

Icefalcon

  • Veteran
  • *
  • Posts: 1610
    • View Profile
(No subject)
« Reply #16 on: December 18, 2004, 11:11:15 pm »
I think this is a good idea. It would be more practical to have your notebook file stored on your PC, but it would be nice to be able to give your notes to someone else as an in-game item. It would be great for the RP aspect. You could sell info such as directions without actually telling them. You could make someone sign a contract.  8)

swift

  • Hydlaa Resident
  • *
  • Posts: 148
    • View Profile
(No subject)
« Reply #17 on: December 18, 2004, 11:49:41 pm »
I reckon that it isn\'t strictly necessary to store notebooks on the local machine-  200,000  50 page notebooks would take under 10GB on the server - with today\'s quickly increasing disk sizes this would be no problem.  The vast majority of players would not fill up all 50 pages,  so the space required for 200K notebooks would in reality only be around 5GB.  You could fit 16,000,000 notebooks on a single 400GB disk, which will cost under $50 by the time we reach half that number of players.  

If we were to store the notebooks on the server we could bring in more features .  Theives could even steal the notebook and read it :) , and if the notebook was dropped with the body of the dead player it could be read to find out who to return items to or who to stay away from.  

Sharing notebooks between characters on the same account would also be fun, if slightly unrealistic.
Ingame Names (CB) : Calcius Sakor, Timgiffney Calcior

Zellgadess

  • Hydlaa Resident
  • *
  • Posts: 186
    • View Profile
(No subject)
« Reply #18 on: December 18, 2004, 11:50:21 pm »
I always have a piece of paper lying around when I?m computerizing so i can write things down, its quicker, and you can draw little pictures :D

\"For You, Death Is But A Minor Invonvenience\"

sashok

  • Hydlaa Citizen
  • *
  • Posts: 448
    • View Profile
(No subject)
« Reply #19 on: December 19, 2004, 01:00:02 am »
UO books were good idea but rarely used.  people often passed on the books to other players, but they had major flaws, such as very short lines, you could only fit few sentences on each page.. letters dissapeared on pages,  I didn\'t like to use it.  Not that it\'s bad idea.  It\'s actually good.
Hmmm, even tho with today abilities to store more space, I think any action that dev have to take that invovles occupying more space/resources, it has to be thoroughly thought out.  
I  suggest that there should be an ingame notepad stored on player PC, that\'s ur personal use.  And i suggest books that players may buy to pass on.. I only suggest in this case, these books are planned out good, not like in UO.

RussianVodka

  • Hydlaa Notable
  • *
  • Posts: 689
    • View Profile
(No subject)
« Reply #20 on: December 19, 2004, 01:10:56 am »
Maby when you log on, the first thing it does is upload an encripted text file that contains all the players notes. It could upload them into a \"Notebook\" folder or something.

Then, it could just import them into the game when the player opens his notebook.

After the player is done writing, the server computer, and the players computer saves the changes.

This way the server only handles the notebook after the player is done writing, and right before a player logs on.

I\'m not the greatest programer, but i think that using a \" \"extention would be enough to import the notebook text into the game when the player presses a certain button.



Q: How many Planeshifters does it take to expalin a simple concept to a newb?
A: Six. Five to argue on who\'s explanation is right, and Moogie to lock the thread.

Diamondcite

  • Hydlaa Resident
  • *
  • Posts: 165
    • View Profile
(No subject)
« Reply #21 on: December 19, 2004, 07:30:25 am »
Quote
Originally posted by RussianVodka
Maby when you log on, the first thing it does is upload an encripted text file that contains all the players notes. It could upload them into a \"Notebook\" folder or something.

Then, it could just import them into the game when the player opens his notebook.

After the player is done writing, the server computer, and the players computer saves the changes.

This way the server only handles the notebook after the player is done writing, and right before a player logs on.

I\'m not the greatest programer, but i think that using a \" \"extention would be enough to import the notebook text into the game when the player presses a certain button.


I believe the game runs off SQL, it can probably store it quite easily, the most difficult thing is probably getting that much diskspace seeing as how it might be up to 4GB of text....
« Last Edit: December 19, 2004, 07:31:31 am by Diamondcite »
I like taking things literally, going overboard is fun! Now... why do I keep getting odd looks?

Keknehv

  • Hydlaa Resident
  • *
  • Posts: 62
    • View Profile
(No subject)
« Reply #22 on: December 20, 2004, 03:19:35 am »
But we have a dedicated planeshift server, right?

I mean, in the long run, does 4 GB of space really matter? I have cd sets of linux that are on my hard drive, and take up several gigabytes, but it doesn\'t matter. I don\'t think that we need to worry about space.

Also, why would it need to be encrypted? Does it really matter? I can understand encrypted LOGINS... but encrypting and decrypting takes processor power that could better be used for other stuff.

We probably need a developer to tell us if we would have disklspace problems with it. But at around 50k per person, I think we could handle it, possibly even automatically downloading it to someone when they login. On second thought, scratch that. We should serve it to them only when they request it, to conserve bandwidth. Maybe a message like \"You fumble in your pack for your journal\" would appear while it downloads the text from the server.

Perhaps we could also split it up, and have a computer\'s journal that would be a detailed log file, that would only be stored on that computer.
root@stupidadmins:/ #  rm -r *

Quote
Originally posted by sesmi
my start bar thingie has moved from the bottom of the screen to the side!!!!! how do i make it go back!!!! help please!!!!!! i\'m sorry this is in the wrong forum but i\'m panicing!!!!!!

Diamondcite

  • Hydlaa Resident
  • *
  • Posts: 165
    • View Profile
(No subject)
« Reply #23 on: December 20, 2004, 05:52:16 am »
At the moment I am actually wondering how to implement it...

On the database end with a user does a \"SELECT * FROM in_game_notes\"
it should return something like (formatting is for fixed width font so use notepad)

-----------------------------------------------------------------
| Character_ID | Page1......| Page2........| Page3..............|
+--------------+-----------+---------------+--------------------+
| 4743838......| Something | something new | boats at the house.|
+--------------+-----------+---------------+--------------------+
| 4743836......| toys are..| really not th | at odd in a way....|
-----------------------------------------------------------------

Note the ... are fillers for FORMATING purposes
But after looking at that it looks inefficient for processing...

The proper way would probably be closer to

-------------------------------------
| Character_ID | Notes..............|
|--------------+--------------------|
| 4743838......| Something..........|
|..............| -%-Page break-%-...|
|..............| Something new......|
|..............| -%-Page break-%-...|
|..............| boats at the house |
|--------------+--------------------|
| 4743836......| toys are...........|
|..............| -%-Page break-%-...|
|..............| really not th......|
|..............| -%-Page break-%-...|
|..............| at off in a way... |
-------------------------------------

Which is probably more efficient in the database form.
Using the 2nd storage method there can be a string parser which will try to place all the data into a dynamic character array.
Note: the \"-%-Page break-%-\" would be data specific to tell it that it\'s the next page and the player will not see it.

Bandwidth wise, the first table is better off for saving Bandwidth when updating notes.
but storage efficiency is best with the 2nd method? Though the page break phrase will take more space there are fewer oprations to do in the datebase to retrieve the information.

While a local copy will be stored for reading each time the player updates the notes and \'closes\' the window, the game will need to update the database (a log button can be coded to allow for instant saving)

As for the table colum specs...
Column name   Column Type(size)  Key    Examples(none see tables above)
--Table 1
Character_ID  NUMBER(9)          Primary
Page1         VARCHAr2(1000)
Page2         VARCHAr2(1000)
Page3         VARCHAr2(1000)
--Table 2
Character_ID  NUMBER(9)          Primary
Notes         VARCHAR2(51000)

In either case in the event of an update you\'ll need to either re-write a whole page or all of it. Updates can be checked with an \"notesUpdated\" flag or variable.

PS. the 4GB was per table entry maximum size, such a large note would take about 15 minutes to load on a fairly fast unfragmented HD. not to mention.. to transfer that much.. some players will never see the end of their notes or see anything at all for that matter since it\'ll never finish downloading.
I like taking things literally, going overboard is fun! Now... why do I keep getting odd looks?

zinder

  • Hydlaa Resident
  • *
  • Posts: 193
    • View Profile
(No subject)
« Reply #24 on: December 20, 2004, 09:08:20 am »
im no DB knaack, so take what i say with a grain of salt. But while your second variant saves DB operations, it is very costly on memory and processing if you want a halfway decent user interface with things like jump-to-entry, search, sort-by-title/date/etc.
 More suited would be a table with the columns userid, title, date, txtcontent. If you insist on a page value in the DB it would have its own column.(The first one of yours is really bad design, since first you have for every entry a load of empty column. Possible nulled and  needing space and beside consistence checking would be hard. And second everytime someone expands his notebook to more pages than you have preplanned columns in your table, you need to modify the table.)

Keknehv

  • Hydlaa Resident
  • *
  • Posts: 62
    • View Profile
(No subject)
« Reply #25 on: December 20, 2004, 05:39:33 pm »
Actually, DiamondCrite, I don\'t think any one person would have 4 GB in their notebook. Their would be a limit, so probably the biggest notebook that would ever exist would be about 1 MB. For comparison, most four-hundred page books, when converted to text, are less than 1 MB.

And shouldn\'t each page be slightly independent of the others? Wouldn\'t it be bad if you were writing in your notebook and found your nicely formatted notes on the next page halfway down the page? We should have each page sent over as one big raw text file, with page breaks included possibly, but not required. For example, the previous sentence was one long line, but was broken up by the forum software.

Basically, the server would send over each non-blank page as a long string of text, with optional page breaks included, but the client would do the actual word-wrapping and measure the length of each page. When it sees that it has gone to the end of the page, it would skip to the next page and continue writing. Arrow key navigation of the pages would be nice, perhaps with chapter markers and bookmarks.


Hmm... perhaps we could even expand this system into non-writable in game books. Maybe we could even be able to find rare books of magical lore and read them to find the spells. A library with useful information in books would be nice... but you would have to have the check out and all that junk... might be too complex.
root@stupidadmins:/ #  rm -r *

Quote
Originally posted by sesmi
my start bar thingie has moved from the bottom of the screen to the side!!!!! how do i make it go back!!!! help please!!!!!! i\'m sorry this is in the wrong forum but i\'m panicing!!!!!!

Diamondcite

  • Hydlaa Resident
  • *
  • Posts: 165
    • View Profile
(No subject)
« Reply #26 on: December 20, 2004, 07:58:15 pm »
To zinder:
This games database doesn\'t look like one big excel spreadsheet(I made the same mistake just a few months ago...)
Adding a new colum or row for each new day is not viable
According to what you porposed, we will have to add 1 new column also for each day, very soon we will end up with a book of more then 100 colums... that would be rather ugly to read off, not to mention maintain.
I do not beleive that we need to make the DB remember when an entry was written, sine we are all in different timezones it would be best to let the player enter their own date, unless they are using their ingame notes as a Character Diary.

EDIT Dec 20, 2004 4:18PM EST : Ignore what I said to you, I am sorry for mis-reading. Though I will say that I beleive \"title\" and \"date\" colums are not necesary, since the client should have downloaded the full journal we can have client side seeking if you really need a search function.

To Keknehv:
The 4GB note was for an extremety, when I porposed the table columns, I had set the limits to roughly 51k maximum for the 2nd table and 1k per page for the first table.

Formating of the notes can be done by the player, this formating can be used by using special charcaters on the database side.

How the book is written is up to the client, it can easily control how you write so let the developers handle that =) But you are free to purpose methods.

I have just thought of a slightly difficult by bandwidth saving method to update the in-games notes on the server. The client will store 2 copies of the notes during edit, an original copy which will not be user editable, a modifyable copy is next. When a user hits log or closes the notes, the client will find the differences between the two files and then send it to the game server, at the game server it\'ll access the sql database and then get it\'s own copy, afterwards it\'ll apply a patch to the text and then send it back to the sql server for final storage.  This is a solution to save bandwidth uploading, but on initially opening the book the user will need to download all the pages at once.

The -%-Page break-%- was an example phrase, since I am in no position to use non-printing characters. but such things should be possible to allow for user control formating...
« Last Edit: December 20, 2004, 10:19:34 pm by Diamondcite »
I like taking things literally, going overboard is fun! Now... why do I keep getting odd looks?

zinder

  • Hydlaa Resident
  • *
  • Posts: 193
    • View Profile
(No subject)
« Reply #27 on: December 20, 2004, 08:44:53 pm »
I suggest you reread my post again. When i talked about adding column i was talking about YOUR first design. If you still think what i suggested needs additional a column each day, please explain why you think that way.

Keknehv

  • Hydlaa Resident
  • *
  • Posts: 62
    • View Profile
(No subject)
« Reply #28 on: December 20, 2004, 09:24:33 pm »
Quote
Originally posted by zinder
im no DB knaack, so take what i say with a grain of salt. But while your second variant saves DB operations, it is very costly on memory and processing if you want a halfway decent user interface with things like jump-to-entry, search, sort-by-title/date/etc.


Jump-to-enry and search \"very costly on memory and processing\"? I don\'t buy that. If your computer can run Planeshift, it should be able to do a simple search through several hundred kilobytes and return results.

Also, diamondcite, I like your idea. A simple \"diff\" like command that would save bandwidth. I think we could take most of the source code directly off of the GNU diff command.


What if at the beginning of the journal database entry, it would have entries for each of the pages, about whether they are empty or not. The server would only send over non-empty pages, and the client would know that the rest of them are empty. And then, during upload, the client would check if a page was empty, and would upload only ones that are not. Empty pages are pages that contain only spaces and new line characters.


And I just checked out sizes of pages in vi... I think 65 columns by 35 lines, after word wrap, would be great. That is really a very decent amount of page size for everything...
root@stupidadmins:/ #  rm -r *

Quote
Originally posted by sesmi
my start bar thingie has moved from the bottom of the screen to the side!!!!! how do i make it go back!!!! help please!!!!!! i\'m sorry this is in the wrong forum but i\'m panicing!!!!!!

Diamondcite

  • Hydlaa Resident
  • *
  • Posts: 165
    • View Profile
(No subject)
« Reply #29 on: December 20, 2004, 11:08:56 pm »
To Zinder: I edited my previous post and I appologizes for mis-reading.

To Keknehv:
I\'ve never considered the possibly of a blank page... upon creation of the notes the -%-Page Break-%- or whatever symbol is chosen to identify that a page break was supposed to be present would have been added to the notes...
Assuming the rule of, you have only have 1 in-game notebook per character we could conceivealy add a 3rd column to the database stating how many pages that user can have.

I don\'t see how else a blank page can be represented other then to have 2 page breaks touching each other.

Keeping this close to a NOTEBOOK, instead of an indexed note taking enging, why would headers be necessary, since this is your own notebook, you should know what you placed where.. else it\'s just your poor note taking skill.

My the current table design has no limit on how large each page is.. only how large the total notebook can be. 1000 characters have been reserved for formatting, the devs can increase that number at will.

35 lines... will that fit on a 640x480 screen? maybe even small screens... a size of 45x13 would barely fit on a 320x200 screen
Come to think of it never mind what I think just now. I forgot that some people liked to do mini maps.
One thing I liked about the dos editor was how it could place a character anywhere... but I guess a fixed width font would work just as well.
I like taking things literally, going overboard is fun! Now... why do I keep getting odd looks?