gaeiden's picture

the rpg master

stor tiss og rompe

Moving...

Hello Everyone,

I realize it's been awhile since we updated this site.
We've been making a lot of headway with Mud 'N Muck, the multiuser dungeon being used as a test case for Platinum.
We have the first 2 dungeons almost ready to roll.
In addition the character design, and story line are all basically complete.

Anyways it has been brought to my attention that the site isn't performing well for many of you, it turns out it's a matter of load.
We are on a shared hosting account, and the provider doesn't have enough horsepower to really make the site work.

Whats Better Werewolves, vampires, or robots

Werewolves
50% (5 votes)
Vampires
20% (2 votes)
Robots
30% (3 votes)
Total votes: 10

So WHATS UP

Hey everyone how are you doing am new to this site and i just felt like saying HI!

Happy Chrismahanukwanzakah!

I just wanted to take a moment and wish everyone a Merry Christmas, Happy Chanhukkah, Kewl Kwanza and whatever other holiday you happen to be celebrating this time of year.

Sincerely,
Steven Morrey / Dreamer

Big Changes to Platinum Library

Hi everyone,

As you probably know we are in the process of creating a new Multi User Dungeon game called Mud 'N Muck as a test case for the platinum library.

While creating this game we decided to have each portion of the game be a standalone compilation unit, which is pretty much standard practice. Everything went well but as it turns out, the Platinum library as it was written did not support discrete compilation well.

Specifically we needed to revise the file layout and then change platinum to compile once as a single library, in a seperate compilation step.

Multi-Threaded Chat

Now that we have threads our chat client becomes dead simple to implement.
The first consideration is how many threads we want to have.
We have 3 basic functions but only two of those are going to be blocking the main thread, therefore besides the main thread, we only need 1 more thread.
We will call this the user input thread.

Since we have determined that we want user input in it's own thread, lets create a function to deal with user input.

void HandleInput(void* Conn)
{

std::string data;

Go Thread Racer Go!

Here we present a very simple multi-threaded program I call Thread Racer.
In the subversion repository you will find it called ThreadTestSimple

When we create a thread using the Platinum::Thread library, we use a function called
Platinum::Thread::Create

This function takes a pointer to a void function which accepts a void pointer as it's argument.
Which of course looks like this

void MyFunc(void* mydata);

So calling Platinum::Thread::Create looks like this

ThreadID myThread = Platinum::Thread::Create(MyFunc,(void*)mydata);

Platinum::Thread

Threads are both a blessing and a curse.
You can do a lot of good with proper thread management and you can also turn an otherwise simple, beautiful and responsive program into a slow unmanageable mess.

But before we get into all of that lets discuss the basics of multi-threading.

Computers are designed to execute instructions in a sequence, we call a sequence of instructions a program.

TCP Chat Client

I had considered skipping creating a chat client at this stage because telnet serves our purposes so much better than anything we can create right now.
The main problem with creating a chat client right now is that we do not have threading in the library yet, interestingly enough though our next library section will cover threads.
The reason we need threads is that a client is composed of 3 heavy sections, one of which HAS to block.
We have Network, Processing and User Input stages, these stages are all non blocking with the exception of waiting on user input.

Syndicate content