What's new in the latest build?


#104

0.14.23

  • Adds the first “event” to the game; the “Influencer”.

Shortly after your game hits version 1.0.0, you’ll receive a notification that a streamer wants to play your game. You’ll be told the time and hour when they’ll start playing. When they connect, you’ll receive another alert, which will let you zoom to watch them play.

They’ll play for up to a few hours. At the end of that time, you’ll receive a free advertising bonus based upon their final happiness value. Higher happiness, or higher unhappiness, give the biggest benefits.

Note that the generated streamer is a completely normal subscriber in every way other than being a streamer with a big following. My very first streamer, the first time I tested this, happened to be a toxic player. It’s also possible for them to be a whale, or a cheater, or any of the other player tags.

Right now, you won’t see the streamer again after the first event. In future, you’ll get more streamers over time, and happy ones may return multiple times. But that’s not yet implemented.

  • Improved the feel of camera pitch up/down control when near the ground.

  • Proof of concept for different lighting environments per region. Now when you zoom into a region, the light direction and conditions blend into the settings for that region. These are not currently editable. (Sorry!)

  • Character names are now generated in a different way, which should yield more reliably pronounceable names.

(They’re still roleplayer-style names, though; I haven’t gotten around to implementing something that will generate Xx_Sephiroth1997_xX names, yet. I’m looking forward to that, though!)

  • Fixed lighting in 3D GUI scenes (such as the actor editor, buttons in the scenery picker, etc) to be appropriate for the game’s new HDR lighting.

  • Fixed scenery rez-in effect duration to be correct at high altitudes.

  • Building info window’s “status” line now lists the building’s status correctly (such as being inactive, or having no network connection)

  • Fixed an issue which could cause network line effects (such as those attached to uplinks and WANs) to draw entirely black.

  • Fixed the creation of absurd numbers of network line effects while placing uplinks and WANs. Now the effects while placing a node match the effects after the node has been placed.


#105

0.14.24

  • Improved the appearance of most terrain surface details.
  • Fixed region lighting

Internal region lighting (introduced in 0.14.23) was accidentally using the directional light color and intensity for its ambient light, instead of using the configured ambient light levels. (oops!) This typically resulted in over-bright regions with washed-out shadows. Now fixed.

  • Experiment: Normal offset shadows.

This is a slightly different method of performing shadowing, which tends to generate fewer problems with surface acne and peter panning. I’d post a link here, but I can’t find a really good explanation of the technique. Sorry!

Going to try this for a few releases, and see how we feel about it. In this build, we’re using only normal offset; regular shadow bias has been entirely disabled. We didn’t have a lot of trouble before, but this seems to have reduced the small amount of peter panning we were getting on small geometry details.

  • Fixed grass transition as you zoom the camera away from the ground.

At some point in the past, I seem to have accidentally disabled it. Now it’s back, so you should no longer see grass “popping” in and out, as you zoom close or far from the ground.

  • Move the “Saving” indicator into the correct position after a window resize or resolution change, while the game is being played.

#106

0.14.25

  • New Monster/Class edit interface.

This is still a bit of a work in progress, but it’s mostly set. Click on the character icon in the Info window to open the character editor. “Optimal DPS” is a rough estimate of the maximum sustained damage the character can produce.

Abilities may be edited to give them a longer or shorter range, to do more or less damage, to change their cooldown, etc. More editing functionality will be added soon, now the basics are working in this new interface.

Not yet functional: FOTM tiers, number of calls to buff/nerf each class, and the automated buff/nerf buttons on the Stats page, for folks who don’t want to adjust class abilities manually.

  • Improvements to shadow quality.

Shadows are now more tightly bounded around the visible parts of the view, giving much higher visible shadow resolution for each shadow quality setting.

  • Fixed a rendering bug which could result in flicking artifacts if SSAO was enabled.

I’m quietly hoping that this same fix also fixed the infrequent flickering seen on the main menu screen. But I’m not ready to declare that definitely fixed.

  • Fixed “Options” window not correctly initialising the user’s VSync setting when the game starts up.

Previously, the window would always show VSync as disabled when first opened, even when it was enabled. If the user changed another setting and left VSync disabled, VSync would be turned off when changed settings were applied.

  • In new games, the “Rage” attribute is now yellow, instead of green.

(No effect on old games)

  • In new games, the default player classes only have two attacks each, by default. (Previously, default player classes had four attacks each).

In a near-future build, the player will be able to add and remove attacks, but that is not yet supported in this build.

  • Fixed the activity field on the second tab of the player info window.

