Just a small patch that removes a bunch of the bottlenecks in areas across the world, this should make it easier to, oh I dunno… fight wars etc 🙂

Liam

Hiya,

Just a small patch to address some issues:

  • Fixes for 3 rare client crash conditions
  • The game correctly closes on android when app switched
  • HP and Mana labels preference now persists on android
  • Fix for an issue that would result in some weird broken party states
  • Server logging improvements

Version 0.5.26 (a) is a broken build, unfortunately if you update to that version you will need to update again to version 0.5.26 (b) to be able to connect – my fault, I made a mistake when releasing 🙁

Thanks for all the bug reports, keep em’ coming on discord <3

Liam

Ladies and gentlemen, the party system is here 🙂

This is a large update that introduces many fixes and tweaks in many places, the healine feature however is parties – so lets take a look.

Firstly let’s talk about two major changes to how experience and loot is shared in Mirage by default:

  • Experience rewarded is now proportional to the amount of damage a player did to the monster
  • Only the attacker who did the most damage receives any loot

This means no more “killstealing” as it has become known. If someone runs past and hits your monster once, they will only get experience for the tiny amount of damage they did, the lions share (and the loot) will be all yours.

But what if you want to hunt as a group?

This is where the party system comes in. A party is treated as a single attacker, so:

  • The total damage dealt by a party is added up and counts as a single “attacker” on the monster
  • The experience points for this damage are then distributed equally to everyone in the party who hit the monster, with a 1% bonus for each additional player involved (so if you have a party of 6 and everyone hits it, everyone gets a 5% exp bonus)
  • If a party collectively did the most damage to a monster, everyone in the party who hit the monster receives a loot roll

This means essentially if you don’t want to hunt by yourself, you better join a party!

How do parties work?

You can start a party 3 ways:

  • Via the new Party UI in the inventory
  • Via the player details page of the person you want to invite
  • Via the chat command /invite playername

The new Party UI allows you to manage everything to do with your party, namely:

  • Invite players
  • Kick players
  • Promote players
  • Leave the party

As well as this, the player details screen will always show a contextual party action that makes sense depending on your party state.

So you can easily perform the following actions with other players without needing to use the Party UI directly:

  • Invite to party
  • Join party
  • Revoke party invitation
  • Kick from party

Once you are in a party you are added to a party chat where you can talk in private with the other party members. In addition, attacking party members does not count as a PVP action, so you will not receive a skull or be blocked from entering safe zones for attacking or even killing a party member! This means you can train without getting PVP flagged, which is going to be very important in a future update.

Party Icons

To help you easily know your current party state and the party state of other members around you a new set of shield icons has been introduced. These indicate (from left to right):

  • Party member
  • Invited to party
  • Party leader
  • Has invited you to their party

Other… stuff 😀

So as well as parties there have been a whole bunch of other tweaks and improvements as you might expect. The full change log will be listed out at the end of this post but I would like to highlight a few of my favourites!

Chat notifications

Ever found it annoying how unhelpful the chat notification icon was? Well, I certainly have, that’s why from now on the icon will show a different colour depending on the type of message you have received, these colours are in a priority order from lowest to highest, with the higher priority colours overriding the lower priority colours:

  • Yellow: Standard message in map chat or a public channel
  • Blue: Party chat message
  • Green: Whisper message

Social notifications

The friends list is kind of useful in that it allows you to check if people you know are online, but wouldn’t it be nice if something told you when friends started playing?

Notifications now pop up in the top left of the screen for common social events, and clicking them performs the obvious action (like taking you to the player details screen for that friend so you can whisper or invite them to a party etc). Above you can see our friend Coke has come online!

You will now receive notifications for (from left to right):

  • Being invited to a party
  • Someone requesting to trade
  • A friend coming online
  • A friend going offline

It is important to note that party and trade notifications will not be shown for players you have chosen to ignore 🙂

HP and Mana labels

The HP and Mana bars now label their underlying values by default, this can be disabled in the preferences menu if you prefer a cleaner look.

Full change list

