Tuesday, September 9, 2014

Wayfar 1444 was down for a few hours today

Update: Wayfar is fully operational once again.  Some recent updates have included mails when a building or vehicle is destroyed, dozens of new descriptions, and a bunch of bug fixes.

Monday, July 28, 2014

7/28/14 Updates

- Assorted buffs to harvesting tools.
- Adjustments to civilian collection behavior and sanity checks, etc.
- Chop shops got buffed and their reference to acceptable chopping targets is now on a $worldgen property list and not a hard-coded one. You can now chop armor, weapons and gadgets for their constituent goodies (if they have any).
- Foods got restructured and a few new food items were added.
- Various pirate loot containers got buffed and a few new ones added, the newer armor/weapons are now included in the drop lists.
- Small escort vehicles (The 8T-RL escort vehicle) now come with a heavy machine gun mounted by default, it's not as powerful as the autocannon equivilent using the same ammunition but it'll do in a pinch.
- The 8T-RL escort vehicle now has a child vehicle the 8T-BL fast attack vehicle which is slightly slower but has greater integrity and fuel capacity.
- A bunch of minor changes to properties and descriptions for balance purposes and the removal of typos, etc.

On top of all that, I've recently been mucking around with the Unity3D engine, favoring the 2D side. I'm just getting to grips with all the important classes and getting used to the C# language (MOOcode handles public/private status and classes in another fashion) but I'm making fairly decent progress with a little 2D shooter platformer thing as a testbed.

Tuesday, July 15, 2014

Changelog Summary / Devblog Updates for 7/15/14

* bugfixes & ~200 descriptions added.
* Added a starship construction platform station to the Supra solar system.
* Added a mailing list called *typo for reporting spelling & grammar errors - use the syntax: @send *typo to submit reports.
* Colonists can now be assigned to gather resources and will bring them to your warehouse every 12 hours.
* Daily login rewards added.  Referral rewards added.  Holiday events coming soon!
* Dragging re-enabled on most things that should be draggable.
* You can now type MATCH or MATCH <string> to see exactly which objects match to which names in game.
* Added association logs which currently track credit transactions.
* Limited orbital bombardment from dreadnought class ships is now possible.
* Collecting some various images from forums posts:

(warpstorm test)

(current map and status view... status in need of rework)

(programmer assist MXP menu)

* Alien desert concept art: 

* Added new graphical solar maps to the website and a brand new historical event log:

Wednesday, May 21, 2014

Hellcore Tutorial - Creating an API

This is a short tutorial on creating an $api object for Hellcore MOO.  This is useful for standard verbs or properties you might want to have on objects that aren't related by tree.

$api is a database that tracks the available APIs - standardized sets of verbs of properties to apply to other objects.

$interface is a definition for the API.  You @create an $interface to define the verbs and properties granted by the API.

@create $interface called linkable
@prop $api.linkable #<createdobjectnum>
@verb #<createdobjnum>:link this none none
@prop #<createdobjnum>:input_types {}

All the verbs and properties on the $interface you create should remain blank or unset - they are just to define that the interface has them.

$implementing_interface is where the actual verbs are written and any default property values set.  You have to set your previously created interface's .implementation property to the implementing interface in order to automatically apply the interface to objects.

@create $implementing_interface called linkable
;$api.linkable.implementation = #<createdimplementinginterface-objnum>

You then add verbs and properties to the implementing interface.  Example:

@verb #interface:link this none none
@program #interface:link
what = args[1];
what:aat(what:dnamec()+" beeps hella loud, because it's about to be linked to an input or output.");

The actual object being acted on is passed as the first argument.  Write the verb to act appropriate regardless of parentage.

Now that you have your interface, you can refer to it in code as $api.interfacename, and use it like so:

$api.interfacename:is_on(OBJ target) - check if the target implements $api.interfacename.
$api:implement_on(OBJ target) - apply the properties and verbs from the $implementing_interface to target.

Wednesday, April 30, 2014

04/30/14 Updates

I had been meaning to write up this post a few weeks ago but I was too busy making text. The most recent addition to our motley crew is Vega, who has actually made working text without crashing the MOO.

The majority of changes since the last post are as follows:

- Several new hackable 'secure' container types for randomly spawning in pirate encounter rooms.
- Gauss rifles are now far easier to make, and gauss pistols can be made too now.
- Some spooky action involving stat boosting gadgets was fixed.
- Armor no longer erroneously displays a weight carrying bonus of 0.0kg.
- Pirate scouts and ultralites have been fixed and no longer have their pilots go mysteriously missing.
- Pirate fighters now spawn in solar systems.
- Fighter, ultralight and scout class ships can now be produced on the experimental starship workstation.
- Some odd behavior regarding starship debris in space was fixed, sparse starship debris can now be collected with an asteroid mining module and is cleaned up with other junk in space after three or so hours.
- Junk in space is now more intelligently cleaned up on the three-hourly schedule, 'unstable fix' items can now be shot at in space but at any distance (this is a temporary workaround).
- Some new critters to meet and get your face torn off by.
- Adjustments and improvements to shield modules and shield terminals, now better shields will require more power, charge more stability per tick and have more max stability.
- Some organic materials are now edible and can be eaten raw, such as native berries or native fungus. These might give you a disease or a stomach upset rarely.
- Some new 'invisble' (no terrain messages to spam up the map) resources including native (and exotic) spices and herbs, exotic fungus and native tubers.
- A bunch of new food items, a few of which require the new scavengeable organic materials, some which can only be bought and some which even can only be crafted from certain fish. You want depth, we got depth.
- The maker block has been readjusted to make food, drink and other useful items rather than ice cream and assorted tacky junk you'd find in some 99 cent store (it still makes ice cream though).
- Injector logic was adjusted so it is no longer relying on one massive insane if statement to work out what you want to inject. You can now inject anyone following you, in your party or in your corp. Wild animals and robots cannot be injected regardless of the previous cases.
- Pirate kings in moon dungeons have been replaced by moon pirate officers, I plan to make pirate kings the big bads which only spawn on rare occasions or as a result of quest/mission activity.
- A new layer of world generation which produces volcanoes on the surface of a planet depending on the level of tectonic activity present.
- Underground Points of Interest now exist, these will act as large mineral veins, caverns or some other goodie, buried horror or event which will make digging interesting beyond finding a bunch of inert metal every tile. These will be expended and replaced on a daily basis.
- Fixed some odd behavior regarding linking robot handpads when they have no assigned robots, and old hand-e droids not actually being a claimable object.
- Code-locked doors which require you to enter a number between 1111 and 9999 to open the door, these will be accompanied by a mainframe/datapad/chip you have to hack or a pirate you have to steal a note from for the code.
- Kodak flashers (an object dating back to the really early days) now correctly emit messages to the room the user is in.
- Containers now have a dump command which can be used to dump the contents of one container into another, or just to dump the contents onto the floor.
- The player corpnet got a 'history' and 'who command, as well as the ability to be turned on and off.
- Buildings which utilise the On-Demand System to re-use their indoor rooms that can have vehicles loaded into them such as the Large Warehouse can now correctly have vehicles loaded into them.
- Colonist-driven automated harvesting/refining/production is in the works, you can see the work-in-progress input command in the governors office in a sector center.
- There is now a job board in the administrative lobby in central complex which shows all the jobs you can possibly perform and earn rewards for (and those you can't).
- Layer-based dungeons are in the works, these will involve making a 'layer-cake' dungeon formed of a set of floors which are one of multiple different variants of the floor, and can be rotated by 90, 180 or 270 degrees. Along with the new randomised encounter contents, this provides more depth and a novel challenge for players used to the static pirate dungeons.
- 8-pound shells and the 8-pounder main cannon are now 96mm shells and the 96mm main cannon now, the weight reference in the name was somewhat odd.
- Even more prefixes and descriptions for stat relics.
- Random material armor can now be passed a set of arguments during population which dictates the material, quality and thickness so now a full matching set of material armor can be populated at the same time. The stat bonuses and module capacity/modules will still be random though.
- Some refinements to the 'put' command which prevents you from putting your worn equipment and wielded weapons in a container.
- Refinements to the robot 'sell' command to consolidate all the selling into one action rather than queuing dozens of actions.

We've recently had a large spike in the number of players regularly on the game, nothing beats seeing a whole bunch of new dudes playing your game and sticking around and the added input from bug reports and suggestions is also speeding development along.
In other news, we had an outage today whilst our server was reportedly moved to a new datacenter.

Keep posted folks, there'll always be new changes to report.

Wednesday, April 2, 2014

4/2/14 updates changelog

Okama gamespheres are now available in the Central Gear Shop.
Missiles now leave craters.
Exosuits increase maximum weight capacity when worn.
Seeds found during exploration/discovery can be farmed with an agricultural pod (built from the structure tool).
The Theology skill has been upgraded:
* Cost reduced from 500 to 250 - taking 2.5 regular skill spaces.  It is an exclusive social skill and other skills cannot be taken with Theology (such as Musician or Consultant).
* PREACH - new command that can buff other players and creatures in the room.  10 minute cooldown.

* BLESS <robot or product (weapon, armor, building, vehicle, etc)> - restore 20 points of health to the target.  5 minute cooldown.
* Max HP Bonus: 5
* Aggression penalty: 2
* Max clarity bonus: 1
* Max stamina bonus: 1

Job added: preacher man (rolling double the difficulty check when preaching) - 24 hour cooldown.

Tuesday, April 1, 2014

Freak Background Status - updated 4/1/14

Freak is one the original backgrounds we've been wanting to add to Wayfar for a long time.  We've finally started completing some of the pieces.  As a freak, the player is wanted by law enforcement, and his or her goal is to locate and enter a heavily guarded lab in order to remove their warp powers - before they end up an experiment in the same lab, forever.

Freak powers:
* Warpstorm - 100%
   Unleash your psychic powers in an area around your target.  2 minute cooldown.
* Teleport - 25%
   Zap yourself to another tile on the same planet.  5 minute cooldown.
* Mind Ray - 0%
   Focus your mind on a single target to deal energy damage.  2 minute cooldown.

Freak objective:
Corporate lab - 10%
 * map complete

Thursday, March 6, 2014

03/06/13 Updates

Aphteroid here, some pretty important development has been going on recently and some of the things produced have opened up large areas of possibility for the game. If you think the game has already got a lot of depth, think again- we're only just getting started.

Here come the updates:
- Major restructuring of how planets and npcs are hibernated, planets are now hibernated per-sector which allows for just small areas on each planet to be active at one time which cuts down on unnecessary simulation. $heart was also modified to reduce unnecessary calls to :creature_heartbeat, both of these changes have resulted in massive improvements of CPU usage and we now run less than 10 $heart queues rather than the 80+ we were running previously, I doubt more than 20% of all NPCs will be active at any one time between each 15-minute hibernation run. Kudos to ASM for these changes, I wouldn't have been able to sort out the mess of hibernation I'd made.

- Experimental pirate pilot AI has been developed, a fitting mechanism to spawn pirates has yet to be formulated but the relatively simple AI module has displayed capability of finding, chasing and then attacking a target in space using their ship. Given the way the module works, it could easily allow a robot to perform these tasks in future.
- Starships that explode in space now leave debris that can be collected with an asteroid miner, they contain various materials including minor components of the former starship.
- Asteroid mining has received an update which allows for resources which aren't raw materials to be mined, and the quality of said items is based off the random quality range of the constituent materials weighted towards the percentage of complexity they provide.
- A new building decay/abandonment mechanic is now in place which abandons your buildings if you haven't connected for over a year, this is to clean up unused objects. Players will receive in-game mail to warn them if their stuff is going to be abandoned soon to give them time to respond.
- Maximum health is now determined via a :health_max verb on players to stop problems arising from changing the player's .health_max property such as permanent modification of maximum health.
 - The status and gear readouts have both had work done on them to make them more informative and provide clearer information.
- Item drops can now be formatted as a set of mutually exclusive items (such as a scavenger rat dropping either a wild hide OR a fur hide) dropped in the same roll, pirates have now had their drops condensed into many of such sets and have had their inventory drop chances nerfed.
- Travelling traders now respect the true value of items they sell, this includes respecting the value of contents inside any containers they are selling.
- Civilians will now wear any gadgets you give them and judge new equipment you give them more intelligently (they still need a longer and more precise routine to compare and decide between two pieces of armor though).

- NPC factions no longer build sector centers and thusly no longer have civilians as members of their faction, this is partially due to hatred cascades where the civilians would end up fighting (and losing to) the faction units for some reason. This also reduces the number of (perhaps unnecessary) civilians chewing up CPU.
- Weapon modules are now available on blueprint chips, these provide fixed bonuses to the weapon they are installed to and all of them have had descriptions set before release (thanks to Endre for the descriptions). It is likely crafted weapon modules will increase in usefulness with higher quality later.
- Tractor beams can now manipulate virtually any ship, and will take differing numbers of stages depending on the size of the ship involved.
- Robots now have a remote inventory command which will tell you what they are carrying.
- Many new implants are now available from black market stores, some are bonus implants and others dispense a useful drug.
- Radiation sickness and rad-shield drugs in the works to make radiation more interesting. (Finished as of 03/07/13).
- You can now load starships into a solar carrier whilst it is landed, useful for scooping up stolen asteroid miners for chopping.
- Datapads for recording notes are now much more stable, you can write, read, list and delete notes on it to your leisure.
- Updates to fuel cells to make them keep any charges left over if the starship is full of fuel when they are used.

Development is continuing at a steady pace, I imagine there's some good things in store for the next few months. Keep tuned folks.

Thursday, February 20, 2014

Updates 02/20/14

Hawgnote: Wayfar 1444 is now available on the chrome web store (for free): Wayfar 1444 Free Game Client

Wow it's been a real while since the last updates post, things have been slow in the last few months since I lost my job and the other admins have been busy with their respective jobs/lives, but recently I've had a resurgence in focus and have made some pretty hefty changes and additions recently. Here's a roundup of what's been changed recently:

- Asteroid mining modules can now be mounted on any starship with available module capacity, it won't run unless you have an available cargo bay however. They can now be crafted too.
- Cargo bay assembly kits can be manufactured and mounted on any starship to add a cargo bay to the ship, this is required for asteroid mining and gas harvesting modules to work.
- Asteroid miners had their cargo hold capacity doubled and will vastly decrease asteroid mining times (making other ships using mining modules less efficient).
- The $noise framework that came with the Hellcore has been implemented, all vehicles now make noises when driving/flying, launching, landing and exploding, explosives will make noises when exploding and vehicle horns will now honk. These sounds can propagate through both indoor rooms and wilderness rooms.
- Laser tripwires have been added to trigger devices such as remote charges, doors, and even missile silos when people who aren't authorised on the tripwires enter the room.
- Missile silos are no longer cheaty and require you to choose a target from a list of major structures on the planet, they now require an X/Y value to target.
- Some fancy new frameworks in place for producing unique sets of randomised critters and herbs/plants for each planet.
- Restructuring of the $drug framework to factor drug resistance from armor and other drugs back into the game.
- Weapons can now be looted with bad prefixes, making them worse than their parent weapon. Some new random weapon prefixes have been added.
- Armor can now be looted with a second set of prefixes, much like the prefixes weapons have. Some of these can be bad but some may increase the damage resistances of the piece, increase the dodge and defense rolls or even hacking rolls.
- Random stat-boosting relics have been added, they can be researched from the 'odd trinket' artifact and have randomised stat-boosting values including hack bonus, they occupy a gadget slot and may even generate with only negative bonuses.
- Random relic engines have been added, the research item that yields them is only found on moons (and hence requires special equipment to acquire) but they can provide exceptional size-to-thrust efficiency, fuel-to-thrust efficiency or both!
- Additional stat-boosting relic prefixes, names and descriptions have been added.
- New stamp prefixes for armor, and more non-stamp prefixes.
- Reworked armor descriptions to factor in all bonuses on those items.
- Random material armor now has a working 'points' routine which randomly assigned bonuses (previously the 'points' calculated would always be 0).
- Various armor pieces and other objects got descriptions.
- Armor pieces now have durability descriptions that match their base material (fiber, cloth, metal or ceramic).
- A new smokeable item has been added: Sky-sticks which are available from cigarette vending machines (in cantinas and other shady places), these provide an instant dice recovery and a clarity dice max and regen bonus.
- Smokeable items now have a small chance of giving you a cough when used, the cough has a chance to produce noise each heartbeat and a very small chance of harming you each heartbeat. This can be remedied with a relaxant inhaler which is available from central complex stores (it is a dice regen enhancing drug within it's own right, so it has use outside of curing coughs).
- The administration level of central complex had a few changes to prepare for a central complex quest contract store, the lounge on that level got a comfy couch, starkiller game machine and a cigarette machine (go buy some sky-sticks dog, 's cool).
- Some hefty restructuring of quest contracts from a mostly faction-related task to gain reputation towards credit-rewarding tasks, faction quest contracts will remain in-game for their original purpose though.

There's more stuff but I can't remember what it was, I do remember dropping a nuke on someone's house though, sorry whoever it was.
(Edit 02/21/14 & 02/22/14 - Added some of the stuff I did and some stuff I remembered).