Previously, this always said “Wandering around”. Now it correctly states what the user is actually doing.

  • Fixed a rare crash if a subscriber had a thought about a monster zone (typically that there were too many or too few monsters in it), and then you destroyed that monster zone, and then you viewed that subscriber’s thoughts before the thought about the monster zone timed out.

#107

0.14.26

  • Fixed a rendering bug when MSAA is enabled, which was introduced in 0.14.25.
  • Fixed a crash after a 3D arrow disappeared.

This was most common when changing a quest destination, but could occur in other situations as well.


#108

0.14.27

  • Fixed a bug introduced in 0.14.25, which slightly broke the GUI in a way which prevented you from adding new quests to NPCs.
  • Made a few different attempts to fix an uncommon crash during game shutdown (which I’ve been unable to repeat, myself). If this doesn’t fix the problem, it should give better debugging output to help me track down where it’s coming from.
  • A few other minor debugging and logging adjustments, to help trace out more information if/when things go wrong.

#109

0.14.28

  • Fixed an assert which fired during the “VIP streamer” event, if the streamer got so upset that they unsubscribed from the game while streaming. (Or if you manually banned them while they were streaming)

#110

0.14.29

  • First-pass of functionality of the “Buff” and “Nerf” buttons on the character editor.

When you click these buttons, you’ll have a buff or a nerf proposed. You may then accept or reject that proposal. These are fundamentally the same edits that you can make manually, over on the ‘Abilities’ tab, but the game will propose things for you. For when you’re feeling lazy, or don’t particularly care. :slight_smile:

Subscribers still don’t directly react to these buffs/nerfs, yet. But that’s next.

  • Keyboard input is now processed using keyboard scancodes, instead of key codes.

Scancodes identify key positions, key codes specify letters. As a result of this change, folks using non-QWERTY layouts now can now move the camera around using the keys in the positions where WASD are on the QWERTY layout, regardless of where their keyboard layouts put the W, A, S, and D keys. Typing text still uses the keyboard’s native layout.

  • Wall turrets are now visibly sunk down into the terrain so that their base is as low as the lowest ground anywhere under them

Previously, they were placed at the height of the terrain exactly at their centerpoint, which could often result in one side or the other appearing to float above the ground.

  • Drastically improved how objects which adjust the terrain height are applied to the terrain.

It’s a lot better now, especially for roads (which would often make the terrain appear “crinkly” before).

Thanks to everyone for submitting crash reports for these! They really made them a lot easier to track down! :smiley:

  • Fixed a few small once-per-load memory leaks.

Edit:

  • Also, autosaves have been adjusted to occur every 5 minutes, instead of every 10 minutes. Saves are now much faster than they used to be, so… I’m less concerned that they’ll be disruptive!

#111

0.14.30

Wow, it’s been far too long since the last update! Lots of life-issues hit me all at once, along with various games industry conferences. But… all is good again! We should be back to regular updates, now. (And my new apartment is even nicer to work from than the old one!) :smiley:

  • Playable classes are now assigned a “Flavour of the Month Tier”, by the player community. You can view these in the class info windows.

Tiers run ‘S’, ‘A’, ‘B’, ‘C’, D’, from best to worst, with ‘B’ being average. If all your classes are in perfect balance with each other, they will all be at tier ‘B’.

That’s a total lie, though, because these tier ratings aren’t reliable; the whim of the player base biases them over time, even if you make no changes. So… you should probably take these tier ratings with a grain of salt. But your players take them very seriously; new players are more likely to choose to play the currently highly-rated classes, and players become happier when their chosen class rise in tier, and sadder when they drop in tier.

You can affect the community-assigned tier levels by buffing and nerfing your classes, and also (to a smaller extent) by changing the visible model.

Note that classes are assigned to tiers at the start of each game day; changes you make to a class during a day won’t affect its current tier until the start of the next day. If you’re loading an old saved game, your classes won’t be assigned to tiers until the start of the next new day.

  • Subscribers are now able to make and track demands.

Right now, the only implemented demands are for particular classes to be buffed or nerfed.

As a general rule of thumb, subscribers won’t make demands unless they’re invested in your game. Even when they’re feeling invested, the demands made by most subscribers are based upon their own personal experiences and the broader class tier ratings, so… as above, best to take these with a grain of salt. But subscribers will become somewhat happier if you do the things they demand. You can view a subscriber’s demand (if they have one) in their Info window.