Alas, going through every tiny detail with screenshots and explanations would take forever, so instead I present the full change log as a list for your amusement.

  • Party system
  • EXP is now rewarded based on damage dealt
  • Only the highest damaging attacker receives loot
  • Parties count as a single attacker
    • EXP is rewarded equally to all involved party members
    • If a party does the most damage, all involved party members get a loot roll
  • Party chat
  • Significant performance improvements to a number of server side systems (this was already hotfixed into live)
  • Boss monster HP significantly increased
  • Boss monster EXP significantly increased
  • Attacking party members does not count as a PVP interaction
  • Soulbound items are now account bound, meaning they can be placed in the bank
  • Chat notification icon now reflects the kind of message received in order of importance
  • Developers are no longer attackable with runes (Fruok you swine!)
  • On-screen notifications added for various social interactions
  • PC Client: Whispering to another player from the details screen automatically opens the chat UI
  • PC Client: Chat UI now remembers the last whisper chat you had open when it is hidden
  • Added chat commands for key party interactions
  • Changes to key maps where PVP blocking was being heavily abused
  • HP and Mana bars now show text values
  • Preference added for hiding the HP and Mana bar text values

A little update on me…

So what’s going on with me? Well, to cut a long story short the corona virus totally screwed up my plans this year. I am still 100% committed to going full time on the game, however this dream for me goes hand in hand with my passion for climbing – the dream is to convert a van and travel the country, working hard on Mirage and in my downtime climbing the best the UK has to offer. With Corona here and everyone stuck in lockdown, travelling and living in this way isn’t possible so for the moment I took my notice back and am working probably through until next year.

This isn’t such a bad thing, I mean, yeah it kinda sucks not being able to chase this project properly and every day I wake up and have to go to work (well, work from home) is a bit of a slap in the face when Mirage is all that is on my mind… but ultimately I am using this time to save and overpay my mortgage as much as possible so my monthly minimum payments will be a little lower when I do go for it. Lower payments mean I can survive for longer on a pitiful income, which buys me more time to work on the game and chase the dream.

As a result of me working full time once again I am unable to throw myself at Mirage as much as I’d like which means updates have certainly slowed… I will continue working though and dragging us ever closer to something good.

To everyone who has bought a scroll, thank you so much – the love and support I receive from the overwhelming majority of community is what keeps me debugging at 2am on a tuesday when it’s all going wrong.

All the best,
Liam

Hi everyone,

I will post a blog soon going over what has happened since the last post and what is coming in the next weeks, unfortunately for the moment I have to cover a different topic.

Over the last weeks there has been significant pvp conflict in Mirage, which in itself shouldn’t really be a bad thing… but the game unfortunately does not have systems in place to mitigate people taking it too far and many lower level players have found themselves consistently unable to play due to high level gangs just killing everyone they see.

In addition, there have been some significant issues with sometimes up to 50 players surrounding and blocking entire zones off, preventing anyone from accessing that content for hours at a time. This kind of behaviour has understandably resulted in some bans, and a lot of anger towards the moderation team who have been seen by some of the noisier corners of the community as biased.

Putting aside that many of the bans were handed out by me personally (I banned 10 players for 1 week just yesterday for pvp related stupidity), and I have no idea who most of you are, what side anyone is on, or even what the guilds are called let alone which ones are involved – I think it is important that if you get banned for being an asshole you don’t feel like the people who banned you are being equal assholes but they have ban hammers.

That is why starting from today Moderators involved in wars or conflicts with other players are no longer allowed to punish those players for rule violations. This does not mean it is open season on breaking rules while you are in a war involving members of the moderation team, what it does mean is if a moderator involved in a conflict witnesses a rule violation and wishes to enforce the rules they must report it to another member of the team who is not involved in the conflict at all.

That way you can be sure when you are banned for being an asshole, you were impartially banned for being an asshole. Significant updates and changes are coming that will add consequences to blindly killing many other players unjustifiably, until then I will be banning players seen to be indiscriminately wiping maps of lower levels – yes it is fun to be powerful, but if everyone quits because you won’t let them play then it’s going to get pretty lonely at the top.

This game should be a sandbox, if the game lets you do it then it should be allowed… I get that, and I agree with you when you are mad you got banned for murdering noobs. That said, I have made it as clear as I possibly can that the game is extremely lacking in features, you know when you are killing the 50th low level in 10 minutes that it isn’t right, you know it’s not fair.

In the long term systems will be added so this kind of moderation will not be necessary, in the short term you guys have to work with me here – most of you get this, some of you don’t… and you end up with bans, and you blow up the discord server and make lots of noise and my god is it exhausting.

