Advertisements

Network Architecture Challenges of Multiplayer Games

Interactive fast-paced games that operate over networks present many challenges to game designers that want to present a fluid user experience. I recently stumbled on a paper written by J.M.P. van Waveren in 2006 that details the advancements in network architecture in Doom III over it’s predecessors such as Quake I, II, and III.

If you want some insight into the items that CCP has to consider when trying to maintain a cohesive grid for our ships to fight on, read the Abstract, Section 1, and Section 2. Further sections go into Doom III specific implementation of transmitting data between server-client.

J.M.P. van Waveren. “The DOOM III Network Architecture”. Id Software, Inc. 2006. [PDF]

Advertisements

Kronos Change List

Release date: Tuesday, June 3rd, 2014.

Patch Notes

[eveonline.com]

Dev Blogs

These changes have been pushed to the Crius release on July 22nd.

  1. Building Better Worlds
  2. Industry UI
  3. Researching, the Future
  4. The Price of Change
  5. Team Up: Industry Work Teams
  6. Fortune Favors the Bold

Balance Changes

  1. Drone Changes [devblog]
  2. POS gunning skill to only require Anchoring 4 instead of Anchoring 5 [reddit] [dev post]
  3. FW Plex Cloaking Change [reddit] [dev post]
  4. Phoenix and Citadel Missiles Change [reddit] [dev post] [fanfest slide]
  5. Freighter and Jump Freighter Rigging [reddit]
  6. POS ME Bonus [dev post]
  7. POS Changes [dev post]
  8. Factional Warfare Complex Improvements [reddit] [dev post] [dev post update]
  9. More lowsec K-K wormholes [dev post]
  10. Hull Rigs [dev post]
  11. Exploration loot spew removal [dev post]
  12. Faction drone modules [reddit] [imgur]
  13. Dreadnought Signature Radius increase [dev post]
  14. Freighter and Jump Freighter [reddit] [dev post]
  15. Blockade Runner [reddit] [dev post]
  16. Medium Micro Jump Drives [reddit] [dev post]
  17. Loot Scattering removed [reddit] [dev post]
  18. Pirate Implants [reddit] [dev post]
  19. Hyperspatial Accelerators Modules [reddit] [pastebin]
  20. Active mid slot scanning modules [reddit]
  21. Supercarrier changes [reddit] [news post]

UI/UX

  1. Right-click Menu Update [reddit] [youtube]
  2. Warp in/out animations [reddit] [gif]
  3. Faction Station Skins
  4. Team Pirate Unicorns Tooltip changes [dev post]
  5. Lens Flare Adjustments [dev post]
  6. UI Little Things [dev post]
  7. Audio Customization [dev post]

Ships

  1. Dominix redesign [reddit] [imgur]
  2. Moa redesign [reddit]
  3. Typhoon redesign [reddit]
  4. Condor / Crow / Raptor redesign [reddit]
  5. Mordus Legion [dev post]
    1. Frigate – Garmur
    2. Cruiser – Orthus
    3. Battleship – Barghest [reddit] [imgur]
  6. Prospect [reddit] [dev blog]
  7. 20 Ship Skins [dev post]
  8. Alliance Tournament XII Ships
    1. Chameleon
    2. Whiptail
  9. New skins [imgur]

Internal Code

  1. Dogma, the name for the system that calculates ship bonuses, refactoring to improve performance

Burn Jita 3: Day 1

Burn Jita got off to a great start with freighter kills coming in one after another. I was able to watch a few hours of NickFuzzeh’s stream yesterday and was able to get some nice screencaputres before it went offline; image credits go to him.

If you are looking to keep up to date on the kills, head on over to use isjitaburning.com.

Screenshot 2014-04-25 13.28.00

Screenshot 2014-04-25 13.28.15

Screenshot 2014-04-25 13.30.04

Screenshot 2014-04-25 13.30.50

Screenshot 2014-04-25 14.46.15

Screenshot 2014-04-25 15.25.53

Screenshot 2014-04-25 15.26.13


Saying Goodbye to Railgun Compression