Or alternately, the class info windows will tell you how many subscribers are calling for each class type to be buffed and nerfed; that might be more useful.

Note that when a subscriber calls for a buff or a nerf, what they’re really asking for is for that class to move up or down in the tier rankings, so they will not consider a class to have been properly “buffed” or “nerfed” until a new set of tier rankings “proves” that it’s happened.

  • Proof of concept for textured roads.

This is just proof of concept; need to get proper artwork for the roads! But I sort of like having a bit more to them visually than just the old flat brown. Feedback is very welcome on this!

  • We now track the average time between deaths, and the average time between gaining levels, for all player classes. These values can be seen in the class info windows.

  • Fixed the generation of terrain clutter around paths (grass was being excluded to a much greater distance around roads than it ought to have been)

  • Fixed an array save/load function which was causing certain terrain editing operations to be lost after a save/load cycle. (Thanks, @Daniel!)

  • If you use the “Go To” button on the VIP event’s alert, it now zooms in to view the VIP, instead of leaving the camera at its current zoom level.

  • Sped up window rez effects:

“Fast” transitions: 0.25 seconds -> 0.2 seconds.
“Slow” transitions: 1.0 seconds -> 0.4 seconds.
Flicker duration: 0.6 seconds -> 0.5 seconds.

  • Fixed a bug which was causing “rez blocks” to disappear from the loading screen sequence.

#112

0.14.31

Scenery!

  • Lots of new scenery items! This build adds 34 new scenery items to the game. That just about doubles the number of available scenery items! New items include more plants, furniture items, warfare-related items, and more.
  • Fixed path obstruction calculations. Detecting when a path is in the way of a scenery placement is now far more reliable. In particular, it no longer checks for “obstructions” past the end of a path. Similarly, it no longer gets confused by undulating terrain. Thanks to @Daniel for tracking down a reproducible test case for this issue!

Quality of life!

  • Easily place lots of objects! When placing scenery objects or scenery buildings, the placement tools now remain active after placing the first object. Previously, the tool deactivated itself after each placement. Apologies; that earlier behaviour was really annoying!
  • See more scenery at once! In the scenery palette, items are now drawn in two columns, instead of one, and in smaller buttons than before. This means you can see about four times as many scenery items at once! Additionally, the scenery items are now framed better inside the palette, which means you get a better view of what objects are available.
  • See which paths are getting in the way. Paths now briefly draw in red, when they prevent you from placing an object. This should make it a lot easier to tell why a piece of scenery won’t agree to go where you’re trying to place it!
  • Improved scenery placement tool, near region boundaries. Previously, the placement preview simply stopped following the mouse if you moved it too close to a region boundary. Now, the preview continues following the mouse, but is treated as obstructed when too close to a region boundary.
  • Improved scenery placement tool, when the cursor moves over 2D UI elements. Previously, the placement preview stopped following the mouse when the mouse moved over a 2D UI element. Now, the placement preview is hidden whenever your mouse is over a 2D UI element.
  • Go nuts and click on the top of action bar tabs! Previously, the top few pixels of action bar tabs weren’t being detected as part of the UI, so couldn’t be clicked upon. Oops! Now fixed.

Oh no, bugs!

  • Tutorial fixes! The first tutorial quest, “A Touch of the Grave”, was badly out of date; it was still teaching new players the old UI from back when we had “Edit Mode” as a separate thing, several milestones back! That’s pretty embarrassing, and this has now been brought up to date.
  • Safe to modify buildings again! There was previously a crash if you modified a scenery building and then later destroyed it. That crash has now been fixed. Thanks to @Daniel for reporting the issue!

#113

0.14.32: Knowingly Destructive!

  • Know what you’re about to destroy. When you’re laying down terrain, any scenery objects which would be destroyed and replaced now get highlighted in red.
  • Know what you’re about to destroy. When you’re laying down impassable terrain (such as mountains or chasms), in addition to highlighting scenery items, we also highlight paths, buildings, walls, and NPCs which will be destroyed.
  • Know what you’re about to destroy. When you’re using the ‘Destroy’ tool, objects under your cursor now get highlighted in red to show you for certain what you would destroy if you were to click the mouse button.

More destruction!

  • Destroying paths. You can now easily destroy paths, even if you’ve adjusted the terrain under them since placing them! (The path selection maths now work in 2D, on top of the ground surface wherever it is, instead of based upon a 3D collision model that goes out of date when you adjust the terrain)
  • Destroying inner-city paths. You can now easily destroy the specific paths you want to, even if you’ve made them really tiny and cramped together! (The path selection maths are now correct for the new, thinner paths, instead of pretending that paths were absurdly wide)