I just want people to have fun, honestly that’s the whole point. If you are killing every low level player you see every day you are online, that is one person having fun (you) and 50 people getting fed up with the game. It’s a simple equation, are you really that shocked when you get a ban. Really?

Pretty negative post so apologies for that, next post will be more positive and will be accompanied an update release 🙂 We are doing some private testing this weekend, I think everyone is going to love what is coming.

Don’t be assholes,
Liam

Hello everyone,

Before I post the content of the update, please be aware I accidentally released a broken apk onto the PlayStore first (v0.5.24), you will have to update twice in order to connect. Sorry about that, my bad!

This is a bug fix, quality of life and low to mid level content balance update.

  • The following monsters have been weakened:
    • Felwalker
    • All Imps
    • Defiler
    • Harbinger
    • Fire Slime
    • Giant Slug
    • Minotaur
    • Ghost
    • Ice Slime
  • Imp Zone has been further reworked
  • Rune crits correctly display
  • HP bar preference size tweaks
  • Monsters will no longer cast an ability on respawn if they were due to cast it the frame they were killed
  • Direction commands fixed
  • Health bars no longer render backwards over themselves giving the illusion of extra HP when creatures are at less than 1%

Liam

Hi everyone, this release sees the new rewritten text and HP bar systems go into the game. Text and name readability should be massively improved on both PC and Android 🙂

  • Added fullscreen support to the client (F11 to toggle)
  • Added screenshot support to the client (F12 for a screenshot)
  • Starter shield given 10% block
  • Statless items sell for 10 copper
  • Low level monster item drop rates upped
  • High level material drop rates reduced on low level monsters
  • Imps zone reworked and expanded
  • Complete rewrite of on-screen text system
    • Player names are now the colour of their vocation by default
    • Chat messages now wrap
    • Player and monster names are a constant offset over their heads
    • Damage text is a fixed offset
  • Complete rewrite of how HP bars are rendered
    • They are now rendered against the native resolution
    • Always a fixed offset over creatures heads
    • Should be way sharper
  • Preferences screen rewritten with new options
  • Fix for randomly facing a different direction
  • Fix for several level gates being incorrectly set
  • Fix for edge case resulting in connection hang on login

I have spent some time on the preferences screen while I was reworking a bunch of stuff in there anyway. It feels a bit friendlier now, and most of you will be going there as a result of the text and HP bar changes to play around anyway so it seemed like a good time.

See you in game!
Liam

Hello everyone,

I have been working quite hard and actually struggling quite a lot with what should be a simple task – making names, health bars, and chat draw nicely off-set from sprites and consistently scaled in the game world. While it seems this should be easy, there are a number of things that have made this really hard for me to get my head around:

  • World scale is totally dynamic, so absolute positioning is hard
  • A pixel in the game world is not a pixel on the screen, text needs to be independent of both world and screen ._.
  • Everyone has different resolutions
  • Everyone has different DPI screens
  • The game supports UI scaling
  • The game supports text size preferences

With all of this in mind I have avoided trying to sort out on-screen text and health bars for some time now because it just felt like this impossible nightmare. To get pixel perfect scaling of text independent of all of these factors, and then to position it absolutely correctly just kinda blew my mind a bit to be honest.

In the current live client version you are all playing, the code that renders text and healthbars in the world is very hacky, and depending on your settings and device you will likely find it is not consistently positioned relative to sprites, often overlapping or getting in the way – and in many cases (especially on the PC) health bars are very poorly scaled weird broken blobs.

Well, that all changes with the next patch as I have rewritten how this works from the ground up – as you can see from the screenshot above, text and HP bars are now scaled pixel perfect, and positioned consistently regardless of your resolution, screen DPI, UI scaling, or text size preferences.

In addition, the client now neatly supports multi-line messages on-screen so you don’t have to open the chat to read things people are saying around you. I still have work to do to get damage numbers working correctly, but once that is done I will push out a test client on discord. I’m quite proud of this work so I wanted to share it 🙂

Cheers,
Liam

Hello everyone!

Firstly, let’s talk about the good news. Mirage is bringing in just enough money to cover my bills, so, although it is still early days and I’ll be living paycheck to paycheck I figured it is time to put my money where my mouth is and I have quit my full time job, making this my full time job instead. I have 3 months of notice to work, so things will be relatively quiet during this time as I am working full hours until my last day to try and get every penny in the bank I can before I have no fixed income anymore. Once these 3 months are up however, I am throwing everything I have at this – hopefully the number of recent updates when I was working part-time have shown how things can move fast when I have the time to code.