It is with a heavy heart that we must say goodbye to 425mm Railgun I mineral compression. The broken mechanic of mineral compression is finally going away as outlined in CCP Ytterbium’s Reprocess all the things! post.

2014-03-20_425mm_railgun_i

This change affects our nullsec/lowsec capital production line to the point where we have to change our entire material acquisition, hauling, and building operations around.

Raath and I have spent a few hours talking about how to rework the production lines, but we can’t come up with a acceptable solution at the moment. We’re going to be halting our production lines and are going to take a small break. Hopefully some more changes come out around Fanfest time that will inspire us.

I am in no way against this change. It is a very positive one and has been needed for years so I welcome the new challenges we’re going to have with getting minerals around the Universe.


Wallet Manager Code on GitHub

I finally sat down and learned the basics of GitHub. I’ve uploaded the Wallet Manager code to this project so anyone that has enhancements or bug fixes can collaborate as a community.

https://github.com/brentnowak/prohd

If you don’t know what this project is, see these previous posts:

  1. Wallet Manager Project Code
  2. Custom Wallet Manager

Happy trading.


Eve Development Environment

Overview

The following guide covers details on how to setup your own Eve Development Environment on your local machine. Using these directions you can create a master Virual Machine template, import the Eve Static Data set into a MySQL database, and query it with a database management program.

I plan on having further guides on running other pieces of software. I want to write guides for Lockefox’s Eve-Prosper tools and the once active Wallet Manager program that I have blogged about; once I learn how to create a public repository on GitHub, I will have a guide on how to run it from a template VM as outlined in this guide.

Virtual Box Setup

Rather than install server services on your local machine, we’re going to isolate them in a Virtual Machine that can be backed up and cloned into unique instances for our needs.

  1. Download and install Virtual Box here.
  2. Download Ubuntu Server ISO image here. Since we won’t be interfacing over the GUI, we can lessen the resource consumption of the VM by going with the Server edition.
  3. Create a new Virtual machine named evedev1
  4. 2014-03-14_vm_setup
  5. Select 512 or 1,024 MB of RAM depending on how much you have on your desktop and how quickly you want your Development machine to run. The more RAM the better, but with the Eve static data set coming it at 525 MB, you will reach a diminishing return after the majority of the data gets into RAM. You can always adjust this setting by powering off the VM if you find performance to be problematic.
  6. Create a virtual hard drive now.
  7. I’m partial to the VMDK format given my VMware background.
  8. Select Dynamically allocated as not to claim empty space on your machine.
  9. Specify 8 GB of storage to start or more depending on how much free space you have available. The base server install will take around 1.2 GB.
  10. Go to Settings on the evedev1 machine and Chose a virtual CD/DVD disk file. Select the Ubuntu Server ISO that you previously downloaded.
  11. 2014-03-14_vm_iso
  12. Start the VM.

Ubuntu Server OS Setup

I prefer Ubuntu but you may want to use any number of Linux distributions.

  1. If your ISO is mounted correctly, you will be presented with a Ubuntu boot screen.
  2. 2014-03-14_vm_boot
  3. Select Install Ubuntu Server.
  4. Select your language, location, and keyboard mappings.
  5. Name the machine evedev1
  6. Create a evedev user.
  7. Create a password for the evedev user.
  8. Under partition disks select Guided – use entire disk. Since this is a Development VM, we will most likely not be using LVM.
  9. Select the partition and on the next screen write the changes.
  10. Allow apt to run to update packages.
  11. Select Install security updates automatically.
  12. Only select the OpenSSH server for now as we will be installing the database separately.
  13. Install the GRUB boot loader.
  14. After the installer finishes, reboot the VM.
  15. If everything is setup correctly, you should see a login prompt.

Creating a Template VM Image

This process gets us to a point where we have a base OS with patches installed. If we make any steps we can revert back to this image and also use this to spin off future copies of VM instances.

  1. Login as evedev with the password set during the install.
  2. Update local package database index with sudo apt-get update
  3. Update local packages with sudo apt-get upgrade. This process will take a while depending on the speed of your machine.
  4. Shut down the VM with sudo shutdown -h now
  5. If you want to make a backup of this file, do it now. We will consider this our Template VM image for making future clones.