Little bug fixes

  • But the third one stayed up. Walls now automatically get adjusted to remain on top of the ground when you raise the terrain, instead of sinking underneath it.
  • Intersections are always connected to paths. It used to be possible to build a path with one of its intersections spaced up to a few dozen meters away, apparently not connected to the path at all; the intersection just sat by itself on the ground, a short distance away. This is now fixed (although old detached intersections will remain detached).
    -Intersections are grounded. Intersections no longer float above the ground, if you lower the terrain beneath them after the path and intersection have been built.

#114

0.14.33: Keyboard Controls!

  • Configurable keyboard controls. You can now change the keyboard mapping of all game controls. So if you really want to move the camera around using IJKL instead of WASD, it’s now pretty easy to do that! This is all on the ‘Controls’ tab of the new Options dialog.

Control bindings are now saved in a new file named “binds.txt”. It’s completely safe to delete that file, if this causes problems for you. (But if that happens, it’d be awesome if you could send me a copy of your file before deleting it!)

Note that our key bindings use keyboard scan codes, which identify physical buttons (rather than what key is mapped to those buttons by the operating system). If you change your keyboard layout between runs of the game, you should still be using the same physical keys as before.

Caveat: The tutorial has not yet been updated to display the correct keyboard instructions, if you’ve customised your keyboard bindings or have a non-QWERTY layout. I need to fix this before the MS15 build!

  • Reorganised the options dialog. The options dialog now has several tabs, instead of jumbling all the settings together on a single window. Most of the options now take effect instantly, and don’t need to be confirmed, where previously you had to click an “Apply” button to make them stick.

You still need to click ‘Apply’ to get changes applied on the Video tab; changing those settings is computationally expensive, so I don’t want to do it until the user has finished making all their changes.

  • Adds keyboard controls for rotating the camera. You can now rotate the camera using the keyboard. On a QWERTY layout, we use the ‘Q’ and ‘E’ keys by default. (Suggested by @woubuc)

More options!

  • Adds an option to use the system cursor. If you want, you can now tell the game to use your OS’s default cursor, instead of the in-game-rendered one. The normal and non-rotating in-game cursors are still available as well. (Suggested by @woubuc)
  • “Non-rotating” cursor setting is now restored properly. Previously, if you set the in-game cursor to not rotate, that preference was being saved, but wasn’t correctly loaded on the next run. Now fixed!
  • Action bar buttons can now be toggled on and off using the keyboard. The buttons docked in the twelve slots of an action bar can now be activated by pressing the twelve keys in the number row of a standard keyboard: 1-9, 0, -, and =. And of course, these default keys can be changed using the keyboard binding interface in the options screen.

Visual tweaks

  • Visual sparkle in the title screen. Increased the contrast of the title screen background effect, and tweaked the shader a lot.
  • Sanded down the scenery. The shaders for scenery items and buildings have been adjusted to treat most scenery items and buildings as if they had rougher surfaces. Net result is that objects look less shiny than before.
  • Smaller checkmarks. Reduced the size of the checkmark icon in checkboxes. It was bold and daring, but also a bit over the top. Now more restrained and less absurd.
  • Grid text view selections now draw in orange, instead of light grey. This makes the text of selections much easier to read, in my opinion.
  • Grid text selection highlight now aligns correctly with grid rows. Previously, the highlight drawn over the selection was offset downward by exactly two pixels. Oops.
  • Game camera no longer moves around while a modal dialog is open. For example, when the system menu is open, or when you’re rebinding keyboard controls.

#115

0.14.34 - 0.14.35: Quick fix!

  • Windows build launches successfully, again. (Oops!)

Technical discussion: In 0.14.32, the Windows build was running SDL version 2.0.3, while all other platforms were running version 2.0.5. For build 0.14.33, as part of the input handling updates I bumped up the Windows build to use 2.0.5 as well, but accidentally did it in a way that was incompatible with the older SDL2_image library we’ve been using, resulting in the game refusing to launch on Windows builds. I’ve now bumped up the Windows build to use the official binaries for SDL2 2.0.7 and SDL2_image 2.0.2, instead of my hand-compiled ones, and it seems much happier.

  • I-beam! If you use the system cursor, it now switches to your OS’s standard I-beam cursor when you move the mouse over an editable text field.

