Spilling our trade secrets! Narrow one updates ๐น
Here we go, another itch blog post.
It's been a while, almost 100 days ago since our last blog post. So we definitely have some things to talk about, we'll even be spilling our trade secrets about server management. So let's go!
๐ First of all, Narrow.one has been out for over 2 years now. 2 years! When we started the small 1 map, 1 type of weather, 1 bow, no animations, no customisation, demo. We werenโt expecting the game to be such a success.
It's been 2 awesome years, thanks for playing everyone!
Desert update
Do you remember that special time in March, when there was a fierce battle between a new snow or desert map? Well, desert won and so we started working on that.
A few months passed, but we finally finished the map. We're very happy with how the map turned out. We were trying to get a nice balance of an open desert feeling, and yet have some places to hide with a chance of close-quarters battles. The flag location is the highest point of the map and visible from spawn, this should help with orientation. We wanted to have some tunnels inside of the flag rock, so you can perform some sneaky stealing. We werenโt completely happy with the look of the rocks in tombs anymore. We wanted the rocks to look more stylized. The shape of the rocks should be easier to read, and have less visual noise like the rocks in tombs.
The path through the middle is faster but more dangerous. You'll have the highest chance of running into the enemy here.
The map also required some custom code. As a wise old blind man once said, cacti can be pricks. And so we made some custom colliders for the cacti. They will damage the player when touched.
We might go back in older maps and add them to pointy parts someday.
The edge of the map also required some new code. We didn't want to have a sharp edge because it would ruin the feeling of an endless desert. So surrounding the level with hard colliders and a visual obstacles wasn't an option this time. So we added a sandstorm effect. Now when you walk too far away from the center of the map, youโll reach the limit and it will color the edges of your screen. You can quickly run back, to cancel out the effect. Otherwise, you'll die. R.I.P.
New gear
What is an update without new gear, i don't know. Because we have new gear for you. This is also a big reason why the update took so long, i believe we added over 40 items in total. 4 complete clothing sets, a bunch of separate headwear, 2 new arrows, 2 bow skins for every bow, and 5 new melee weapons. After every gear update it's nice to see the variety of avatars grow. More possibilities, more unique looks.
Okay, now let's get serious...
Super serious...
Narrow One server management, spilling our trade secrets
A lot is happening behind the scenes when you join a new game. And since I recently made some improvements to how the matchmaking system finds players similar to you, I figured I'd take the opportunity to talk a bit about how all of this works.
Servers!
First of all, low and behold! Our server management panel ๐
On this page we get a quick overview of all the servers that are currently active, starting up, or shutting down. Narrow One runs on a handful of DigitalOcean servers. We picked their cheapest server type, which is only $4/month per server, but this also means that they aren't very powerful. So they won't be able host more than about 200 players at once.
For this reason, we have a small application that monitors the amount of players in a server, and then boots up a new server whenever one reaches more than 200 players.
Similarly, when a server drops below a 100 players, it will be shut down. This way there will always be enough servers for the amount of players, but we won't have to pay for unnecessary servers with no players in them.
Each grey block represents a single server, so there are currently 9 servers online, which seems about right for the 1023 players that are currently online.
If we expand one of the server blocks, we get an overview of all the games currently being hosted on that server.
Every game shows a few stats like the amount of players, which map is active, the current score, and how long the game has been running.
The small bar graph shows the Elo rating of each player. The Elo system is commonly used in chess, but also in a lot of other games to rank players based on their skill level. It plays a major part in making sure you end up in games with similarly skilled players. So let's talk a bit about that!
The Elo rating system
The Elo rating system uses some fairly straightforward math to figure out how skilled a player is. This Wikipedia article explains in great detail how exactly it works, but the gist of it is that at the end of each game, the winning team gains a few points, and the losing team loses a few points.
New players always start with an Elo rating of 0, so what we end up with is a nice distribution of Elo ratings, where a negative rating means you have a lower skill than the average player, and a positive rating means you have more skill than the average player.
What you see above is a graph of players that joined in the last few minutes and their Elo rating, many players have a rating of 0, that's because a large portion of joining players is playing the game for the first time.
Now that we have an estimate of how skilled a player is, we can make sure similarly skilled players end up in the same games, so let's do it!
Matchmaking
First things first, the skill level of a player is not the only thing that needs to control in which game you end up, there are a few more factors:
- Which map the player has currently downloaded, or if they have played a map recently. Ideally players don't end up in the same map twice in a row.
- The current location of the player, connecting to a server on the other side of the globe means a higher ping, so if there's a location close to the player it should take priority.
- How many players are already in a game, if the game is full, no one should join it at all, and if a game is empty, it should take priority over one that is almost full.
- How many flags have already been captured, if the game is close to finishing, no new players should be added since they might end up seeing the victory/defeat screen right after joining.
These are a lot of factors that need to be taken into account, and it's not always possible to meet all of these. But we can make a best-effort attempt!
To do this, every game is given a score every time you join. Servers that are close to you receive 20 points, games with a similar Elo rating receive 50, and so on. Each requirement assigns a bunch of points to a game depending on how good of a match that game is. And what you end up with is one single game with the highest score, that is the game that will be joined.
Pre-join groups
This system works pretty well for your first game, and serves to fill up empty spaces from players that left their team behind. But ideally, we don't want to be joining games that are already running all the time. It would be better if we could group a bunch of players together, and then make them join all at the same time.
Fortunately, not all players leave after a single game, so right after a game ends and you see the victory/defeat screen, the matchmaking system starts to collect groups of players so that similar players all end up in the same game. These pre-join groups look something like this:
Every row represents a single player or a squad. The background color of rows indicates which group they belong to. As you can see, each group usually contains a list of players of about the same region and Elo rating.
But how exactly does it find out which players belong to the same group? We can use the scoring system from before, but computers are not fast enough to compare every player in the system with every other player and then instantly come up with an answer for the best groups of players. So we'll have to come up with something better.
The trading game
Instead the matchmaking system just randomly spreads the joining players around a bunch of groups. And then every few times a second it tries to improve the groups by trading players between them. This works a little something like this.
- A pre-join group tries to pick the worst-fitting player from its own list of players.
- It then goes to every other group, and proposes a trade, basically saying: "Hey, I got this terrible player, but maybe you can find a use for it. It's all yours if you give me something in return."
- The other group then goes searching for a player that it can give in return. It asks itself "Ok, *if* I were to get this player, then what player would be the least fitting that I can give away".
- Once all counter offers have been collected from the other groups, the first group picks the best offer and makes the trade.
This process then repeats for all the other groups as well. And we just keep on running this about twice a second or so. And eventually, all players end up in a group with fitting players.
Leaving mid game
This whole pre-join group trading thingey is still pretty useless when the majority of players leave mid-game. Which unfortunately, about 70% of all players seem to be doing.
To solve this we plan on discouraging this behaviour a bit more. For instance, we'd like players to automatically join the most recent game when reloading the page. Or we could also award a participation bonus for players that play games until the end.
Finally, we could even punish players for leaving early by taking away coins, but there are legitimate reasons for leaving games so we'd prefer to try out other things first.
Do you like this kind of writing? Then we have the perfect page for you,
Patreon
We recently started a Patreon, this is a place where we share sneak peeks, behind-the-scenes, funny content. and detailed explanations of technical parts. We would really really really love it, if you would become a Patreon of us. There are more benefits for Patreons, like a direct chat channel with us in our Discord, and special features in some of our games. As i'm writing this, we are working on something something. If you are curious what it is, please consider joining: Pelican Party Patreon
Stats 2.0
In our discord (which you can join here if you fancy: Pelican Party Discord ) at the Most commonly requested features section, arrow skins were ranked one of the highest. It sounded like an interesting addition to the game to us.
Besides that it was frequently mentioned that players feel like bow skins were a waste of coins, because they were purely aesthetic. And they would prefer them to have stats, (just like the armors under the gear section of the shop). So with this in mind, it seemed to be the best timing to combine this with the addition of arrows with stats, because the stats all influence each other.
After a long brainstorm, and shoving stats around (see sketch below, and yes you are dealing with professionals), we ended up with this:
Gear: Damage protection, movement speed, and health regen time
Bow skins: zoom, arrow damage, loading speed
Arrows: arrow damage, stun, and fly speed
Melee: attack speed, melee reach, melee damage
New stats explanation
Health regen speed | This stat will lower the amount of time you have to wait before health starts regenerating after taking damage. It will also increase the speed at which it regenerates. | |
Arrow travel speed | This stat will influence the speed of your arrow. The arrow will travel faster but it won't change the arc of its flight. | |
Arrow loading speed | This stat will influence the rate of fire of your bow. | |
Arrow stun enemy | Enemy hit with an arrow with this stat will slow down for a short period. | |
Melee strength | This stat increases the amount of damage a melee hit does. | |
Melee reach | This stat increases the reach of the melee weapon. | |
Melee speed | This stat lowers the time between melee swings. |
Bloodlust stat
We added a new stat called Bloodlust. Bloodlust will give you a health bonus after every kill. The more items you wear that have the bloodlust stat, the large the amount of added health. Only the fearless items have bloodlust. We added bloodlust because it was always confusing if fearless items were actually better or not. And now they clearly have an advantage over the other gear. But we preferred to give fearless items a separate stat because it's easier for balancing the game. We don't want it to be too strong, just a small incentive for players to save up for the fearless pieces or a reward for the players that already bought it.
Arrow skins
And now....it is possible to customize your arrow. We have a wide selection of 24 arrows for you to choose from at this moment. Every bow in your selection can have a different arrow equipped, so find one that matches the bow. Personally I like using +5 stun with the sniper bow. After hitting the enemy with the first arrow they completely lose momentum, I can't hide easily to recover health. Now you can easily finish them off with a second shot.
Who wants to play a round of random arrow roulette? Take a screenshot, and what ever arrow you land on you have to use to kill Jesper in a round of narrow one. Good luck ๐น
It's astonishing how many things can be fantasy arrows once you start working on arrow skins. From a wooden stick, a piece of a fence, or a fork attached to a stick. Guess what arrow was inspired by airbnb curtain rod decoration.
Because we updated the arrow skin system, it's now easier for us to add more seasonal types of arrows, like what we've been doing around Christmas with the candy canes. Think about the possibilities, shooting carrot arrows on easter, bone arrows on Halloween, and heart shape arrows on valentines Day.
Let us know if you want to see a special type of arrow or have any great ideas for seasonal arrows.
Shop feedback improvements
The stats of items are no longer a vague guess. You can now clearly see what stat an item will give you, and if it suits your playing style. Simply by hovering over an item with your cursor. Also, we are pretty proud of the popping out and fading effect of the items in the shop. ๐
In the old version of the shop, the player didn't really get any feedback about the overall stats. You can now hover your cursor over your character and it shows your total list of stats. At this time it will probably not fit on your screen, because it's quite a big shopping list. But we have plans to improve this, future plans™.
Crosshair
You can now personalise your crosshair. Go to settings > crosshair and give it a nice color!
It's possible to change things like, shape, color, outline color, and accuracy offset. It's nice to see the different crosshairs from players whenever they share gameplay or screenshots.
Seasonal content
It's been a while, but first, of April, we did another April Fools joke. This year we included a big overpowered arrow-shooting machine gun. Turning the game into a big mess for a day. And for easter, we include an easter egg hunt summoning a giant bunny telling you not to touch its eggs. We hope you enjoyed our little seasonal jokes, it sometimes feels like a waste of time because it disappears so quickly, just after a few days. But it might give the game a fresh feeling. Please let us know if you enjoy this kind of content.
New game
The Pelican team was out of the narrow one realm for a little more than a month. We developed a new game, you might have tried it, if not please do. Play our new game here Raccoon Retail. We got a few concerned messages, worrying if this would be the end of narrow one updates. But no don't worry's. We will not abandon this game, it's too much fun to work on. More updates coming soon.
Map selection
You can now select a map in private squad, yes it's a big thing.
I guess that's it for now!
Thanks for reading! Pelican Party OUT!
p.s.
I want to leave you with our favourite typo, Damamge Protection, it's great.
Narrow One
๐น Capture The Flag Medieval Style ๐น
Status | Released |
Publisher | |
Author | Pelican Party |
Genre | Shooter, Action |
Tags | 3D, Archery, Fantasy, First-Person, Medieval, Multiplayer, Team-Based, Versus |
Languages | English |
Accessibility | High-contrast, Textless |
More posts
- Melee, map and more! Narrow one update ๐นFeb 22, 2023
- Greek Temple - New stage, gear and more ๐นDec 03, 2022
- Halloween Graveyard Update ๐ชฆOct 06, 2022
- BIG BIG UPDATE - China update is here! ๐Sep 27, 2022
- ๐น New Character, Bow skins and more! ๐นJul 07, 2022
- ๐น Aztec Update ๐น New map, gear and moreMay 19, 2022
- ๐น NEW MAP, GEAR AND MORE! ๐นApr 07, 2022
- MAJOR UPDATE - Ancient Egypt, Squads, Avatar, Face Customisation and moreMar 04, 2022
- Viking update - New stage, gear and moreJan 20, 2022
Comments
Log in with itch.io to leave a comment.
Uh I need the fruit of deasert gatehouse and???map
how do we change the aim thing on narrow one
Go to settings and scroll I'll find it
New blog update soon?
We need a โsave presetโ button so we donโ have to spend the first 5 minutes getting geared up.
Iโd be really nice to be able to see your ELO.
Hi Pelican Party,
Why am i getting banned 24/7 ?
if u want to check out my stuff or anything related to find out, just reply pls pls
is the devlog still updating
The only reasons i leave the game are:
And don't even bother with spawnkillers and hackers by this point
itโs possible to hack this game?
donโt do it๐
Is it possible though? I think I might have done it before, when you jump into the water between a couple rocks in a a specific spot in halls, you donโt die but youโre stuck IN the water and itโs super glitchy. Then it kicks you out.
it is but donโt do it
i promise i wonโt
it is but pls dont do it
"bow spammers" ๐๐
uhhhhhh pelican u have bilibili account right? and is it u operate account by urselves or u got someone help u(the Chinese in ur vid like title is....very ๆฅๅฐๆฐ...)
I donโt think they do…
But a year later they still hadn't done so
when will u release the new map
Can there be a leaderboard for kill/death, kills, wins, and games
i love the game itself btw
hello tanks for reading this comment
Hi, is this game going to stay in the style of just playing classic capturing or our creator actually thinking of adding other changes to the game. I would think that a great example would be death match. I think we can change the style of the game but keep the difficulty to get fearless. Therefore the game can eb challenging and fun to play.
this comment is posted because there are currently too many people quitting this game.
ow ๐ข
da mom gay protection
thats how i read it
volcano map
That sounds like a great idea
M8M6 IS BACKKKKK
YesssThanks Pelican Party, for this amazing game! I have played this since the beginning and it makes me so happy to see how far it came. I am so happy there will be more updates, too! Thanks again!
Awsome, Awsome, Awsome!
Do more next time! Great improvement!We all love ur game,donโt listen to all those negative comments!:3 Well,Iโve been playing since the game released a little while after that and I can see that it has a GREAT BIG improvement!Thanks for creating this game,if not,Iโll be bored to death !๐
It's really good! All those maps, weapons...
I especially liked the Temple map and the Continuing Crossbow
What about having a mythical map that features mythical realms? I'd suggest a Realm of the Dead with castles, boats, bridges, and a desert-like sea below (which kills you when you enter), particularly for the next Halloween.
And, just as someone commented before, the April Fool's event should last for 48 hours. It was really fun, that big machine gun!