Database Setup on a New Clone

  1. Create a Clone of evedev1 by right-clicking on the evedev1 machine and selecting Clone
  2. Name this clone evedev1-mysql and select Reinitialize the MAC address of all network cards.
  3. Select Full Clone.
  4. Power on the evedev1-mysql instance.
  5. Log in and check the IP address of the machine by using ifconfig.
  6. SSH into the IP address of your VM using PuTTY. I find that using PuTTY is more efficient than the Virtual Box interface since we will be pasting a long URL and will enable us to remotely access the database later.
  7. Install MySQL with sudo apt-get install mysql-server
  8. Set the mysql root user password.
  9. Find the latest MySQL conversion of the Eve Static Data at https://www.fuzzwork.co.uk/dump/.
  10. Copy the link of the latest conversion to your clipboard and download it with wget https://www.fuzzwork.co.uk/dump/mysql56-example.tbz2
  11. Uncompress the file with bunzip2 mysql56-example
  12. Un-tar the file with tar -xvf mysql56-example
  13. Change directory with cd rubicon-1.3-95173
  14. Enter the MySQL Monitor with sudo mysql -u root -p
  15. Create a new empty database with create database rubicon95173;
  16. Exit with exit;
  17. Import the extracted .sql with sudo mysql -u root -p -h localhost rubicon95173 < mysql56-rubicon-1.3-95173.sql
  18. Wait for the import process to complete. The import took around 6 minutes on my laptop.
  19. 2014-03-14_db_import

Remote Database Management

I prefer HeidiSQL to access the database, store queries, and edit table structures.

  1. Download and install HeidiSQL.
  2. Create a new Session and fill in the details for your VM. The details on the Settings tab will be the MySQL root user credentials for Hostname 127.0.0.1.
  3. Under the SSH tunnel tab, specify the location of your PuTTY executable. The SSH host + port will be the IP address of your VM such as 192.168.0.20 on port 22. The credentials on this tab will be for the evedev account.
  4. If successful, you should see our imported database and tables.
  5. 2014-03-14_db_tables

Running Queries

I wrote a guide on the basics of the Eve Static Dataset and some sample queries here.


Tips for Eve Blogging

Write Towards Your Passion

I’ll be honest, I’m terrible at keeping focus on topics that don’t interest me. Every teacher that I had during my childhood education reported back to my parents that I was performing poorly in history and language related subjects and excelling at the math and science disciplines. If you are forced to write, the good content isn’t going to last and inspiration will be wain. The advice is simple, share what you like to do in Eve even if you think there isn’t an audience for it.

Do you like Lowsec pirate adventures? Do you want to share stories of grifting and chatlogs? Do you want to be a reporter on Nullsec political arcs? Share what you do best. I never thought that people would be interested in economic inefficiencies and production adventures that I do in Eve, but there really an audience for it.

Your Content Will Change

Wormholes, Nullsec, Invention, and Capital Production — I’ve shifted my focus over time and you might too. Don’t be afraid to embrace change.

Write in the Same Voice

I take a simple declarative, fact based approach to my work and that’s how I present it. There are some other blogs that write in the voice of an evil pirate or personal narrative from the inner psyche. It doesn’t matter what style you have, just stick to it.

Write in Small Chunks

I never write an entire post in one sitting as I find the quality of my work degrades at tasks that extend past two hours. It may take me a few weeks to get a post out based on how dense the spreadsheet work or research is behind it. Don’t be afraid to have posts that never make it to publication or take weeks to finish. Compose when you are in the mood for it.

Take Time Off

Yes, go outside. Enjoy another hobby from time to time. Eve will be there when you get back and spending time away will give you better perspective on issues. A rule I have with any serious personal or professional relationship is that ‘part of spending time together, is spending time apart’.

Peer Review

If you are fortunate enough to have colleges or industry partners like I have with Raath at statticmatter.com and industry.darkshadowindustries.com or Lockefox, ask them to read over your content. I am often talking to these two people on Jabber or Gchat a few times a week.