This feels so natural that I think I need to do this same thing (or something very similar) with the default in-game cursor as well. The current in-game cursor’s behaviour over editable text isn’t nearly as good at indicating that text is editable, compared against simply showing the system cursor’s I-beam.

  • Smaller game cursor. I’ve reduced the size of the in-game cursor by about 30%, to make it better match the size of the system cursor.

I need to play with this for a while and see how I feel about it. Feedback is always appreciated!


#116

0.14.36: At Long Last

The theme of this build is things that we ought to have had a long time ago!

User Interface improvements

  • Class/Monster ability editing! You can now fully adjust class and monster abilities, in the game design interface. This interface has been completely reimplemented, and should be a lot more intuitive and nicer to work with! (Plus, you can actually add effects to abilities, now!)
  • Better buff/nerf suggestions! When you ask the game to suggest a buff or a nerf for a class, it now suggests much, much smaller adjustments; the ones it was suggesting before were pretty absurdly huge!
  • Smoother scrolling! Scroll boxes used to scroll instantly, when scrolling with the mouse wheel. Now they scroll to the desired destination over 0.1 seconds; just enough to make the scrolling feel a little nicer, without adding noticeable lag. Additionally, scrolling up/down by full pages now works again, if you click above or below the scroll bar thumb. Finally, the scroll bar is now somewhat smaller, and the thumb now adjusts its size to represent how much of the view is visible. Scrolling is just generally better!

Shadow Improvements!

  • Better shadows when near the ground. Previously, when the camera started looking forward across the map (instead of downward toward it), the shadows were pulled right in to only appear on objects within a few dozen meters of the camera. Now we’re using shadow cascades, which go nearly out to the horizon, but also with higher-quality shadows up close. It’s a win-win!
  • Smoother shadows everywhere. While I was playing with shadows, I was a very bad person and switched us from using a simple shadow map to a PCF map. 36 taps of the shadow map for each pixel. That… might be a little over the top, but it does make the shadows look a lot smoother and nicer! I also did some work to reduce shadow artifacts when fully zoomed out from the map.

General bug fixes!

  • Fixed speckles of ultimate darkness. In the “network” view, scenery items in inactive regions would often contain speckles of absolute blackness that cut straight through GUI elements which were drawing on top of them. Now fixed!
  • Scenery looks correct after initial placement. In the last build, scenery items drew in dark grey when they were initially placed, but correct after saving and re-loading. This is now fixed!

#117

0.14.37: Little bugfixes

  • Fixed a game freeze when placing impassable terrain types into regions which contain NPCs.
  • Fixed rendering artifacts over Monster and NPC class edit windows.
  • Fixed scenery and set dressing palette button images often drawing very (very!) dark.
  • Game preferences now save whenever you close the options window. (Previously, they only saved if you actually clicked on the ‘Apply’ button on the Video tab)
  • Normal and Static cursors now have an I-Beam shape which gets used when you move the mouse over editable text widgets. (The system cursor already did this)

#118

0.14.38: Memory Mondays

  • Brought typical peak game memory usage down from about 3 gigabytes to about 1 gigabyte. Yay, we work on 32-bit Windows again! (Does anybody actually run 32-bit Windows these days?)
  • Fixes an occasional crash while destroying a building.
  • Fixes a few small “once per load” memory leaks.

#119

It’s been a really long delay since the last build, but it’s because I’ve been super-busy! :smiley:

Down to just 15 items remaining on my massive “To Do” list for the MS15 build!

0.14.39: Good Grief!

  • Unhappy players can now choose to engage in a new form of griefing: monster training! “Training” is the process of making a monster follow you into an area where that monster wasn’t normally supposed to go, for the twin purposes of “the lulz” and of making it kill people who aren’t prepared for it. For example, getting a high-level monster to chase you to a starting point, or a respawn point, so it can immediately begin to attack players who’ve just joined the game, or have just recovered from death.

At present, only players with the “Toxic” or “Tantrum” tags will do this. And since it takes a bit of an investment of time, they usually decide to do something else instead, anyway, if they have any other options. But it’s an option they do have, now, if they want to have a quick jolt of fun. These players will look for a nearby region where there are monsters and players 2+ levels beneath them, and will do the training there, for maximum safety for themselves.

In general, someone who’s engaging in this griefing behaviour will probably only do it once or twice before getting bored and going to do something else.

More NPCs

  • Adds “Elite” Monsters! Elite monsters are just like regular monsters, except that they’re huge, and have twice as many hit points. Additionally, they can be placed outside of monster zones. Eventually, you’ll be able to set these as quest destinations, but that’s not yet been implemented.

