Log in

No account? Create an account
Gamine Development Site's Journal [entries|friends|calendar]
Gamine Development Site

[ navigate | Message Index ]
[ rpg | Temporal Sands ]
[ rpg | Realm of Imagination ]
[ website | Gamine Dev ]
[ userinfo | livejournal userinfo ]
[ calendar | livejournal calendar ]

[03.07.2008 - 6:35pm]

[ mood | determined ]

Learning quite a bit about configuring a hosting environment. For example, if you have a high traffic site and you are using a Unix-based system, you should stick with Apache 1.3x over Apache 2.0x. Higher numbers and newer versions don't always mean 100% compatibility or stability.

Big powerful servers are not always necessary. Take a lesson from Google, who uses a lot of cheap servers that work together. (When I say a lot I mean in the hundreds of thousands -- some people estimate they run at least 500,000 servers *gasp*). Easy to replace a single node, and cheap.

Profile your code, you may be surprised at what you find. The templating engine you thought worked very well may attribute to some performance issues when it comes time to render -- look into caching if at all possible; though it generally isn't on a high traffic site with always-updated content.

Look into opcode caching and the like; you may find that you can get a performance boost from caching your compiled scripts instead of having them compile with each request.

Finally, don't underestimate the varying nature of technology and the fact that even one misconfiguration can result in a lot of problems.


Current Status [02.18.2008 - 4:09am]

[ mood | busy ]

Not going to be able to make any updates for the next few days. Between classwork and managing a big server upgrade at work (adding on another server and beefing up the current one). Four digits a month server bill. Ouch. Glad that's not coming from my pocket. ;)

I have been learning some valuable lessons about handling large loads of traffic on a database-intensive site, though. Many which can/will be cross-applied to Gamine/Avernal. Already working on building in a decent cache system for things like the wiki and other areas of the site that will not be updated frequently. Areas such as the forums, though, are not likely to be cached just because of how frequently they will be updated.

Another thing that I am learning to do is to keep things as generic as possible in order to allow them to be transported across systems (such as migration from standard MySQL to MySQLi). It's easy to acknowledge the concept, but another to adopt that concept and actually implement it.


Avernal [02.12.2008 - 2:05am]

[ mood | accomplished ]

Does anyone still watch this thing?

Anyone that does, please comment here. I just want to send a shout out to all of you.

The project lives.


5 Replies •• Reply

Auto Save [03.19.2006 - 10:22am]

Ever have the problem of losing your posts for one reason or another? Suddenly have to leave and don't have time to finish writing your post, and don't want to post it before it's finished?

Posts will be automatically saved as you write them, and players will be able to retreive them later. Think of it as a "draft" post. Once it's posted, the draft will be removed. There will likely be an unlimited number of drafts that can be stored at any one time.

To retreive the posts, players will be able to browse through all of their saved drafts and resume where they left off (same thread and everything).
4 Replies •• Reply

"Clean URLs" [02.16.2006 - 12:59pm]

URLs should be easy to remember and follow a logical format. Thus, I will present a quick run-down of URL formats -- these may change at a later date.


(or some other noun in place of codex for the encyclopedia)

The primary purpose for such a format is to make it easier for players to navigate. Take, for example, the first URL above. Instead of having to search for the character or for a post by a character, you can simply type in their name and be brought to their profile page.

This eliminates an ugly URL that would otherwise be similar to:

"Clean URL":

We see this all the time on sites such as this one (LiveJournal), etc.

This has made me rethink the database structure in reference to unique identifiers for certain objects (such as characters, players, etc). Since character & player names should (and will be required) to be unique, there is very little need to identify them by a numerical identifier.

However, there comes some question to how this would work with the forum.


Topic titles are very likely to be duplicated at some point, and it would be very annoying to players to have to rewrite their topic title if it already existed. As well, who would really try to get to a specific topic by typing it in? Thus, forum access would probably be similar to the standard / current format on AvidGamers.

Which is a little less ugly than:

(Area names would not be duplicated, and are managed by staff, so there is no worry about that.)

Comments / suggestions are not requested for this post, as it is more of a notice, but if there are any comments / suggestions, by all means post them! :)
7 Replies •• Reply

New Control Panel Mockup [01.23.2006 - 3:38pm]

Control Panel Mockup
Option 1
(click to enlarge)
Control Panel Mockup
Option 2
(click to enlarge)

These are two mockups of the new control panel (non functioning, just static images at this point). Thoughts? Comments?

