Update: Wayfar1444.com is fully functional again
Easter Sunday a large scale denial of service attack was launched using hijacked DNS servers. The Wayfar DNS server was one of the hijacked parties and due to this our DNS has been blocked by the host. I have made the fixes to correct this and hopefully the domain will be back up shortly.
You can connect directly to Wayfar via IP address in the meantime: 66.151.244.223 (port 7777)
Wayfar 1444 is a text based online multiplayer game. You are a colonist, sent to the surface of an alien world with a few basic supplies. Join up with other colonists, or plot against them, while surviving and building a self sufficient colony.
Monday, April 1, 2013
Wednesday, February 13, 2013
stuff 3: revenge of the stuff
What would appear to be inactivity is actually just developers being very quiet, we've stil been working on the game and have made a bunch of improvements since the last post here.
For starters, we've got a shiny new Central Complex Alpha which is situated inside an actual space station in the local system DSO-12. It's got a bunch of new shops and facilities and now has a hangar floor below, and an administrative floor above the mall and recreation complex floor. Amongst the new facilities are a starship store, rec dome, holotheater, medical bay, a loan terminal, four whole hangars to park your ship in, and three stores which each stock one element of the former central gear stores stock list. All in all, it serves those who visit it better than the original did and can be accessed via starship for pick-up/drop-off of things and people and refuelling.
Moons previous were dungeons which could be docked with, they now have the same randomly generated surfaces as planets (though are mostly boring rocks covered in ice and have no atmosphere) with the existing types of moon dungeon generated within a building somewhere on the moon's surface. The rarer resources are more common on moons and thusly make EVA trips to your planet's local moon a worthwhile activity. As well as this, you might find more than one pirate hideout on a moon.
Likewise, several new items and vehicle weapons have been added to the game and some existing items have had their credit values reduced to allow new players to be able to afford them from the gear stores. Here are some other changes that have been done recently:
- More balancing of crafting requirements on some items.
- You can no longer own more than one pre-fab shelter at once, this makes the retiree background less of a cakewalk.
- Plasma grenades have been added, for giggles.
- A few more starship weapons have been added.
- Vertibird health has been increased by three times, supermarine sillohuette health has been reduced to 300.
- The starship store in central complex alpha can deliver any starships you buy to a personal hangar or starship complex, if you own one.
- Intelligent creatures (such as pirates) now behave slightly more intelligently towards grenades thrown at them.
- Planets are now centered within their zones, and their moons are spread around in orbits around them.
- Thermonuclear missiles, for extra giggles.
- A whole swathe of objects have been given descriptions.
- Tractor beam modules for solar carriers, so you can collect all those starships people have left in space and chop them up for their delicious parts.
- And a lot more.
All in all, it's been a fairly productive two months and we're looking forwards to pushing into beta (eventually).
2/20/12 update:
- Four new armor sets.
- New armor 'superior' mechanics (which give a bonus to quality, +25 module capacity and a free random module 50% of the time).
- Six new weapons and seven new ammo variations (oh boy 40mm plasma grenades).
- Battlegrounds, a set of maps and scenarios which you can compete in teams against against other players for money, skillpoints and new 'battleground points' which can be spent on goodies.
- Six new armor modules and three new implants.
- Nearly all armor pieces have had weights and values assigned for them.
- A bunch of weapons have had their attacks revamped and given multiple start/miss/hit messages.
- A bunch of new starship weapons.
- Pretty much every armor set has had their resist values changed and all armor pieces should now have the same resist values as their respective torso piece.
- A feature object added to all players to allow them to join/leave a battleground queue anywhere in the game and a command to see the status of the current battleground (it shows the current battleground and queued players if you're not in a battleground otherwise it shows players in assigned teams, team scores, match time left and the match type).
- A mechanic to allow critical success in crafting depending on your crafting skill roll, this increases the produced item's quality by 10-20%.
Labels:
changelist,
changelog,
guide,
roguelike,
sci fi,
sci fi mud,
space colony,
wayfar 1444
Monday, December 31, 2012
Hellcore MOO On Demand Room System Tutorial, Part 1
On Demand Room System
Problem: You have an ASCII/ANSI based MOO that represents many rooms graphically, often. Storing an object for each room consumes database space. Database space is loaded into RAM at a cost of approx. (object's size in bytes) * 2. On Wayfar, with 9 planets at 100x100, this would be nearly 10,000 objects per planet, almost 100,000 objects just to store blank space.
Solution: Only store the rooms that players or other objects are using. Procedurally generate other rooms as required. The savings are huge! This is a rough guide to implementing such a system in MOO. There will be a lot of variation based on your specific gameworld.
Step 1: Track spawned rooms and delete unused space.
On Wayfar, an object named $ods (on demand spawn) is used to track the status of spawned rooms. The active rooms are stored in a hash property called spawned_rooms.
Each room must have a unique identifier for easy tracking. I did this by creating a verb to concatenate a string together from the room's planet/location, and x, y, z co-ordinates. Example:
$ods:key_string(OBJ room)
room = args[1];
key = tostr(room.location, "-", room.x, "-", room.y,"-", room.z);
return key;
This would return a string along these lines: #4444-1-3--1 for a room located in object #4444 at 1, 3, -1. This key will let you refer to the active rooms in $ods.spawned_rooms easily.
Next we create a spawning verb for getting the rooms. This part varies heavily according to how your rooms are setup, and how they are generated. On Wayfar, we use a simple biome grid generated at planetary creation. We always know the terrain type for a given X, Y location on a planet, and from that we can generate the appropriate resources and creatures. This could be improved by proceduralizing all aspects of the room, so that even a despawned room would be re-created exactly from spawn to spawn. Rough example:
$ods:spawn_3d_room(OBJ location, INT x, INT y, INT z)
{planet, x, y, z} = args;room_key = $ods:key_string(planet,x,y,z);"if the room already exists, we can just return it";if(room_key in keys($ods.spawned_rooms)) room = $ods.spawned_rooms[room_key]; if(gamevalid(room) && is_a(room,$room)) return room; endifendif"otherwise, we should create a new room and return that";
room = $room:populate();
"on hellcore, that might be: room = $rpg:spawn($room)";
room:set_point(x, y, z);
room:moveto(planet);
$ods.spawned_rooms[room_key] = room;
Now we need to clean up unused rooms. Example:
$halfhourly:clean_ods
rooms = $ou:leaves_suspended($room);
for r in (rooms)
yield;
if(length(r.contents) < 1)
"you could also add, as we have on Wayfar, a timer check to keep rooms persistent for some period of time";
$rpg:junk(r);
endif
endfor
Important note: Once the elements above are implemented for your system, you still need to hook them into the actual movement actions for the player. I setup some vector based verbs to figure out the rooms I need to be spawning based on the direction the player is moving (on a planet a player can move in any cardinal direction).
This guide will hopefully be expanded as time goes on and I am able to write more examples.
Labels:
guide,
hawgpadre,
hellcore,
instancing,
lambdamoo,
moocode,
on demand,
script,
tutorial,
wayfar 1444
Monday, December 24, 2012
Fun Changes 12/24/12
Whilst things have been quiet on the home front, things have been busy elsewhere-
We've been doing a lot of detailed changes in order to both balance the game more and expand content available to players, notably that of 'superior' weapons which come with a (!) suffix. These weapons are assigned a number of 'points' during generation and these are randomly spent on various stats on the weapon to improve it over a non-superior weapon of the same type. Note that these 'superior' suffixes are not mutually exclusive with existing weapon prefixes so you could find a 'sawn-off m78a1 plasma rifle (!)' or an 'artillery judge-brand pistol (!)' with crazy-high stats and mad damage output.
Here's a list of a portion of the things that have been done:
- Superior weapons now come in six delicious flavors (levels), ranging through cyan, green, blue, purple, yellow and red. Each of these levels have different improvement levels and higher level superiority is exponentially more difficult to acquire in comparison to a lower level.
- Superior weapons now appear in your inventory and on the ground with their suffix correctly shown.
- Superior weapons now generate with more 'points' to spend depending on how high the quality of the weapon is (higher quality means better stats).
- Attacks will now hit bodyparts rather than ambiguously hitting a target somewhere on their body, if they have a body.
- Hackable treasure containers such as those found in pirate bases will now spawn items within a quality range rather than quality 0 which sucked.
- Respawn matrices such as the Kerkove organic regeneration matrix will now display a fun message whenever you respawn at the matrix, thanking you for your patronage/telling you not to die again/etc.
- Civilians bearing a paramedic AI package will now use any medical supplies they are carrying (such as bandages and medicare health injectors) before they use their standard equipment, so they will use any health injectors and top-tier bandages you give them in order to improve their healing abilities.
- The ammo capacity modification of weapons during superior weapon generation has been changed in order to scale with the weapon's standard ammo capacity (weapons with high ammo capacity will gain more, whereas weapons with small ammo capacity will gain less) and weapons with an ammo capacity of 1 will have their superiority 'points' spent in other stats.
- Civilian building construction now works, if you enable civilian building rights then construction sites will appear in the 3x3 section around your sector center (including the center tile) and these construction sites will slowly be completed and then finish regularly.
- Diseases such as spore cough now pay attention to if you're wearing a gas mask or headgear bearing a rebreather module and do not affect people wearing such things.
- Explosives set off inside vehicles will now damage the containing vehicle (frag grenades and such will do little to harm the vehicle, but a pile of proximity charges will make a royal mess of things).
- Sector centers now bear sensors to warn civilians during attacks from vehicles, warning them to take shelter inside the sector center or to man turrets in order to repel the vehicle threat. The civilians manning turrets may also be able to identify the individual controlling the attacking vehicle and attack them if they leave their vehicle.
- Various new consumables are available to players.
- You can now construct tractor beam modules, which can be installed in solar carriers to drag ships inside the integral hangar.
- You can now use drug injectors on both yourself and other people.
- Bandages and injectors now employ a medical skill roll to reduce the duration of their use (the more medical skills you have, the shorter the average time it takes for you to use a bandage or injector on someone).
- NPC factions have received various updates which allow players to operate under them, allow them to perform ground assaults on locations, man turrets and use them to attack, reload vehicle weapons and perform planet travel to inside-a-building/vehicle travel without fault.
There's a bunch of other stuff I'd like to share, but some of it's secret and the rest I'm just too lazy to report B).
Wednesday, December 19, 2012
Updates 12/19/12
* Enabled web access to the random movie poster generator: tinyurl.com/wayfarposters
* Fixed a long standing bug with password resets
* ASecretiveMan added tractor beam modules for starships
* In game changelog added to website
* Server status added to website
* A new issue of drillbit, thanks to Aphteroid:
* Fixed a long standing bug with password resets
* ASecretiveMan added tractor beam modules for starships
* In game changelog added to website
* Server status added to website
* A new issue of drillbit, thanks to Aphteroid:
Labels:
changelist,
changelog
Subscribe to:
Posts (Atom)