Thursday, December 18, 2014

MUD

Progress on the MUD has been put on hold for a bit. The past month or two have been pretty busy with work, family and friends. Personal projects take a back seat to real life events. Also I've been rethinking using Node. I might switch to Python. I just picked up the Wingware Python IDE on Steam when they were doing auctions. I have been playing around with the world generator. I did get the GURPS world generator running in DOSBox, but I'd prefer having something that I can hook into and automate. I might end up repurposing some of this code for my MUD. I picked up a few other things on steam so it could be a bit before I pick this project back up.

-Carl

Wednesday, November 19, 2014

NodeMUD

After some Googling it appears there are several Node.js MUD engines. I'm going to play around with rolling my own first.

I started by going to nodejs.org and clicking the nice Install button. After downloading I've gotten the install screen:











Node is now installed.

Running npm gives the following:

npm : Error: ENOENT, stat 'C:\Users\XXXXXXXXX\AppData\Roaming\npm'
At line:1 char:1
+ npm
+ ~~~
    + CategoryInfo          : NotSpecified: (Error: ENOENT, ...ta\Roaming\npm':String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

Googling error gives:

http://stackoverflow.com/questions/25093276/nodejs-windows-error-enoent-stat-c-users-rt-appdata-roaming-npm

Making the director in Roaming fixes this.

First installing telnet via:
 npm install telnet
 
Windows does seem to install telnet by default anymore so...
 
pkgmgr /iu:"TelnetClient"
 
will add it via the shell.



MUD Game Programming

I recently obtained a copy of a book I lost a few years ago.

http://www.amazon.com/Game-Programming-Premier-Press-Development/dp/1592000908

It is a great niche book which covers building a MUD from start to finish (a MUD is never really finished)

Now that I am rearmed with this guide book I am going to make a MUD. I'm going to document my process from start to finish*.

The first choice I need to make is languages. The guides in the book are C++ and eventually plugin support with Python.

I could follow the book exactly, but the opportunity to enhance the design. I am considering the trade off between native network access and a web interface. I could go with a web framework and use SignalR and make a slick web client and/or make a standard network connection via telnet and or dialup access. 

Here is what I am considering:

C++ or C# for telnet and dialup connection to the MUD
C# for the MUD engineC# for the Web Server interface
Python for plugins
SignalR to allow enhanced web connection
WebAPI for native user bot support

After some consideration this stack will not work well on my RasberryPi which would be a great dedicated machine for a MUD.

I think I am going to use Node.js for everything.

Saturday, November 1, 2014

PHP data

A friend of mine suggested I split off my my data layer portion from my heraldry project and put it up on GitHub and include it in my other project. I've got one little part I found online that I am checking on the license, but should be posting pretty soon. If the license isn't compatible I'll need to write something to fill in that piece. Basically it connects a MariaDB to an Object Layer and has a RESTful API. I've got a nice example file that uses Knockout to connect to the API. 

Thursday, October 30, 2014

Get StarGen from GURPS working

Legally get your copy of DOS and Windows.
If you have them on your HD in a folder and need an ISO img

From Arch if you don't have it already get cdrkit, provides genisoimage :

pacman -S cdrkit
genisoimage -o DOSandWindows.iso MyFolder

Get dosfstools
Reboot

dd bs=512 count=2880 if=/dev/zero of=floppy.img
mkfs.msdos floppy.img
mount -o loop /path/to/floppy.img /mnt/floppy/

Make disk images until you are done....

Give up and use WINE

Enable Multilib
pacman -Sy
pacman -S wine dosbox lib32-ncurses lib32-mpg123 lib32-sdl
WINEARCH=win32 WINEPREFIX=~/win32 winecfg

Install dosbox on Windows
Thanks Tim Cain!








System
Location: 0 (Spiral Arm)
Campaign TL  0: Stone Age
Catalog number: 593851032

Stellar Information:
   Number of stars: Single star
   Class: Main sequence - Class V
   Type: K (Orange)
   Brightness: 4
   This is a Population 1 star
   Biozone: 0.50-0.60 AU
   Number of planets: 9
   Oort Cloud: Present
   Phenomenon: None

Planetary Information:
1  0.10 AU  Hot RockBall  Diameter=7,545 miles  Density=5.3  0.92G
  Planet composition: Iron average
  Gems/Crystals:      Almost entirely absent
  Rare Minerals:      Plentiful, exported if great demand
  Radioactives:       Plentiful, exported if great demand
  Heavy Metals:       Scarce, needs to be imported for industry
  Industrial Metals:  Ample for local use, no surplus
  Light Metals:       Extremely plentiful, exported
  Organics:           Plentiful, exported if great demand
  Tilt: 9  Seasons: Minor
  Day:  40 hours
  Year: 7.31 local days, 0.03 Earth years
  Moonlets: 0  Small: 0  Medium: 0  Large: 0
2  0.50 AU  Terrestial  Diameter=6,855 miles  Density=6.2  0.97G
  Planet composition: Iron rich
  Gems/Crystals:      Almost entirely absent
  Rare Minerals:      Scarce, needs to be imported for industry
  Radioactives:       Almost entirely absent
  Heavy Metals:       Ample for local use, no surplus
  Industrial Metals:  Extremely plentiful, exported
  Light Metals:       Extremely plentiful, exported
  Organics:           Almost entirely absent
  Tilt: 18  Seasons: Minor
  Day:  50 hours
  Year: 65.34 local days, 0.37 Earth years
  Moonlets: 0  Small: 0  Medium: 0  Large: 0
  Pressure: Standard
  Atmosphere composition: Reducing (hydrogen, carbon dioxide, methane)
  Liquid water covers 55% of the surface.
  Humidity: 15%
  Climate: Tropical: Low,Average,High Temps = 80,100,120
  Dominant native life: Lower plants: lichens, mosses, fungi
  One hex on map = 479.9 miles
3  0.90 AU  Medium Gas Giant  Diameter=50,677 miles  Density=0.8  0.93G
  Tilt: 9  Seasons: Minor
  Day:  26 hours
  Year: 303.44 local days, 0.90 Earth years
  Moonlets: 10  Small: 12  Medium: 6  Large: 1
  Giant: 0  Small gas giants: 0
  Special feature: Faint ring (like Uranus)
4  3.30 AU  Asteroid Belt
5  12.90 AU  Large Gas Giant  Diameter=85,762 miles  Density=1.2  2.36G
  Tilt: 12  Seasons: Minor
  Day:  12 hours
  Year: 35,676.61 local days, 48.84 Earth years
  Moonlets: 12  Small: 6  Medium: 6  Large: 0
  Giant: 2  Small gas giants: 0
  Special feature: Faint ring (like Uranus)
6  51.30 AU  Terrestial: T/NA  Diameter=8,719 miles  Density=1.6  0.32G
  Planet composition: Silicates
  Gems/Crystals:      Almost entirely absent
  Rare Minerals:      Almost entirely absent
  Radioactives:       Almost entirely absent
  Heavy Metals:       Almost entirely absent
  Industrial Metals:  Almost entirely absent
  Light Metals:       Plentiful, exported if great demand
  Organics:           Almost entirely absent
  Tilt: 9  Seasons: Minor
  Day:  15 hours
  Year: 226,341.92 local days, 387.31 Earth years
  Moonlets: 2  Small: 1  Medium: 0  Large: 0
  Pressure: No atmosphere
7  102.50 AU  Large Gas Giant  Diameter=81,912 miles  Density=1.4  2.63G
  Tilt: 6  Seasons: Minor
  Day:  14 hours
  Year: 684,917.04 local days, 1,093.87 Earth years
  Moonlets: 12  Small: 7  Medium: 4  Large: 0
  Giant: 0  Small gas giants: 0
  Special feature: Intense radiation belt
8  204.90 AU  Medium Gas Giant  Diameter=51,651 miles  Density=2.3  2.72G
  Tilt: 3  Seasons: Minor
  Day:  5 days
  Year: 225,845.74 local days, 3,091.66 Earth years
  Moonlets: 11  Small: 6  Medium: 6  Large: 0
  Giant: 0  Small gas giants: 0
  Special feature: Faint ring (like Uranus)
9  409.70 AU  Large Gas Giant  Diameter=83,534 miles  Density=1.2  2.30G
  Tilt: 18  Seasons: Minor
  Day:  16 hours
  Year: 4,789,158.11 local days, 8,741.33 Earth years
  Moonlets: 16  Small: 10  Medium: 6  Large: 3
  Giant: 0  Small gas giants: 0
  Special feature: Faint ring (like Uranus)

Linux VM and browsing the web with Firefox

Browsing with Firefox and tired of seeing this after you resume a VM:


You might need to update your time:

ntpd -qg