Griefers engaging in monster training will not yet train elite monsters, but that’s obviously something I need to add soon; elite monsters are the best ones to train into unexpected places!

  • Adds “Guard” NPCs! Guards can now be placed anywhere in the world. Guards mostly just stand around, but will attack any monsters who come too close to them. You can use Guards to defend parts of your game where you want players to be safe from monster attacks (or safe from griefers training monsters into them). Note that guards are 10 levels higher than the region they’re placed in, and so shouldn’t have much trouble dealing with the monsters in the region. Like monsters, Guards will respawn after a minute if something does manage to kill them.

  • Monsters can now chase players a much longer distance! As part of support for “Training”, monster combat logic has been rewritten. Now, instead of monsters disengaging once a user moves too far away from their spawn point (“leashing”; the modern WoW monster behaviour), they now will chase a user until the user has been running away without attacking for a long enough period (the original WoW behaviour).

WoW seems to have switched their behaviour to leashing specifically to prevent players from training monsters. By contrast, I switched the behaviour back specifically in order to allow players to do that! :smiley:

This rewrite also fixed a behaviour where monsters would get stuck in a loop, repeatedly running toward and then away from a player who wasn’t engaging with them.

Character Customisation & Progression

  • Players, monsters, and NPCs now have their statistics increase when they gain levels! Health, Mana, Rage, and combat abilities all now scale up with level, which means that higher-level characters now have a much greater advantage over lower-level ones!

  • XP requirements now increase for each new level! Players now require approximately 8 monster kills per level to gain a new level. That is, they need 8 monster kills to reach level 2. Then they will need 16 kills to reach level 3. Then 24 to reach level 4, and so on. Previously, every new level required just the same 8 monster kills. (this system shamelessly ripped off from World of Warcraft’s original leveling curve, from before they began modifying it as they added expansions)

  • Monsters now award far more experience! Previously, monsters awarded 1 XP per kill. Now, monsters award 45 + (5 * level) xp (also shamelessly ripped off from World of Warcraft’s original leveling design).

  • Quests now award FAR more experience than before! Previously, all quests awarded 1 bonus XP on completion. Now monster-hunting quests award approximately the same amount of experience that a player earned for killing the monsters specified by the quest. For example, a “kill 4 monsters” quest will award 4 monsters-worth of XP as bonus XP when it’s turned in.

This means that, to reach level 2, a player should only need to complete a single “Kill 4 monsters” quest; between the 4 kills and the quest completion bonus, they should reach level 2 immediately.

Non-combat quests award bonus XP as well, based upon how far they required the player to travel. A longer journey results in more bonus XP.

  • Different player/monster classes are now more different! Different classes can now have different starting health values, different starting attribute values, and different speeds. Wizards have more mana, paladins have more health, etc.

This one… actually isn’t exposed to players yet; I still need to set up the editing GUI. But I’ve done this for the default classes you’ll get when you create a new game. Existing saved games will see no changes to their classes. Editing interface will be coming soon, though!

Smaller stuff

  • No more floating weapons! When a player out-leveled their weapon, they were forgetting about it and left it floating around on the map, precisely where it had been immediately before the level was gained. Now we clean those up properly!

  • No more stutter at the start of the loading screen on Windows! I really want to talk about what this was, but I’d put everyone to sleep with boring technical details about the differences between platforms. Maybe I’ll do it in a separate post or something. :slight_smile:

  • Better cursor-vs-terrain collision testing! Cursor raycasts vs. the terrain are now performed against the visible ground geometry, instead of against a vague estimate of it. This makes movable objects (players, monsters, etc) more reliably smooth, as you drag them over the surface.

  • Better cursor behaviour, in Windowed mode! If the game is in Windowed mode with a “normal”-style cursor, and you move the cursor off one side of the window and then back into the window from a different side, the cursor no longer does a weird warp across the middle of the window; it actually now enters from the correct side of the window.

  • (Very slightly) nicer cursor! Fixes a few very tiny (often single-pixel) graphical artifacts on the glowing outline of the cursor, when using a “normal” or “static”-style cursor, which nobody but me would ever notice or care about. But I’m excited enough about this fix to call it out explicitly anyway. I’m living my bliss!

  • Fixed scrolling! Scrolling a window view by clicking on the scroll bar thumb and dragging it up and down was completely broken before; now fixed! Scrolling by using mouse wheel up and down was much slower than it was supposed to be; also now fixed!

