Good morning community, Happy Halloween, Dia de Los Muertos, and Diwali! The majority of this month's updates are of the technical variety. We are going to focus on a few things from Server work completed to the new artwork for the island. Let’s jump in!
The Island NPC’s:
Testing is progressing well on the island, bringing us closer to our phase one push. Our initial process is a bit different from typical design. Since there is existing work with little documentation rather than a clean slate we had to approach it differently. This involves tracing systems backward and documenting the steps needed to complete tasks.
Using this process we've been able to reverse engineer the current systems for inputting NPCs. This includes attaching missions, giving rewards, chat functions, Fx and other functions.
During the first phase of the island, we will be using the same missions as in the current tutorial. The exception is that there will be dialog changes and fixes. There are also instances of broken items, and missions. This resulted in the need to rework the dialog chains and flow of some missions. In the end, they are still comparable to the original with improved functionality.
As we progress further into the Island phases and replace systems we will begin transitioning to our new content. This will include all new NPC, new missions, new systems, and additional art.
- Identification and documentation of all existing Tutorial NPC in-game. (Done)
- Currently, there are 304 NPC in total across the four existing tutorial areas.
- Determining what missions, spawners, and knowledge these NPC have. (Done)
- Create documentation including the above information.
- Identifying which NPC will be used on the new Island. (Done)
- Once the island is complete there will be approximately 200 NPC. This includes creature mobs.
- Identifying which NPC will be deleted. (Done)
- Identifying which NPC will be used on the new Island. (Done)
- Begin documentation of all existing tutorial missions.
- Identify which missions will be kept. (Done)
- Identify which missions will be removed. (Done)
- Begin editing mission documentation in preparation for Dev input edits. (WIP 98%)
- The editing process moves through multiple phases. Ready for Review, Ready for Input, Input Complete
- This portion also includes documenting the conversation chains to understand if they work correctly.
- Create documentation for mission and NPC input progression tracking. (WIP)
- Begin testing NPC creation.
- Document testing process. (Done)
- Create step by step how to notes (Done)
- Have others test these steps. (Done)
- Begin inputting NPC (WIP)
- Attach the first mission for testing. (Done)
- Test mission (Done)
- Begin editing missions on Dev. (WIP)
- Once edits are complete begin testing these missions in the current tutorial for issues.
- Document bugs/issues.
- Make additional edits.
- Test until the desired result is achieved.
- Once the art has progressed NPC can continue to be placed on the new island. Once in place, all testing steps must be taken.
- Check progression documentation against all input.
- Ensure all NPC are in their desired location.
- Ensure all paths are properly placed and working.
- Check and update all directional text associated with the NPC to include knowledge questions.
- Retest missions.
This has helped us find the best direction for the new system that we will be developing in parallel to the current. Once the new system is developed we will be testing it on the island with new NPC’s and updated missions. These critical steps listed above will determine how we can migrate from the current to the new in the future.
NPC and Mission Testing:
This process is time-consuming and must be completed multiple times. This ensures we fully understand how the current system works, the mission works, and the edits are complete. We have the good fortune of being able to use the current tutorial to test the edits made to the existing missions while we wait to complete Island NPC placement.
Currently, we have been able to complete all first phase mission edits on Dev and begin testing. During this first wave of testing many bugs and issues have been documented and others corrected.
We’ve been able to identify additional issues with mission functions and NPC during this phase as well. This has been beneficial to further our understanding of the current system and design changes we would like to make.
Once art progression has reached the necessary point we will complete NPC placement, check all missions are attached and begin testing again. Once all bugs have been squashed during this phase the NPC and mission placement will be considered complete for phase one.
Planned Island phases:
- First phase: New areas-New and old artwork together to show the progression of the world and fit the gameplay and lore better.
- Second Phase: Container System- New Container system and inventory (Item system, Inventory, loot containers, etc)
- Third phase: NPC’s - New NPC system with much less overhead
- Fourth Phase: New mission/dialog system for more choices of interactive missions.
- Final phase: Systems cleanup, optimizations, and adjustments for systems and performance.
The completion of each phase will include a push to the live server so you, the players, can see the progress on the island and help identify additional bugs and issues. In between each of these phases, we will be making smaller updates to fix bugs and other issues/conflicts that arise so the game is playable.
Everything that goes into the Island from systems to adjustments for better performance and flowing gameplay will then be applied to the world revamp.
Live Update is working!
We are very happy to announce that the Live Update is fixed, tested fully and working! We actually used it for the first time while doing the script and DOM/GOM cleanups.
The live update is built into HeroEngine by default, but between the old version of HeroEngine that The Repopulation is using and changes made over the years to the core systems, we had a lot of work to do to get it working.
The first step was the new servers and updates to those. This allowed us enough drive space and server power to make the reverts and get it updated to work with our current push system. The Repopulations Live Update was fixed, finalized and fully tested in our working environment last week.
What it is:
Live update allows us to push small updates or hotfixes now the correct and more efficient way as it was meant to be. Up until now, we had to make the fix on Dev, test then repeat that work on live. What live Update can be used for:
- Minor to small Hot Fixes
- Art updates
- Mission updates
- Minor script changes
- UI/UX updates
- Minor functionality changes
- Minor area changes
With the Live Update working, we can make the fix and test it once, then push it to live. This will allow all users to get the update the next time they log in. Depending on the size of the update, downtime can range from no downtime at all to approximately an hour or two depending on the size and testing required.
Cleanup on (a)Isle 4: Code Cleanup:
We are happy to report that the next update we push will actually be smaller with more changes. We have cleaned up and removed several GB of data that was no longer in use but still being compiled and existed in the game.
Due to the amount of work done in the code, scripts, dialog, NPC changes and the new island areas; the upcoming (TBA) game update will not use the Live Update.
There are too many changes coming your way. This update will be too large to use the Live Update feature built into HeroEngine. However, we will be using this for all hotfixes and minor updates throughout the development cycle.
The clean up of the code also includes updates so we can eventually get The Repopulation updated to the most recent version of HeroEngine. This process will continue as we go through each game system to make sure that there are no conflicts in the code and make it easier (and faster) to do hotfixes or adjustments to anything that we create.
A quick overview of the changes and cleanup made:
- Cleaned up the GOM (Game Object Model) /DOM (Data Object Model) issues and rebuilt the core which will allow us to more efficiently update the engine version for The Repopulation.
- Removed over 60% of the old bloat and files server side.
- Migrated to a new server, giving development more needed resources.
- Moved Development and Test over to the same mega server.
- Fixed and cleaned/removed the following:
- 515 Old and Unused Fields/Enums have been removed, giving the DOM more space to breathe.
- 522 Old and Unused Controls were fully removed, with more to go.
- 364 Old and Unused XML/Client Script files were cleaned out.
- 284 Old and Unused Client Classes were removed, which also gives the DOM a bit more breathing space.
- Fixed and updated the Repopulations Live Push system.
- Updating and compiled the new cleanup files.
- Finished the design for the Island and started core development for the December update.
- Finished the NPC redesign.
- Finished the primary architecture assets for the island.
The cleanup process has afforded us the opportunity to condense some data while applying some minor fixes where there were errors that had persisted for many years. Most of these were due to conflicts from old and unused scripts and files.
During the cleanup is where we first tested and used the Live Update functionality in the engine. We are able to see run diffs, (find the code differences) within different areas of the game and apply the selected changes to the server it is being pushed to.
Our primary goal was to find a style that fits each of the Nations and build from there, while still using some of the current styles as our “common” architectural style.
Trying to keep the original art style of Repop was a challange. We have tested more styles and textures than we can state on prototype. However, cleaning up some of the older textures, updating them and merging them with new materials and art has given a more natural flow.
Each Nation will have its own style, and you will be able to see this reflected slightly in the Embassy’s architecture that will be on the island for each nation.
As we move forward, you will begin to see both new and old art (updated) merged seamlessly into a single world. The purpose is to achieve the following:
- Keep to the original style and scope of the game
- Clean up old art graphics, textures and optimize the artwork
- Add new art to give a vision of growth and expansion of the world
- Medical Center: Modern but recognizable materials used through most of the compound. Several buildings expand out to multiple areas that are all under the control and maintenance of REC.
- Embassy’s and Nation Compound’s: Modern style buildings similar in build but with the nation's own little flare to them. Mixed in you will see familiar architectural styles along with new styles showing the progress of the Island’s development and growth.
- Nation town centers: Each nation will have its own little town as well as their own Embassy. The structures there have progressed from using materials brought from the mainland and from the ship years ago with visible updates and repairs done over the years.
- Village: Adobe style houses and architecture that fit the island and shows how the nations were able to build from local resources on the island.
- Farming and Hydroponics: Yes, you will eventually get to see some farming and a hydroponic facility on the island.
The new Starter Island has 6 primary areas tucked in and surrounded by a large sea away from the Mainland. Instead of the current Training Facility where players start out at, each of the 6 areas will have its own purpose.
Sneak Peek information:
This is a sneak peek of what you will see on the Island when it is released as well as what we have planned in the future with each update to get closer to the final version:
► Please Note (disclaimer); the information below is a WIP and most of the gameplay features will NOT be in this next update. This is meant for a sneak peek to find out what is coming your way in the future. We are far enough along in design, cleanup and development to start sharing some of this information.
Medical Center: This area is designated to your arrival to the world of Rhyldan. You've awakened a fresh Mnemosyne clone in an unfamiliar world. Here the friendly staff will help you assimilate to your new surroundings, and start you on your path.
It is here you'll take your first steps, be acquainted with clothing, and equipped with your very own PDA. Perhaps even introduced to a bit of Rhyldan's styling options.
Once you've exited the medical building you'll notice a Port from which you'll eventually depart the island. In the distance, a lovely cafe waits to greet you should your curiosity bring you to their door. Take the opportunity to rest from all the hard work you put into your training missions.
The Nations: Each Nation has been awarded building rights in specified areas. Within these areas, each Nation maintains a compound that includes structures for training, crafting, housing, shops and more. In the future, you'll find yourself welcomed to visit each Embassy. Here players will be able to obtain missions, and training based on what the Nation specializes in. True to human nature each will likely feel they have the superior know-how and are subject matter experts. Don't be surprised if they try to recruit you while there.
Genetics Center: As with any civilization, there is an area that houses a genetics facility. This is where the scientists learn about the native life on Rhyldan as well as genetic modifications and alterations. What could go wrong?
The Village: As with any community, these people have to live somewhere. So the people that settled the island and work alongside the other nations have built their own village. It is rustic, earthy, but it is home. They have also set up their own power stations and even a farming facility down the road just outside town.
Wilderness: There are areas that are just wilderness. Not its own area, however, some areas of the island were just too rough or out of the way to colonize and build upon. You never know what you might find out there. Most of the outlying regions on the island hold their own beauty, but can also be dangerous.
LOD’s (Level of Detail)
As with any game, creating good art, and art that is not too taxing on many different computers has always been a challenge. One of the industry standards to keep performance up but not have very low poly art is to create LOD’s for art. Not all art needs to have LOD’s created, however, any larger piece that can be seen from a distance and has a lot of detail should have LOD’s created.
The current task we have been working on this month was the artwork and architecture for the Village. We have created 7 LOD’s for each house and larger assets. Though there are a few programs that can do this automatically, each of those has their own issues.
- Additional draws by separating assets or materials
- Visibly viewable mismatched textures or “jumping” textures as the LOD changes
- Breaking of the asset and causing holes or gaps in the meshes
- Breaking of occlusion functionality of the asset
- Assets “popping” into and out of view
- Assets turning into blobs or odd-shaped fuzziness
So the best way still today to have the performance boost as well as prevent the “popping” or “fuzziness” is to do them by hand. Though it is time consuming it is more than worth it for Repop.
For buildings, we are doing LOD’s for both interior and exterior. As stated last year, we have built the new buildings in PCC with separate interiors and exteriors to allow the use of multiple environments (outside and inside) as well as done for a performance boost.
Creating LOD’s for interiors as well will also help performance since you do not need to have the full interior to load/render at high res if you are across the street or even town and someone opens the door.
When creating LOD’s one basically removes faces by collapsing or welding vertices together to reduce the total polycount with each progressive LOD. If you can remove between 10-20% of the vert/poly’s at each level, then you usually end up with a nice invisible transition from high res to low res assets.
The transition should be seamless and the player should not be able to see the changes. Though we cannot avoid all “popping” for all players due to a combination of:
- HE’s LOD automated system
- players computer specs
- video card type and age
An example of this is some players using an older nVidia, AMD or Radeon video cards may catch a banister railing popping into view where other players will see it fade-in in a more natural way. We will do our best to make it as minimal as possible.
How LOD’s work:
LOD’s work by removing some of the load time for assets. This allows us to create higher-resolution art while still keeping the performance up for the players.
Currently, if you have 100 assets that are 10,000 polys, you would be loading 1,000,000 polys upon entering an area. With LOD’s we can bring those down to 1000 polys or less. This means you would be loading no more than 110,000 polys at any given time, but the load and unload time would be much faster and seamless.
So instead of loading all of those high-resolution art assets, you would be loading the last LOD first, then it would transition from 7 (the low res) down to 1 (the high res art) as you get close to it.
In our case, many of the village houses are between 5,000 and 21,000 polys at high resolution, but the low resolution is between 500 and 1200 polys.
My first mentor told me years ago (back in the 90’s):
“A poly saved is a poly earned.”
This is so true, even still today. This means that the more we can keep overhead and load times down, the more alive we can make the world feel.
What is Next?
What is next for The Repopulation: The next steps are finishing the base NPC dialog adjustments for the new island as well as all the new artwork and basic systems that need to be redone.
Below is the following list to be done during the next quarter:
- Phase 2 of 3 of deletions (from above “Fixed and cleaned/removed”)
- New architecture art for the starter island (359 assets)
- LOD Creation for all large and architectural assets (159 assets)
- Heightmap (terrain) painting and texturing (20 total areas)
- Worldbuilding for the 6 island areas (Art placement)
- NPC spawner placement (over 200)
- NPC Pathing (over 90)
- Mission triggers and script adjustments and placement (61 missions with multiple per mission)
- Ongoing Dialog Adjustments (pre and post island update)
- New Area Transition updates (pre and post island update)
- Character creation adjustments (pre and post island update)
- Character selection adjustments (pre and post island update)
- Updated Client install/update (pre and post island update)
We hope you’ve all enjoyed this update and sneak peek of things to come. As always we look forward to your feedback be it positive or otherwise. May you all have a safe and spooky Halloween.