Sunday, July 22, 2007

Forever Interactive Server 3

I have a temporary RAID 1+0 setup using Ubuntu Linux. I am waiting on the last hard drive to come in to fully set up the server, but I have documented the install progress at the FI Wiki.

Below are pictures of me in our new Ubuntu setup using GNOME.


Next steps are detailed in the "To Do" section of the wiki, but basically when the final hard drive gets here, I will install it, redo the install steps, configure the server (setting up processes, security, etc), install backup services, install Multiverse and get all users set up for use.

Saturday, July 07, 2007

Forever Interactive Server Part 2

For the past week I have been reading several books (see below), and just getting up to date knowledge on this Linux server. My goal is to have this be well done enough to last us for a while, provide good data security and integrity and save us costs.

Here are shots of the partitioning:

Next I will set up the software raid array.

Books used:
Ubuntu Linux Bible
Beginning Ubuntu Linux: From Novice to Professional
Hacking Ubuntu
Linux All-in-One Desk Reference For Dummies, 2nd Edition
Degunking Linux
Configuring and Administering Linux ReferencePoint Suite

I will use information from this book for some of our teammates:
Ubuntu Linux for Non-Geeks: A Pain-Free, Project-Based, Get-Things-Done Guidebook
Ubuntu Linux for Non-Geeks: A Pain-Free, Project-Based, Get-Things-Done Guidebook

Sunday, July 01, 2007

Forever Interactive Server Part 1

For our first server, we decided just to buy the parts and build it ourselves. Before I came on the team they discussed purchasing a server from Dell or one of the other pre-made companies, but I can build a similar PC for a lot less so we can use the money to do other things. We were able to build this system for around ~$1600.

Here are the pictures in progress:





I put a basic version of Ubuntu Linux on the server to make sure the hardware was properly configured. Now the next task will be to design the partitions and prep the server for raid configuration. The current config just has all four drives mounted serially. Once thats complete I will have to secure Linux, patch any existing software, and add new software.

Sunday, June 10, 2007

Spawn Timers Part 2

This weekend I completed my EQ2 guide (yay!). Then I revisited my spawn timer code. This is because all of it seemed to not be accurate. During my testing I hardcoded delay values in mob.py and tested them. (The test results are in the uberworlds wiki). Basically below about 3 minutes or so, the way MMOkit does it's time update, it is very difficult to track accurately completely in its default form. There may be some way to improve this. I am also adding some flags to not check if mobs are already up and if it has the same name as the existing.