…and of course, a whole bunch of other minor fixes!


#120

Down to 8 items remaining on my “To Do” list for the MS15 build!

0.14.40: Money Matters

  • Set your MMORPG’s purchase and subscription prices. Both of these values are set from the new “Sales” tab on the “Overview” report. Note that setting these values higher will reduce the rate of new subscribers, and lowering them will increase the rate of new of subscribers!

Game Rule Tweaks

  • Days do not pass until the game reaches v1.0.0. It didn’t make sense for us to be counting days before that point. This makes it so that I can more reasonably tie scenarios and events to day numbers, even if somebody has gone idle during the initial tutorial section of the game.
  • F2P games are now actually F2P. That is, if you choose the “F2P” MMORPG preset, you’ll begin with a purchase price of 0 and a subscription price of 0. I don’t recommend doing this right now; you’d need to attach real money prices to building functions in order to ever make money. (Say, selling weapons for real-world dollars, instead of for in-game gold) That whole strategy has not yet been balanced properly, and definitely needs a few more options for you to play with to make it viable. Note that it’s entirely legitimate to start your game as F2P, and then introduce purchase/subscription prices later on.

Tutorial Tweaks

  • “Zoom” step of the initial tutorial now takes you all the way down to ground level. Due to the different ways that mouse wheel inputs are handled on different platforms (I’m looking at you, OS X), it was difficult to measure “how long” the player had been zooming in and out in a way which worked on all platforms. Instead, the criteria for moving on to the next step is now zooming all the way in.
  • Fixed “initial_state” autosave not including the tutorial state (if the tutorial had been enabled for the game). This now gets correctly saved into the “initial_state” save game which gets created when you first start a new MMORPG.
  • “tutorial_complete” autosave now occurs, when the initial tutorial is completed. This means that if you want to go back and replay the tutorial, you can do it by loading the “initial_state” game, or if you want to skip past the tutorial, you can load the “tutorial_complete” autosave.
  • Separated out the “system buttons” tutorial step from the “Grid mode” tutorial step. It didn’t make sense for both of these things to be explained in a single step; now they’re separate.
  • Better tutorial highlighting of action bar tabs. When the tutorial wants you to select a particular action bar tab, it would draw a pulsing, glowing oval around that tab. Previously, the tab wasn’t properly centered over the tab; now it is. Nobody cares about this except for me, but I’m putting it in the changelog anyhow. :nerd_face:

Bug fixes

  • Fixed class FOTM tier calculations. Previously, floating point inaccuracies could incorrectly categorise classes as very slightly higher than S class or very slightly lower than D class, which the game didn’t know how to cope with. This is now fixed.
  • Text highlight corners are now smaller and less distracting.
  • Fixed comically small label on “Overall Happiness” widget in the Overview window.
  • Fixed broken scenery rez effect on the map, when first entering the map view while creating a new MMORPG.
  • Players can now gain more than one level at a time, if something gives them enough experience to completely vault over one level. (Previously, they’d gain only one level, and would then gain the next level as soon as they did anything which gave them more experience)
  • Rewrote the map shutdown process during exit, to try to fix the “de-registering advertisers” troubles that would occasionally happen during shutdown. I haven’t seen them again since this fix, but those errors were fairly rare, so we’ll see whether anyone else gets them after this.
  • Lots and lots and lots of miniscule bug fixes (most of which only caused minor glitches on the first frame of the game).
  • Fixed a small memory leak which could occur after loading a very very old save game which predated our modern “costume” system for player classes, monsters, and NPCs.

#121

0.14.41: Oops

  • New players will join very small MMORPGs again. In 0.14.40, if you were following the tutorial very closely, you could often wind up with an MMORPG so small at the time that you opened it to the public that potential subscribers would be unwilling to actually pay the purchase price, for the small amount of content on offer. This still needs a small redesign, but for the moment you will get subscribers again, even when your MMORPG is quite small. (Note that subscribers still must be able to afford your game’s purchase price in order to actually buy and subscribe, so if you set the price too high you’ll still get a lot fewer subscribers; they just aren’t considering how much fun they think they’ll get from your game, at the point where they choose whether or not to buy)

  • PCSS Shadows. Shadows are now calculated using PCSS shadows. Previously, shadows had a single, hardcoded penumbra size (that’s the blurry bit around the edge of a shadow). Now, we look at how far away a bit of shadow is from the shadow caster, and make the shadow blurrier the further away it is. As a result, shadows near their caster (for example, the shadows of players, or of the base of a tree, etc) are sharp, while shadows further away from their caster (for example, the shadow of the top of a tree) are blurrier.