I'll have to check the color when I get home -- this LCD seems to show colors as less vibrant and rich than standard CRT monitors.
5 Replies •• Reply

Language Demo [10.01.2005 - 3:25pm]

Demo | Source Code | Control Panel Demo

In the above demo, you will see two sections of the page. The first section displays the array that is returned by the actual code (which can be seen in the source code link). Below that you will see the text of the post as translated (on the left) and in its original form on the right. The piece of text at the bottom demonstrates that other tags are not parsed.

For now, all the code does is scramble the contents of the dialogue (if the language is not known by the character). In the above example, the character knows "elven" and "orcish". Also, players will not be able to use just any random word inside of the language tag in attempt to scramble/change text to a language that no character knows. Languages will be added as necessary via the admin panel. As well, it should be noted that at this time, quotation marks are not required to be present around a series of dialogue for it to be translated. (I may change that at a later time, still unsure). But it should be known that users trying to make their entire post unreadable to other users will be reprimanded.

Again, this is just a demo and eventually I hope to put together a better language system.

(The control panel demo above does not actually allow changes, it is a static representation. Each "site" will have their own themed panel -- TS is shown above, RoI will be green, etc.)
8 Replies •• Reply

Mentoring System [09.28.2005 - 4:08pm]

Another idea from the lovely Sarah (semisonicstar).This one pertains to the guidance of new users and inexperienced older roleplayers alike.

In addition to, or in place of, the "Training Grounds", the idea has been suggested to have a sort of "Mentoring System". What does this mean, exactly? Well the basic idea is as follows:

A player joins the site. Upon joining, they are asked if they would like to be assigned a "mentor". Of course, the administrators are allowed to assign them a mentor regardless, if they feel it will help the player -- and new players are to made aware of this in some type of agreement on the application. This mentor will help them in several ways, a couple of which are post structuring and content quality. They will do this by reading over the user's posts (a mentor would be notified with a link to a post when one of their players posts) and sending back a mini-evaluation to the player.

There are a couple of ways this could work.... One would be to allow mentors the ability to edit their players posts (storing both the original and the edit) to show players where they could use work. The other would be similar to the current "Training Grounds" system. With the first, players would not be restricted to a certain area before being able to move on to the main world.

(Post amended by Sarah)
6 Replies •• Reply

Active Character [09.26.2005 - 5:56pm]

Since users will be given the option to have multiple characters on a single account, it's only fitting that a setting should exist to set your "active" character. This is something I had not thought of before, and is actually the idea of Sarah (semisonicstar). While it seems like a very simple idea that needs no mentioning, it actually does have its place -- for a couple of reasons.

The first reason being that it will enable quicker posting (by eliminating the "select your character" step on the posting page if the character you want to post with is your active one, as it will already be selected). In addition, you will have the option to have your active character switched upon posting with a different one.

For example;
With `Quick-switching` enabled:
You had "Jobe" set as your active character because you had only been posting with him for several sessions, but you decide to use your character "Saitia" for awhile. You simply change the character in the drop-down box by your post, and after you post, "Saitia" will now be your active character.

With `Quick-switching` disabled:
You know that your primary character is "Jaron", so you disable quick-switching. You decide you want to make a single post as another character, so you change the name in the drop-down box next by your post and submit. Afterwards, "Jaron" is still your active character.

The other reason for this addition (aside from the increase in ease of use), is that it will determine what languages can be read while browsing. Basically this means that if your active character can only read commonspeak, you will not be able to decipher non-commonspeak languages as you go along. We also don't want people to simply switch characters just to read another language. While I understand this will not prevent such (nor is there a way), it is a hinderance. Sort of.
2 Replies •• Reply

Language & Private Messaging keys [09.23.2005 - 7:36pm]

Earlier today I was contemplating the ability to allow users to assign themselves a private messaging key. What this would mean is that a user could enter a key phrase (with a length of 8-16 characters) in their settings, and when sending private messages, they could set whether or not to use the key. If used, the message is encoded and can only be read if the accepting user knows the key.

Now, while seeming rather pointless, it would be a means of ensuring that the message could only be read by the intended recipient. That way, should an account become compromised (such as forgetting to log out on a public computer, a relative messing around on your computer, etc), messages containing private information cannot be read.

Yes, that would seem overkill, and I doubt anyone would have information that sensative being sent through private messaging. However, I also had another idea stemming from the one above, which is the reason for stating that one.

