It’s a long time ago that we have talked about the previously announced 1.1 update in a blog entry. It’s a long time ago that you have received information on its development status, on when the update is going to come out and on why we communicate and work the way we currently do.
Let’s address the biggest question first:
Why is this all taking so long?
Well. As many of you know, Just Cause 3 Multiplayer is a hobby project which, despite nanos being a company, is done without payment in our free time. Everyone of us, whether in management or development, is looking to invest as much time as possible into our projects. Sadly there are also times where neither of us is able to invest as much time as they want to, for example due to job reasons. This was exactly the case: Alex, our lead developer, was, quickly after the announcement of 1.1, unexpectedly and indefinitely more involved in his job - this meant it was not possible to finish 1.1 on time. Since we did not know when he had the capacity to fully come back we decided on putting the release date on “soon”. Nowadays we know that this was a clear mistake, which even turned into a kind of running gag for the community.
Many of you have noticed that our team is not that small and that we should have enough resources for a speedy development of Just Cause 3 Multiplayer. That may be the case on first sight, but in reality it’s a different story. There are only 3 developers working on JC3:MP, namely Alex, Jan and Aaron. The latter two had to pause due to job reasons shortly after the 1.0 release on Steam, which meant that Alex was the only one left. This would not have been a problem if he hadn’t run into the same issue shortly after. Not a good situation, for both us and you-
Many of you also raised the question why we are not shifting away resources from other projects, such as the Framework or nanos world, to Just Cause 3 Multiplayer. There are two simple reasons:
Every project at nanos, whether its publicly announced or not, are internally fully independent - something that we want to keep that way. This means: If there are issues in one project it should not and will not affect any other project. This is important for us since we want to guarantee a constant workflow in as many projects at possible. This is also so each team can specialize on each project, ensuring highest quality standards.
Development would be halted for a period of time anyways, even if she shifted resources. Developers working on other projects neither know the code and resources of Just Cause 3, nor the codebase of our multiplayer modification. Learning to work with it would take a serious amount of time which can be used more effectively elsewhere - since the development-take-over would anyhow be just temporary till Alex fully comes back.
Another reason on why it takes so long is the size of the update: Despite the many new features we have announced the whole client has been rewritten, including a brand new main menu. This leads to the next question...
Why are you rewriting the client anyways?
Legitimate question, which we can answer by looking at our core values. If we find a way on how to make our code more clear, performant and stable we use that as a chance to improve on our product. For some this might be vanity, but we think it is necessary for maintaining a quality standard you deserve. For the end-user it is pretty clear that a rewrite is the right choice: Better performance, more stability and, in the future, faster updates. We managed to prove that already with the server-code and we are confident to do so with the client as well.
Another important fact is that our code is based on an idea starting in the years 2013 and 2014. The base was created for our former project, GTA:MP. In the beginning of JC3:MP we ported it over, so it could be used with Just Cause 3. Nevertheless, the code had a lot of features and code prepared, which could not be used or was simply deemed irrelevant over the following months of development. This meant that in the end our code was feature rich, but messy: Something we fixed in the server and are currently doing in the client.
At this point we want to show you how our main menu will look like in the future. We could already gather a lot of feedback and improved on our previous preview:
Okay, nice. But what are the other features the update will include?
Some of you already know it, but the most requested feature will be finally available - so let’s talk about it again: Tethering!With 1.1 it will be possible to link objects, vehicles or players to each other. You can find some videos on that on our social media channels and on our previous blogs.
Other features include.
Option to use different skins (bye bye, army of Ricos
Placing objects in the world
Even more nice Scripting API functions enabling server to do more nice things
WebGL support for WebUI
Controller Support for our Main UI
Updated node and cef to their respective latest versions
Probably some more I can't think of right now (This was alex)
Nice! So how far you with the update and when can we finally enjoy it?
A question we are receiving multiple times every day and which we could never clearly answer. So let’s finally clear it up: SOON
Jokes aside, let’s talk facts:
The new base is looking good already. There is a new render backend for CEF which means improved performance. Thanks to the great CEF community we were able to include a patch which makes it possible to bypass the CPU when rendering resulting in the possibility of using WebGL and further reducing input latency.
Looking at the game itself we have finished our new API which we use to communicate internally with the JC3 base game. At the moment all 1.0 features are working, including some new ones. The new API was realised with less layers between our code and JC3 which results in less points of failure and improved performance. We also no longer need to write a wrapper for each feature, which mostly took us time to work on the feature itself.
Tethering is looking really good so far despite some issues with physics and vehicles. We hope to resolve that really quickly.
We have already implemented some new API functions but we have not reached the limit: More are soon to come. The scripting API is most of the time the easiest part to expand because we only need some lines of code to link internal functions with the API. That means it’s usually the last thing we do.
At the moment we are really working on ironing out bugs before we give a first version out to our broader testing team. There are still some features for 1.1 that need some more time or do not function correctly - e.g. problems with skins (wingsuit causing crashes) and with objects (still moveable after spawning, therefor desyncing). There is still some work let to do, bugs to iron out and crashes to fix.
Overall we are very near, after extensive internal testing, on releasing a beta. At the moment we are aiming for a beta release for interested users somewhere in August - provided that there not any major issues occuring. *gg*
The last thing to say: We are very sorry on how everything went till now. Our intention was certainly not to put you off with “soon” for a very long time. Our intention was to inform you on progress as soon as we knew development was going forward and to then release regular updates as we used to in the past. I really hope that I could give you a big and deep insight into the current situation. I hope we could make clear why the patch has been delayed and that work is resuming at a normal pace again. If you have any questions about 1.1 please post them directly into this thread - I am glad to give you all the answers you may need. I still have to announce that there will be no further blog updates on 1.1 till the public preview version since we do not want to interrupt the flow of information in case of another unexpected job related development halt.
your Community Manager aka. master of the pugs
What’s poppin’, your favorite administrative issues are back yet again with another nanos world blog!
Contrary to the announcement in our last blog, this spontaneous blog is about the current status of our prototype “Armstrong”, because we made a huge progress in our development. We also would like to introduce another team member: Quentin @myami Freire.
Armstrong - current progress
We are still heavily working on our landscape. At the moment we are focused on finding the best technique and textures for our landscape.
We worked on procedural landscape materials as well as on composing our materials. As you might know Unreal Engine is quite complex when it comes to landscape materials. We want to find a way which enables us to blend materials in the best looking way. As a first step we have already worked on our World Creator model to get a first impression and we have already composed some textures and materials:
Furthermore, we have already structured the map into some areas.
The current naming follows a simple principle:
The first letter mostly represents the description of the area (f.e. c = city, e = east, w = west, m = mountain). The name itself is only the naming of the NATO-alphabet corresponding to the first letter.
If you have any ideas (f.e. names), don’t hesitate to write us! We are open for every suggestion!
Quentin and nanos world’s Gameplay
Now it is time to introduce you to another nanos world project member:
Let us introduce you to Quentin aka. Myami! Quentin is 21 years old and from France. After passing his degree in cartography, he will start studying video game programming in Canada in the next fall - so if you are from Canada and have some tips, don’t hesitate to write him!
Since our beta stage in JC3MP Quentin is an active participant of our beta and testing group. He developed great game modes for JC3MP and some months ago he joined our journey of nanos world.
Quentin is primarily responsible for gameplay development. At the moment, we’re focusing on the actors gameplay or - in other words - players.
We are going to create a detailed moving system. You will be able to climb in different ways, to jump over objects, to move in various ways and to interact with other players. The system will acknowledge ingame objects even if you created them yourself and shall be intuitively to use.
Of course, you will be able to check and control these actions with our scripting system.
You’ve already been able to see some pictures on our social media channels:
Sadly, sometimes something goes wrong:
But we were able to fix it:
As soon as we finish our first movement system, Justus - our lead dev for nanos world - will synchronize the actors and integrate more parts of the nanos::framework.
Finally, our next blog will be not only about the city, but also about him: Justus.
Stay tuned and don’t forget to visit our social media channels for the latest news!
Waddup, your administrative issues are back again with yet another nanos world related blog entry. WHOO!
This blog is primarily about the progress we made on our default map “Armstrong”. We experimented with Armstrong and world creation. Finally, we became world creators. Secondly, we want to talk about our latest team member: Let’s begin!
A new Kiwi for nanos
May we introduce Kieran, aka. Protato aka. EonZenex ( @Legion_Zenex). Kieran is from New Zealand; Thus, he is our new nanos Kiwi, beside our moderator Jeff, better known as “Jeef”. He joined our team two weeks ago. He helped us a lot creating Armstrong with his magical terraforming skills. We welcome him to our team and are thankful for the progress, which wouldn’t be made without him.
Progress on Armstrong - That’s one small step for mankind, one giant leap for us
During the previous week we experimented a lot with Unreal Engine and the world creation, and we are happy to announce that we have finally created our first map. Eventually Christoph and Justus, but at first Eddy, worked a lot on the creation of our landscape. However, it was none other than our spot light team member Kieran, who created the world you can see in these pictures:
Terraforming is fun, but also challenging.
Just to remind you and anyone who doesn’t follow us on twitter yet: We started from scratch, with the picture our producer Malte drew during our nanos world team meeting on an iPad:
With this picture we started with the creation of height maps. For those who don’t know what height maps are: You can think of them as terraforming blue prints.
It was especially Eddy taking the first steps. Our first terraforming blue prints were used to explore the power of Unreal Engine and to set up the first work flow (for those who understand terraforming: we set up all necessary options in Unreal Engine, imported the height maps, worked on the landscape materials, and set everything up for sub-levels). Finally, we created all necessary git repositories for our team.
Even though we were happy with the first results, we knew they were not good enough. To put it in other words: we needed more terraforming power.
Therefore, we decided to use a piece of software called ‘world creator’, which is our terraforming software (https://www.world-creator.com).
Then it was time for our spot light team member Kieran: he understands how to form worlds and how to use ‘world creator’. Inspired by real world locations from Hawaii and China it was he who created our final Armstrong map:
The coming week, we will create some more details and finally we aim to import the final version in Unreal Engine.
We also work on the material for our landscape, especially Eddy and Kieran work together on this task. Therefore, we are going to collect real world pictures as a basis for our decision, which textures we want to use for it.
Nevertheless, we already tested some standard textures in world creator to get some first impressions how the map could look like. Of course, we don’t want to exclude you from the results of this first test:
The next blog #5 is going to be about the cities, which will be located at the coast region, the small easter egg on the small island and about the cliff and mountain region.
So, that’s it for now. Stay tuned and don’t miss the latest news, which you will find first of all on our social media channels!
Heyho from your administrative issues and welcome back to another #helloworld blog!
Today, we will again explain the idea behind nanos world, we will tell you about the current state of our prototype and introduce you to a new team member you might not know yet!
How does nanos world differ from other sandbox games?
After our announcement we received several questions regarding our idea: What is the difference between existing multiplayer modifications and nanos world? How does nanos world differ from other sandbox games?
These are justified questions.
Let's start with the answer to both of those questions:
Existing multiplayer modifications and also other sandbox games are predominantly built upon an already existing game or an engine which was not meant to be a sandbox game. In nanos world we don’t build a modification upon a game, we build a game upon our multiplayer technology. It is much easier to script a game like a web page within a proven framework than building upon a new and adopted system.
In our development we don’t have to reverse engineer any game functions, which were primarily developed with focus on single player, and we are not restricted by an engine or game we don’t know in detail. If we or also you want to extend the engine or enable functions, which are included in the engine, we can easily access these functions and make them useful in nanos world for you! If you are bound to a game, enabling and establishing new functions is often a complex issue.
This is why we provide an easy way to realize your own game ideas. Scripting in Lua is easy to learn, there are many available tutorials and it is a proven scripting language for our purpose. Considering the fact that a lot of other multiplayer projects and games use Lua, there are many creative and talented scripters out there you can team up with. We aim to have a community where everyone feels at home and where scripters and players, independent of their knowledge, are welcome, can discuss with other people and improve their skills.
We also received many questions about the current state of our prototype. As you might know our prototype is built upon nanos framework which contains all of our multiplayer power. Currently, we are linking the framework to Unreal Engine 4. The largest segment of the work on the package system is almost complete and we are now focusing on getting our network library ready for synchronizing basic movement of characters.
Robert - the nanos newbie
Finally, we want to introduce you to one of our new team members working on nanos world and related (still not announced) projects: Robert.
Robert “MegaThorx” Bitschnau is 21 years old and works as an IT-technician most of his time. He does a lot of IT related stuff in his freetime aswell; next to his position at nanos and nanos world, he’s developing the german “eXo roleplay” gamemode for the GTA San Andreas modification “MTA”. He’s also currently building his very own 3D printer.
Robert is one of our web developers and is responsible for the nanos world project and all nanos world related project and managing pages.
Heyho, your administrative issues are yet back again with another nanos world blog entry!
nanos world - work weekend
As many of you have already noticed via our social media channels, a big part of our team has met between the 2nd and 4th of March at the home of Dennis. There we worked on nanos World in a personal atmosphere and discussed the most important points of the project.
Besides having fun, which is very important for such a meeting, we had a very productive workflow. This is why we will do another one in the future. For us it is very important that our project is transparent to you and that the community is involved in most of the steps. This is why we want to present you this weekends output.
nanos world default map “Armstrong”
On one hand, nanos World is characterized by the nearly endless possibility to change the game and to have a flexible base for your own experiences. On the other hand nanos World should be accessible not only to experienced coders, but also to amateurs trying to create their first experience. This is why our default map “Armstrong” exists.
This is why it is very important to us to make the default map editable and expandable. It should be possible to use it for many different types of gamemodes.
First we discussed which gamemodes can be expected to be played by the biggest ammount of people. We plan on shipping free community-gamemodes in the beginning, which means you can build upon those right from the start. This includes gamemodes like survival, roleplay, deathmatch, battle royal, races and stunting.
Following these first design decisions we talked about the vegetation of Armstong. Here we wanted to follow a “carribean” design, which we have already planned previously. We also looked to Sri Lanka nad Hawaii for inspiration: With photos and Google World we made our mind on what we really wanted to achieve when it comes to the overall design of the island.
Afterwards we used real data of islands, which exist on our planet, to create our very first draft of our default Map. The result was this hand-drawn mockup:
green: Natural (forest and floor space)
brown: Hills / Cliffs / Mountain Regions
yellow: Shores and Sand
At the moment we are working on a detailed mock up of the map, which will be used as base for our mappers.
The map is planned to be 4km x 8km (13.123,4 feet x 26.264,7 feet) and, as said before, shall be expandable by the community.
At the moment we are planning on a main island with small villages and a capital located in a bay. The capital should contain a small airport and harbour. Each villages and cities will be connected via streets, which can vary in size. When planning those we are focusing on also making them usable for races.
The forest (green on the map) links two mountainous areas on the map and therefore is used as a valley. Besides modern elements we want to also include historic sites such as ruins, which would be the perfect base for survival or DayZ alike projects.
The smaller northern islands are planned to be smaller and should only include small villages, hills and nature. The city in the more southern island will include a small easteregg.
Once we are able to show you some first ingame impressions of our planned landscape we will publish them directly via Twitter, Instagram and our blog.
The capital shall be many used for roleplaying (e.g. RP, Cops & Robbers, Reallife) and will therefor be designed with that in mind. We will use our years of experience in various multiplayer projects to design it so it can be perfectly used that way.
For us it is important to include service buildings such as hospitals, fire stations, police stations and a town hall. We also plan on including other important sites such as theatres, cinemas or a stadium.
Besides that important infrastructure and a road layout, which can also be used for inner-city racing, we are planning on creating different districts with their own charme, such as an older-styled inner city, a banking district, a ghetto, a noble district, an art district and various types of industries.
Of Course we are also transparent about the cities development and will give you first peeks on it during its creation via Facebook, Instagram, Twitter & Co.
Other examples for gamemode inspireddesign
When looking at the city we have not only focues on rolepla, race and survival. When it comes to deathmatch we are working on making the terrain useable for proper playing rounds. Here we will mainly focus on details such as smaller alleys and backyards, which lead to complicated and interlaced areas. This should make a base for counter-strike based game modes or stuff like battle royale. Wide open areas such as plazas could be used as places for loot.
As said before: Technically it will be possible to place additional objects on the default map to give it your very own touch. This makes it possible for each server owner and community-developer to create individual experiences.
At the moment we are working on the landscape design itself. Once that is done and we have technically implemented it we will start working on the layout of flora, fauna and streets. Afterwards we will realise the needed building models via a boxing-out modell and implement them into the environment.
More about the meeting
Besides working hard on nanos World we also did a lot of teambuilding and also had quite a fun time. We went eating, partying and watched movies. Pictures say more than word’s so here we go:
We hope that we could give you a small insight into our project and that you enjoyed it. See you next time!
The year 2017 was a very special year for us. This year we have successfully released our first Steam App, namely Just Cause 3 Multiplayer, together with our partners at Square Enix. Since then we have reached over 170.000 downloads and have announced our very first game. Let's recap everything which has happened last year and afterwards let's look into the future: To make it clear, we are definitely not finished with what we're doing.
JC3:MP - Beta Release
After our "administrative issues" of the 20th December 2016 (about which we still can't talk, sorry pals) we were finally able to release our first Just Cause 3 Multiplayer beta on the 6th of January 2017. Despite initial performance issues we were initially able to maintain a high player- and download count, which resulted at the end of our Beta at around 160.000 unique downloads.
Overall we are happy about the success of the Beta: Thanks to the great amount of crash dumps, which we could gather with your help, we were able to polish the modification, improve performance by a lot and make it overall more stable. Also, thanks to the many suggestions we received from you, we were not only able to add a lot of new features but also learned a lot for future projects.
For us as the team behind nanos the 6th January was a really important day. It was one of the biggest milestones in our recent history, which we celebrated after a year of hard work.
nanos team party
After the first public beta and about a year of hard work we decided to celebrate together: More precisely, we did that between the 20th and 22nd January at our lead developers, Alex 'meow' Güttler, home in Norther Germany. This was the very first meeting of our whole team, which meant people from all around Europe (Wales, England, Austria and Germany) came together and met for the first time in reality. This weekend was of course not only used for partying, but also for planning our next steps and improving parts of our code base. It was also used for a bit of live-communication with the community. For me this was one of the highlights of the past year, because I could meet many of my team colleagues in private for the very first time - and of course also for the great memories of our launch party We are planning another meeting this March, hopefully again with all team members (including the many new ones).
Some impressions right from Alex's place:
This year Malte and me went to London for 3 times to visit our friends at Square Enix and the Just Cause team to talk about potential plans, discuss about problems and to socialize together. The visit of the Square Enix office and the meetings held there was really special for us as "beginners" in the gaming-business. We want to thank all of the great people there for their hospitality and certainly hope to see you guys again soon!
Despite product meetings, smaller live streams and gaming sessions, we were also enjoying some visits to restaurants and bars with our friends from Square Enix. We could also use our time in London to meet some of you guys from the community, namely YouTuber Superrebel and the creator of our Trailer, Mp3Charlie. Below you can find some impressions:
JC3:MP - Steam release
After about one and a half years of work something happened on the 20th July 2017: Square Enix made it possible to release our very first app on Steam, which was one of the biggest milestones on our way to make multiplayer development and development of the technologies behind them to our real job. After working on 4 different modifications within 6 years the Steam release of JC3:MP was THE highlight for us all in the year of 2017. This was a big step, which really meant a lot to us. Now, about 5 months later, we can already thank you for about 170.000 downloads over Steam. We were also able to get a lot of feedback from you guys to further improve our modification. Of course, we are not finished with the development of JC3:MP. We are aiming to treat you with great things in the year 2018 - starting with our 1.1 release, which will include the long awaited tethering.
Let's focus on what's coming up next: This November we gave you a sneak peak on our very own game -nanos world- which is a project we will continue to work on in 2018. Besides the nanos world developments blogs, which will start very soon, we will most likely release our very first version of the technology behind our projects: the nanos multiplayer framework. In addition to that we have already planned some community related events and ways on how the community can work together with us on what's coming next. So stay tuned.
To conclude: 2017 was a very great and exciting year for us, despite some ups and downs. We have achieved quite a lot and experienced many things, which is why I want to thank all of you for your support, for your criticism, your honest opinion and all the moments we shared together: You helped us to push Nanos forward, regardless whether you were a fanboy or a harsh critic. You kept us motivated to keep pursuing what we do. To sum it up: A big thank you to all of you. We hope we can share a lot of moments with you together next year.
We wish you and your families a wonderful Christmas, a great start into the new year and overall a lot of luck for 2018. Let's rock the next year, together!
We are really excited to provide you with a platform containing all news and information about our latest multiplayer project. At first, go and check out our first nanosWorld project presentation and learn more about nanosWorld:
During the next weeks, months and years we will post information, not only about the development, but also about our ideas, visions, concepts and team, on this blog.
Community involvement is an important factor that makes our project a unique, social and exciting venture. We will post more about our plans relating community involvement soon.
However, you can already contact us directly via discord (https://discord.gg/nanos) and also via mail:
Dennis, who is responsible for community and PR, is open to suggestions and community contact. So if you are interested in our project, don’t hesitate to contact him via mail (dennis.s[at]nanos.io).
If you have any specific questions about our production itself or any legal or business background, don’t hesitate to contact me via mail (malte.s[at]nanos.io).
Please keep in mind that we cannot answer questions about non-disclosed content. We promise to inform you soon about our plans and visions.
We are looking forward to welcome you to nanosWorld!
All the best
Dennis and Malte