#122

Have I overused the Moby Dick metaphor? I think I have. Okay, I’ll stop.

0.14.42: Ding-Dong, the Witch is Dead

Visuals!

  • Fixes the long-standing visual glitch on the main menu screen.
  • More GPU memory! Two big textures which were being used for drawing details on the terrain have been made substantially smaller, while also substantially improving their visible detail level, and also making them render faster! Everybody wins!

Economy Begins at Home

  • View your income-so-far during the day. The Daily Financial Report can now be invoked at any time, and will show you your finances so far over the course of the day.
  • See where your money is going in more detail. The Daily Financial Report now breaks down the movement of your money in far more detail.
  • See where your money went in more detail! The Daily Financial Report now has buttons to show the same information about up to ten previous days! Note: this functionality only works for days played using build 0.14.42 or later.
  • Revamped the game’s economic model. The prices of many things have been adjusted (and behind the scenes, made easier for me to adjust!)

The biggest adjustments are as follows:

  1. Developers salary: $50/day -> $500/day
  2. GM salary: $30/day -> $300/day
  3. Active region upkeep: $1000/day -> $10/day
  4. Uplink upkeep costs: $0/day -> $1000/day
  • New games begin with a skeleton staff. In a new game, you’ll now begin with just a single developer and a single GM. Previously, you started with 4 developers and 3 GMs. You can, of course, still hire more, if you wish. But they’re noticeably expensive, now.

  • Subscribers will now save up to buy your game. Previously, subscribers who bought your game would pay for it only from their daily entertainment budgets. If they couldn’t afford your game using just their daily budget, they wouldn’t buy at all. Now, they use their savings, instead.

  • Subscribers now have slightly more plausible daily entertainment budgets. In general, new subscribers now have lower budgets for their daily entertainment. Note that while purchase prices are coming out of savings, subscription fees still are coming out of the entertainment budget. If someone can’t afford to pay your subscription fee using their entertainment budget, they’ll unsubscribe (unless they’re addicted, in which case they’ll use their savings). This change does not effect subscribers generated by earlier versions of the game.

A “Normal” subscriber (that is, one who is neither wealthy nor poor) previously could potentially have up to a $200 entertainment budget per day. That was obviously a little silly. Now they can potentially have up to a $20 budget per day (and potentially much lower). Wealthy and poor subscribers have also been adjusted, similarly.

  • Ads are now worse! Marketing campaigns were absurdly effective before, and are still absurdly effective, but now they’ll likely give you only a 5x-10x return on investment, instead of an immediate >100x return on investment. These still need a lot more design work, but at least they aren’t quite as utterly game-breaking as they were before. Seriously, these were total money-printing-machines, before.

  • No more magic subscription money. Previously, subscribers were paying their subscription fees, and a bug was magically matching that money and paying it into the company’s accounts a second time. This no longer happens!

  • Pay interest on your loan! Okay, sorry about this one. You now have to pay the interest on your loan. It’s charged at about a 5% per annum rate, which comes to $50 per day, on the default loan you get at the start of a new game. Did I mention that I haven’t yet set up a way to actually pay off that loan? Sorry about that! That’ll be in the next build. Anyhow, $50/day isn’t very much of a burden for your business; you’ll be fine!


#123

This is just a quick maintenance release, it doesn’t contain any of the new PVP work; that should come in a day or two, once I’m sneezing somewhat less and can write code that works.

0.14.43: the “I don’t feel so good” bug-fix build

Bug fixes!

  • Fixes a crash during game shutdown, if you had set dressing objects placed in the world. Oops!
  • Fixes dynamic lights to work again. This has been broken since build 0.14.40, and I never noticed.
  • Fixes fog to work again. This has been broken since build 0.14.36, and I never noticed.
  • Fixes crash in the character model editor. There was a rare crash while changing the scale specifically of the “torso” piece of a character model. Now fixed!
  • Fixes to changing the price of building functions. Previously, buildings would overwrite your changes every fifteen seconds or so, if you hadn’t finished making your changes. Now fixed!
  • Suppress game controls while editing text!. While editing text in a text edit box, we now disable other controls, so typing ‘w’ into a text box no longer moves the camera forward, and pressing ‘1’ into a price box no longer activates the ability in slot ‘1’ of the action bar.