When roleplaying, all characters appear to speak in commonspeak, regardless of race or intelligence. And as much as the owners of characters would like to be able to speak the languages of their characters, it is quite a difficult task -- especially when some languages just cannot be learned. Then there is the fact that just because one person learns it, it does not mean anyone else will have learned it. Therefore trying to use fantasy languages on a free-form roleplaying site is virtually impossible.

Or is it?

This is where my idea from above comes into play. It would work like this:
Upon registering, players would select one language which their character speaks and understands. From that point on, their language would be set and unchangeable (unless a request was made to an admin with a legitimate reason for doing so). Languagues could be added as well, if there were to be a legitimate reason for doing so. Requests would be made to an admin.

When posting, there would be tags that a user could use to post dialogue in their "native tongue". An example just for demonstration sake would be:
Darius looked from each of the representatives. Each one a brutish orc wielding heavy battle axes. He spoke to them in their own language out of courtesy, "{language:orc}Why do you seek council with Lianae?{/language}"

The resulting post would appear entirely in English (without the tags being visible) to any character who has "Orcish" as a language. To anyone who does not, it would appear as follows:
Darius looked from each of the representatives. Each one a brutish orc wielding heavy battle axes. He spoke to them in their own language out of courtesy, "Hom diggidy dom doum domf art?"

What are your thoughts? Suggestions? :)
5 Replies •• Reply

Documentation Updated [09.22.2005 - 9:30am]

!!! Read DocumentationCollapse ) !!!

System Specifics [Updated] [09.20.2005 - 1:48pm]

For those of you interested, Gamine is currently being developed using:
Apache 2.0.54
PHP 5.0.4
SQLite 2.8.14 *
MySQL 4.1.13 *
GD Library (2.0.28 compatible)
FreeType 2.1.9

* -- At run time, the site will be operating on SQLite, with MySQL available as an alternative if required. I have never used SQLite in such an environment, so it will be sort of a stress test.
3 Replies •• Reply

Forum Divisions [10.25.2003 - 5:06pm]

A problem that was working against me for quite some time is now out of the way. I've been trying different methods for organizing the boards, while at the same time parsing them via the template system solution I've been working with. I believe I've finally settled on how that aspect of the forums will work. There shouldn't be any problems incorporating the other organizational characteristics of the forums now, such as:
• determining if a board is In-Character or Out-of-Character
• restricted from view based on level
• restricted for admin use only (announcements)
• closed
• "sticky" - meaning it stays at the top of all the threads

Things are looking good. :)
2 Replies •• Reply

Progress? [10.04.2003 - 3:00pm]

This thing is probably more inactive than Temporal Sands... and that's hard to do.

So, ah, what's your status, Mike? We need a progress report! *^^*
5 Replies •• Reply

[04.15.2003 - 12:07am]

New idea: Mini-journal for admins / mods / maybe users. Built directly into the system, it would allow for said users to make quick entries about current happenings in their life, characters lives, or just to jot down notes for themselves.

It would probably be limited to viewing by members only, so as not to turn it into a big thing like LiveJournal.

Comments? Further ideas/features to include with this one?
9 Replies •• Reply

Progress Report [03.06.2003 - 11:04am]

Now that the database classes are complete, I'll be writing the user system. This is basically a series of classes and functions which will let people create accounts and then login with them to access the inner site. Shouldn't take too long, just a matter of rewriting some of my older code.

Status: In Progress

Progress Report [02.27.2003 - 8:37am]

Currently writing the database class(es).
These are the main functions that will interact with the database. This includes connecting to, and retrieving & updating the information stored within it. It's more or less reusable code which helps to prevent having to change hundreds of lines of code later on if changes are needed.

Status: Complete

[02.26.2003 - 3:39pm]