Next task for UW will be implementing some quests for Silversage Forest (http://wiki.uberworlds.com/index.php/Quests:_Silversage).

Links Used:
============
http://en.wikipedia.org/wiki/Wikipedia:How_to_use_tables
http://www.w3schools.com/html/html_tables.asp
http://en.wikipedia.org/wiki/Table_%28HTML%29#Tables

Monday, May 28, 2007

Friday, May 18, 2007

Changing spawns for Uberworlds

This assignment is to change the spawn function to have more discreet increments. Currently here are examples of how spawns work:

mob1 = DBSpawnInfo(spawn="Radothe",startTime=20, endTime=6)
mob2 = DBSpawnInfo(spawn="Wild Wolf",frequency=RPG_FREQ_ALWAYS)

The new function should allow
mob3 = RPGSpawnInfo(spawn="Wild Wolf",startTime=20.13.56,endTime=6.24.24)

Allowing detail to the second to be used.

Python:
Install Win32Api Extensions and PythonWin packages.
To exit the interpeter, use Ctrl+Z on Windows, On Unix or IDLE Ctrl D.

To run a Python program in Unix as an executable, use chmod to make your script executable. (chmod +x script.py). Add a line to the top of the program for the location of your python executable. (ex. #!/usr/bin/env python)

Links used on this project:
http://www.mmoworkshop.com/trac/mom/wiki/PopulatorGroups
http://www.mmoworkshop.com/trac/mom/phpbb?page=viewtopic.php&t=262&highlight=spawn+group
http://wiki.uberworlds.com/index.php/Spawn_times
http://www.python.org
http://www.vex.net/parnassus

Interesting Links:
http://www.3dtotal.com/ffa/tutorials/max/joanofarc/joanmenu.asp
^ Full model tutorial.

Wednesday, May 16, 2007

Monday, May 07, 2007

Completing MMOkit Tutorials

Everything is going much smoother now that I know where most things are. I did run into a few issues though, so I'll record them here in case I forget later.

= Make sure object names do not have spaces in them. If they do the game won't load. It can be fixed by editing the *.mis file and adding a "_" where the space is.
= For the Spells tutorial, there is a missing icon (STUFF/2). Found this by searching for STUFF after I realized things were erroring once I tried to use the spell object and the inventory Icon had no icon.

http://www.mmoworkshop.com/trac/mom/wiki/Administration
http://www.mmoworkshop.com/trac/mom/wiki/Tutorials
http://www.mmoworkshop.com/trac/mom/wiki/ServerSetup
http://www.mmoworkshop.com/trac/mom/phpbb?page=viewtopic.php&t=8&postdays=0&postorder=asc&start=30
http://www.mmoworkshop.com/trac/mom/wiki/DevEnvironmentSetupWindows

http://stage6.divx.com/PixelPerfect

Sunday, May 06, 2007

Placing Animated Model in MV

I took one of our first models from our Technical Art Director from a COLLADA file, and converted it to MV mesh, skeleton and material files. The material file has to be edited because the current incarnation of MV conversion tool does not generate a complete OGRE mesh file. Once the files are converted, I place them in the repository using the Asset Importer. I create one asset for the mesh and another for the materials. Then I view the model using the MV Model viewer. I'm still having trouble with the materials so I'll continue this later.

Update: Everything works now. Each material needed to be explicitly named in Max. Once that was done, the material file worked and everything loaded into MV properly.


http://update.multiverse.net/wiki/index.php/Creating_Material_Scripts
http://update.multiverse.net/wiki/index.php/Platform_Tutorial_Editing_Material_Files
http://update.multiverse.net/wiki/index.php/Model_Conversion_Tool

Monday, April 30, 2007

Quarterly Meeting

Today I had my first quarterly meeting with Forever Interactive. We met up at Dave and Buster's and had a great time meeting everyone.

For work I ended up doing mainly administrative items since we got home late. I updated the new forums from phpBB, since we were getting bombarded by the spammers.

Friday, April 27, 2007

Creating a New Zone in MMOKit

oday, doing the Creating a New Zone tutorial. I have an old version of Photoshop, but I'm going to try and download/use GIMP instead.

So far I noticed that the first time the character wasn't placed properly, so I need to fix that.

Links:
====
http://www.mmoworkshop.com/trac/mom/wiki/Administration
http://wiki.uberworlds.com/index.php/Newbie_World
http://bugs.uberworlds.com/
http://www.uberworlds.com/distro/
http://quark.planetquake.gamespy.com/gamepaks.php3

Wednesday, April 25, 2007

Uberworlds Tutorial

Prairie Games' MMOKit Homework Assignment
1-2 Weeks

After talking with Faille at length about the project, our first goal is to create a very small "newbieworld" with many of the mmo basics you are familiar with. As a community, we will work together to create all of the elements required to bring this world to life and make it fully playable from an mmo standpoint. This includes, new models, zones, quests, npcs, classes, races, spells, skills, and more. After doing this, we should have the personel and skills in place to expand the world or create another one.

Before we can work on newbie world, we need to learn how to use the tools available to us. Therefore, allow me to introduce the MMOKit, complete with a juicy set of tutorials. When you have completed this assignment, you will have experience setting up your development environment, hosting and connecting to your own mmo server, spawning npcs, creating zones, linking zones, and creating content including: quests, weapons, loot, spells, and skills.

Step One - Getting Started

First, familiarize yourself with the MMOKit by reading the following pages:
Documentation - MMOWorkshop - Trac

Afterwards, we need to setup our development environment (in Windows). Follow the steps listed here:

DevEnvironmentSetupWindows - MMOWorkshop - Trac

*Note - For Step B1 - After installing TortiseSVN, go into your new directory, right click and select CheckoutSVN. Put your URL in here and hit OK to grab the latest mmokit code.

For part B, you may use option One or Two. I recommend Option One I only recommend Option Two for coders who care about debugging and project management. You will get a full blown IDE with debugging capabilities very similar to Visual Studio.

Verify you can run around in the single player mode after following the steps.

After your environment is setup, follow these steps to create your own version of the game files
NewGame - MMOWorkshop - Trac

After confirming you can again run around in the single player you are ready for the next step.

Step Two - The Tutorials

The listing of tutorials can be found here:
Tutorials - MMOWorkshop - Trac

You will need to enable developer mode to work on these tutorials:

Once in the game client, hit Ctrl-Tilde and type: $pref::developer = 1; Exit the game normally.
*Note: You only have to do this once, the preference will be saved. Ctrl-F10 opens the GUI Editor and Ctrl-F11 opens the realtime Zone Editor.

These are the tutorials you are responsible for doing. Please do them in the order listed here as each one builds on the previous:

1. Creating a New Zone - step 8+ is optional, especially if you have no experience creating Interiors or using Quark.
* Note - in step 7, the SpawnSphere doesn't exist in the default mission. You can Create one in creator mode by looking under "Shapes->Misc". Putting one in the world will get it into your mission.
2. Linking Zones
3. Bindstones
4. NPCs and Monsters - once complete, try creating multiple spawns in your zone and tie them to waypoints.
5. Items and Loot
6. Dialog and Quests
7. Interactive Objects
8. Spells
9. Skills
10. Vendors
11. Factions
12. Points of Interest
*Optional - Epic Battles (large scripted encounter)

After you have completed your tutorials you should be ready to move onto the final step.

Step Three - Your MMO Server

Follow the steps listed here to host and launch your own MMO server, you may skip step 1.
ServerSetup - MMOWorkshop - Trac

Make sure you can connect to your own game.

Step Four - Judgement

If you make it this far, let me know. I will then log into your game and test out what you have done in your tutorials.

========
http://www.mmoworkshop.com/trac/mom/wiki/DevEnvironmentSetupWindows
http://subclipse.tigris.org/install.html
http://www.eclipse.org/downloads/
http://www.eclipse.org/downloads/
http://www.eclipse.org/mylar/
http://pydev.sourceforge.net/download.html
http://www.mmoworkshop.com/trac/mom/wiki/NewGame
http://www.conitec.net/english/gstudio/

http://www.uberguilds.org/worlds/wiki/index.php/Main_Page


Sunday, April 22, 2007

Uberworlds, Multiverse and Forever Interactive

Recently I started working MMO development. I have accepted a Lead Programmer position at Forever Interactive. Our first project will be Infernal World, working with the Multiverse engine.

A second project to further increase my skills has also started. This is Uberworlds, a community developed MMO project. Initially they were going to use Multiverse also, but now they are going to use the Torque based MMO Workshop Kit.

Links used in this project:
http://www.mmoworkshop.com/trac/mom/wiki/DevEnvironmentSetupWindows
http://www.mmoworkshop.com/trac/mom/wiki/Administration

Thursday, February 22, 2007

CSS and vBulletin

I am helping my guild develop a XML feed for our roster from the vgplayers site. I haven't done this before even though I often fool around with HTML and XML.

CSS info
RGB/Hex Color Calculator
How to create your own custom modules.
How to create your own custom pages.
vBulletin manual.
Borrowed parser.
About.com info on php.

And here is the finished product:

WSDLs

On my job I'm regularly required to learn as I go. While I have college degrees in my field, it is so broad and the knowledge is always rapidly changing. Today I have to modify an existing WDSL file. I have created my own many times, but this time I'm taking time to read up so I do not mess up any other services. It's a big difference when I own the service vs. messing with someone else's work.

Here are some of the links I used on this project:
http://builder.com.com/5100-6389-1045080.html
http://searchwebservices.techtarget.com/originalContent/0,289142,sid26_gci915766,00.html