Having time to code is great, but if you don’t know what you are coding that is a problem. Me and Mombi have each made a list of the top 10 things we think need to be added to the game before it can be declared “version 1”. Our lists turned out quite similar which is great, and it is from these lists I will be creating a plan for the first 3 months of me being full time working on Mirage. When I have this plan in place I will post it on the website so you guys can track what is happening next and what to expect.

So that’s all great exciting fun news, now for some bad news – the coronavirus. I haven’t caught it yet, however there is a bunch of stuff happening that is going to impact Mirage until this all blows over.

  • Google has a big warning in the developer console saying that app updates are delayed, and we should expect their review process to take over 7 days at the moment. This means I can’t push any updates to Mirage out, as if I break something client side the game will be unplayable for over a week while the fix rolls out.
  • Lots and lots of places have closed, this means lots and lots of people are not going to work, which means many people are financially insecure right now, which means people aren’t spending money in-game on scrolls. I was really hoping to build up a litle bit of money in the company before I went full time but… as luck would have it, I have picked the worst possible time to quit my job! This doesn’t change my decision, it just adds a bit more risk and in the interest of full disclosure I felt I should share it.
  • All of the climbing centres in the UK have closed, this doesn’t affect Mirage directly but it makes me a sad panda :<

I have unfortunately not had time to check the support email for like 10 days, I will be going through this tomorrow night so sincere apologies if you are awaiting a response from me there.

I have been absent from the game for the last few weeks but I have not been absent from the project so to speak. I have been busy getting things square with my accountant, sorting out the business account, and migrating the game stuff that currently costs me money from my personal account over to the business account (which for some reason is actually a mission when it comes to the server hosting, I have had to print forms and write letters and allsorts… what a faff).

As I am going to be using my house as an office for the forseeable future I have been spending evenings and weekends doing all the real-life boring stuff that I’ve been putting off for ages – insulating the loft and putting raised boards down so I don’t melt in the summer and freeze in the winter when I’m sat in the upstairs study for 15 hours a day. A job that takes absolutely ages and is horrible to do, but someone’s gotta do it.

What else has happened in my life… oh yes, we were going to get a new kitchen because ours looks like it was built in 1950 but then the exhaust from my car was stolen while I was at work and the cost to fix it is more than the car so I no longer have a car, and I quit my job so there’s that whole financial side of things… which is, y’know, life, but we knocked an interior wall down in preparation and now that room is a building site forever so that’s fun.

Also, we knocked the wall down and threw all the rubble onto our driveway thinking we’d use my car to take it to the tip but then the theft happened so my car is dead and we just sort of ended up with a big pile of soggy rubble on the driveway for a few weeks that blew all over the street and made us look like the trampy neighbours nobody wants… after much effort we managed to shift the rubble in Char’s much smaller car and that was pretty much a weekend’s worth of effort, but way more stress than it should have been.

You know, someone stealing that exhaust has probably taken years off of my life with the stress it’s caused. Those bastards.

Anyway, I think I’m over sharing now, but I wanted to update you lot on what’s going on in life and well, this is the stuff that’s been going on in my life! Exciting news for the games future, we’ll get to version 1 if it kills you guys let alone me! Let’s hope the world doesn’t fall to pieces before I get the chance to live the dream.

See you in game soon,
Foxish

Hey everyone,

Just a small tweaky patch to address some little things.

  • Android default resolution reduced
  • Preferences reset (sorry) to enforce the default res for people who maybe don’t think to check in the settings but feel it is now too small
  • Stats screen now correctly displays realtime HP
  • Signs tweaked, added, moved and removed where appropriate
  • The Limp Hobnob has been discovered in hell
  • Ghosts and Ice Slimes have had their EXP balanced
  • Drop rate of all materials doubled
  • Fix for a dumb NPC AI exploit in the Giant Wasp zone
  • A few little map tweaks here and there

I believe I have got to the bottom of an issue that would result in players successfully completing a purchase of scrolls but not receiving the item, even when pressing the “renew purchases” button. This particular fix will be rolled out Friday night, I am in truth far too tired to do it tonight 🙁

All the best everyone,
Liam