// ==============================================
// Pg000 - CONTENTS
// ==============================================
// 	To quickly get to one of these sections, simply press
//	Ctrl+F and search for the page code (Pg###)
// 	• Pg000 ............. Contents
// 	• Pg001 ............. Table Setups
// 	• Pg002 ............. Ability Details
// 	• Pg003 ............. Rank Details
// 	• Pg004 ............. Title Details
// 	• Pg005 ............. Class Details
// ==============================================
// Pg001 - Table Setups - Explains Table Information
// ==============================================
// ---------------------------------------------------------------------------------------------
// Table Name	: user_level
// Description	: Stores user access level information
// user_id		=> User id to which these settings pertain to
// a01		=> Ability: General Management
// a02		=> Ability: Moderator
// a03		=> Ability: Voting
// a04		=> Ability: News
// a05		=> Ability: Users
// a06		=> Ability: Access Log
// a07		=> Ability: Levels
// a08		=> Ability: Layout
// a09		=> Ability: Pages
// a10		=> Ability: Site Content
// a11		=> Ability: Message Board
// ---------------------------------------------------------------------------------------------
// Table Name	: rank
// Description	: Stores basic rank information
// rank_id		=> Number assigned to rank title
// rank_title	=> Displayed rank name
// ---------------------------------------------------------------------------------------------
// ==============================================
// Pg002 - Ability Details - Basic Guide to Abilities
// ==============================================
//	User level is not displayed. It is used solely for system
//	functionality. This allows independent control over users.
// General Management:
//	- ** Currently unused
// Moderator:
//	- Delete posts
//	- Delete threads
// Voting:
//	- Start new voting topics
//	- Reset voting topics
// News:
//	- Add new News topics
//	- Remove / Modify posted topics (owner only)
// Users:
//	- Edit user information
//	- Delete users
//	- Ban users
// Access log:
//	- View access log
// Levels:
//	- Adjust level system
// Layout:
//	- Modify site layout
// Pages:
//	- Add / Remove pages
//	- Modify pages
//	- Set page restrictions
// Site Content:
//	- ** Currently unused
// Messageboard:
//	- Add / Remove areas
//	- Modify existing areas
//	- Moderate area created
// ** Denotes an unassigned ability that may be used in the future
// ==============================================
// Pg003 - Rank Details - Basic Guide to Ranks
// ==============================================
//	Ranks are displayed as the users title on all OOC
//	boards. It is used to differentiate between users
//	while posting. They are chosen from the following
//	list of presets, which may be appended at any time.
// General Member:
//	- Access to all unrestricted areas
//	       (within unrestricted areas)
//		- Ability to post
//		- Ability to vote
//	- Ability to create/edit characters
// Local Moderator:
//	- Able to delete posts / threads within assigned areas
// Global Moderator:
//	- Able to delete posts / threads within all areas
// Developer:
//	- Able to work on site layout
//	- Able to work on pages
//	- Able to post news
//	- Can create voting topics
// Land Leader:
//	- All of the above, within assigned "site"
// Administrator:
//	- Fully unrestricted
// Banned:
//	- Fully restricted
//	- Unable to login
// ==============================================
// Pg004 - Title Details - Basic Guide to Titles
// ==============================================
//	Titles are displayed on all IC content. Titles represent
//	a characters status among the other player characters.
//	These can be assigned per user from a preset list.
//	At this time, no list is available.
// ==============================================
// Pg005 - Class Details - Basic Guide to Classes
// ==============================================
//	Classes represent the occupation of an individual
//	character. As such, there is no preset list. Instead,
//	it is assigned per character, giving greater control
//	over how he or she is looked upon during play.

System Specifics [02.26.2003 - 10:45am]

For those of you interested, Gamine is currently being developed using:
Apache 1.3.23
PHP 4.1.1
MySQL 3.23.39
Currently no libraries in use
--- May use the GD library at some point for the gallery

[02.26.2003 - 10:38am]

Currently Planned System Features

  • Advanced rank/class/title/level system

  • OOC/Character management system

  • Image gallery

  • Built in "Who's Online" display

  • Post counter

  • Local/Global moderators

  • Integrated news display

Those are on top of the obvious, and most basic features, which include:

  • Member list

  • Voting system

  • Messaging system

  • Messageboard (OOC/IC as opposed to public/private)


Welcome to the Gamine Development Site [02.25.2003 - 11:17pm]

For those of you who have no idea who I am, or what this community is... yet you've mysteriously found yourself as a member, let me clear up the confusion. This community is the center of development for something currently known as Gamine, a web application designed specifically for text based roleplaying communities such as Temporal Sands and The Realm of Imagination.

The purpose in creating this community is to allow you (the potential world builders) to input your suggestions for features you may require, and as potential game players, to suggest features that would be helpful or add interest to gameplay.

Your feedback is very highly welcome and asked for. Hopefully this will help me keep working along, as well as keep everyone informed of my current stage. Feel free to point people from your games here as well. All are welcome and the more people there are with helpful comments, the better this will become.

That is all. Thank you.

- Michael Sinclair
- Gamine Admin/Dev
13 Replies •• Reply

[ viewing | most recent entries ]