Dev Log #3: Finding A Healthy Work-Work Balance
almost 4 years ago
– Wed, Mar 10, 2021 at 11:52:31 PM
Words from the President
Hi All,
I hope you’re doing well as we get oh so close to spring (yes I know Ohio is always due for a nice April blizzard). I wanted to take a few minutes to express my gratitude towards you all for both the support you give to us at Multivarious, but also for making it through a tough year. We have some exciting things to update you on over the next couple of months for MVG, No Mercy, and GDEX. But for now I gotta pull a boss man thing and I can’t announce anything quite yet.
I can however let you know that we are participating in the NYX Game Awards (https://nyxgameawards.com) and we have been selected to be on the Highlighted Entries on their front page. We’re up there with the likes of Last of Us Part 2, so we’ll take that as a win!
If you can keep an eye on that page because we are a part of the Voters Choice awards and the winners are based on the number of votes we receive. We’ll send out another update when the votes go live, but we appreciate any support you can give us by voting and asking your friends to vote as well.
That’s all I have for this update, so I hope that everyone has a wonderful weekend and I look forward to seeing you next time!
- volpe
---------------------
TechTimewithTom
Hey Tom here!! Sorry I didn't get an update out a couple of weeks ago! We got absolutely drenched in client work in February. It's no excuse; I could have posted at least a short note about it before now.
The sudden rush of client work is a great problem for us to have, because 2020 was probably the worst business-famine we've ever experienced, but we've got a handle on it now, and No Mercy's backlog isn't getting any smaller!
On the development front, the main thing this last month has been checking in with the team to make sure that they can use the new level system effectively. By the end of January, I had been nearly done changing the overall approach of the level boundary system, and reworking it to track terrain pieces in terms of "routes".
I want to add in some debug visualization (and share screenshots of that soon!) to confirm that it's analyzing and generating everything as-expected. The system is a lot more flexible in its use than it used to be, and if we find new and exciting ways to break it, it will be good if we can visualize the process.
The updated background parallaxer (which is now more sensitive to the physical realities of the shape of a level) is ready to be activated during edit mode, so we can place background and foreground art directly into a live-previewed level.
Our level system now supports making completely arbitrary shapes and connections to each other, instead of being constrained to 'quadrilateral' type assumptions about how those connections will be made. By traversing the spaces we lay out in a more organized fashion, and tying it directly to the background system at edit-time, the new camera system at runtime will have all of the information it needs to properly position and constrain itself without relying on manually-placed rails or guidepoints. And if we find certain sections of the game, like large-area puzzles or action sequences, which require extra camera railing or constraining, Cinemachine is good at making those logical transitions. Our default camera will always have a knowledge of the routes and flow of our levels as we lay them out.
So, the final piece of the whole thing will be testing the new camera system out on our existing blocked-out levels! Once I test it in-action by converting one of our prototype flat-depth blocked-out levels into a fancier, more dynamic version, I'll merge it in!
With that system merge, I'll be ready to integrate Photon Fusion for new networking capabilities, but first I want to restore some data persistence and get some conditional story-loading in the level system as well. The world will be in a sandbox state for a while, but it should still remember what you did during a play session, and be able to modify the level loadout next time you play.
Data persistence for the game is a fairly basic thing, and it's really important that the team can build levels with an understanding of how player actions can modify those levels. Our original demo had some one-time triggers and some hard cutscenes that forced progression along, but we want the system to be dynamic. The level designers shouldn't have to do anything for the game to be able to properly load the correct level configuration for what the player(s) have done already.
There are some scripts I stubbed out for this a long time ago, and hopefully it will be pretty easy to add a hook to the runtime level framework to be able to catch little events, like objects/enemies being destroyed or interacted with, and look at that event and be like "was this a story thing or just a random thing", and remember what it needs to, without anything needing to be explicitly hardcoded or manually set-up for it--to do it dynamically for all the levels that use this system.
I made this diagram to illustrate our level-building system. We have tools now to place everything entirely in 2D, and have it automatically generate proper 3D physical spaces and line our sprites up properly. No more manually setting up parallax layers or having to start the game and physically travel through it to verify that things are all placed and sorted properly!
So the state of the game, for our team to build the first finalized chunk of real gameplay out of, will be the following:
- Flexible level geometry- and art- placement system
- New camera system to add function and style for both player and level-designer experience
- Built-in story data persistence
- Be able to run whatever areas of the game that we have built in a sandbox-mode to test networking and combat basics, while we tie those level areas together into full-fledged story arcs.
A new network-enabled sandbox demo is our shorter-term goal. An art-final chunk of the game will come after.
Next update, I will include more in-engine visuals (maybe some tool visualizations, maybe some new level screenshots) and hopefully be able to start talking in detail about the network conversion process!
Thanks for following along!
- Tom
Dev Log #2: The Rebuildening
almost 4 years ago
– Fri, Jan 22, 2021 at 04:51:35 PM
Updates from the CEO
Hi Everyone,
I don’t have a lot to update everyone on this time, but I would like to express that we’ve had some really good design sessions with the team lately and have some of the major plot points consolidated around the narrative and artistic direction. I’m really proud of the work the team has been doing and I’m continually impressed by all the cool takes on No Mercy we’re seeing from the community. I hope that you enjoy this update and we’re looking forward to showcasing even more progress to you all over the next few months. We’re also entering some competitions coming up, and I’ll be sure to let you know all about those and how you can help us!
In the meantime, please stay safe and take care of each other
-Chris
---------------------
Tech Time with Tom
Hey everyone! Tom here! Hope you had a good holiday break. Ours has been relatively productive. I enjoyed some pandemic-responsible holiday time with my mom and sister. It was very unusual not getting to visit the extended family, but I got to have my annual Bob Ross episode-marathon and that's really what counts.
It was a good ramping-up period for getting back into regular development cycles. Here are some of the things we got done over the holidays!
New camera behavior logic.
One of the requirements for this was to be able to do reliable inside-outside testing for our levels. Up 'til this point, most of our levels' geometries have been "canyons", with open ends and optional ceiling geometry. We're now enforcing our level geometries to be complete, closed objects with end-caps and ceilings in all cases, which makes it simpler to write camera behavior code.
Our in-editor previewing system is being upgraded to accommodate the new behavior, along with the updated background layer system, so we will be able to view approximate camera and parallax-effect "3D" results in real-time work with the root 2D scene)
Scene workflow improvements.
We're now utilizing the brand-new Unity feature for Scene Templates
Edit-time enforcement of scene data structure: To further take advantage of the convenience of Scene Templates, and to remove the need to remember all of the relationships and values for the scene objects and background layers, we've been improving the overall editor interface by which we work on our levels. We can now use editor buttons to jump around to all the relevant game objects, and much of the slog of manually setting up visual objects has been automated away
The parallaxing background system in particular has been given a major workflow improvement, with some custom sprite placement, allowing us to drag around and precisely preview and place background-layer objects. The background objects get configured, parented, scaled and positioned to work with our parallaxing logic, while visually matching the preview. This helps us not have to load all the way in to a level just to see if our backgrounds will look good or not!
All of the features worked on are either for the new camera system directly, or are dependents of it. (Parallaxing backgrounds, for example, follow the logic of the camera system.) Also, very soon my teammates will be getting more involved in the Unity editor, and it's important to me that the rest of the "you have to remember to set these numbers properly everywhere" elements involved with making our levels have been addressed with either built-in guidance or with automation. (Really, that's been a huge part of the last two weeks... Stepping through our existing editor tools and discovering ways to improve them that we hadn't considered in the past.)
Also, a really exciting recent piece of news! First, it's important to note that all of our attempts to implement online networking in this game have thus far been using Photon Bolt (https://www.photonengine.com/bolt). Due to general development delays, we had been planning to revisit this in the next couple of months, around springtime. We still have our side-branch with Bolt partially implemented.
The exciting news is, they've selected us to be one of their early-access teams for their new Unity networking product called Fusion! Photon is retooling their many years of experience with both the PUN and Bolt tools into creating Photon Fusion. They promise it to be easier to use, more powerful, and more flexible than either of their previous Unity solutions.
We're really excited that they're giving us access to this project, and better yet, their development timeline lines up very nicely with our own! It is a great opportunity for us to refresh on our networking efforts with a bleeding-edge new system, and we are looking forward to working with Photon to help both of our teams get to our respective finish lines! We'll be trying it out within the next month or two and are excited to share the results ASAP!
That's all from me for now. I'll keep you all up to date on everything. Thank you so much for your continued support, it means the world to us as we keep chasing big dreams! 🌠
-Tom
------------------------
Inside the Artist Studio
The world of Eldathos continues to grow, here’s the map for the game so far! It will most likely be tweaked as more specific design elements are built in the various areas but the layout and zones are pretty set in stone. My next and current big project is building out the Village area (bottom left) so we can start experimenting with NPC’s, stores and interior space transitions and such. I feel like we need to have at least one dog you can pet, that’s the first thing I look for in games!
My personal day to day has been rather chaotic but life is good and I’m pleased with the progress we’ve been making lately. I hope you all are doing well and I bid you farewell till the next update :) As always thank you for the support 💕
-Katie
Happy Holidays and Winter Updates!
almost 4 years ago
– Mon, Dec 28, 2020 at 08:26:43 PM
Happy Holidays from Chris Volpe
Hello Everyone,
It goes without saying that this has been a difficult year for many of us. Here at Multivarious, we’ve had to work very hard and be flexible just to be able to survive. But we’ve managed to make it through 2020, where many in our industry have not. I want to personally thank everyone that has supported us both this year, and in years past. Trying to build a game industry in the Midwest is a challenge without a global pandemic, and many of our friends weren’t able to make it through. I am determined to have our team and community strive to grow and support other companies and creators for as long as we can, and I really do believe that 2021 can be a great year for the Columbus and Ohio game industry.
For now, on behalf of myself and the rest of the team, I wish you all the very best during this Holiday Season and I hope that it’s filled with love and support and we’ll see you on the other side of the New Year!
Happy Holidays and Stay Safe!
Chris Volpe, CEO
-----
Katie’s Special Words
Hey guys, I come to you this snowy evening with tales from Art Land in No Mercy!
The game in its entirety will cover 5ish zones and be around 26 levels that unlock into an open world map. Currently I’m working on texture experiments in the Library and after the holidays I’ll be recording gameplay for you all to see!
In the meantime please accept this humble Christmas card and some No Mercy trivia: the world area they live in is called Eldathos, and I will be hiding backer names on books in the library because that seems like a fun thing to search and find. I hope you guys are doing well, may we all continue to get through this year and hopefully kick next year’s butt.
Notes from Tom
Tom here! Still working on merging in the new camera system and setting up the main menu to load into our new area scenes for testing. Once that’s done, we’ll be able to make real, stable builds again and record gameplay and in-game screenshots for future updates.
I’m endeavoring to post live thoughts and updates on our Discord server, during the days I am working on the game (yesterday, and I expect some more between now and the new year), so please feel free to check there and chat with us if you feel so inclined! https://www.multivarious.com/discord
Hope the new year is kind to everyone.
Dev Log #1: "Neo Mercy: Cyberlorne 2021"
about 4 years ago
– Sat, Dec 12, 2020 at 09:07:47 PM
Hey everyone! Tom (programmer) here. This is the first of a renewed effort at providing regular, ongoing progress updates for the game. It's hard and it feels painful to have to say "we're still a long ways off" after a long spell of not updating or providing any news, but it's important to us that we build some good habits here to help keep us motivated to keep following through. The same forces that can be a negative feedback cycle, can turn around and form a positive one. At least, this is our hope.
The format of these will likely be quite flexible, based on who is writing it and what's been going on at the time. Sometimes, we may have to say "we were too busy this time, we didn't really get much done on the game". We're operating on the assumption that it would be better to say that out loud than to not say anything at all, and doing so will help us keep our sights on achieving manageable, presentable goals.
Recent Developments
Over the last two weeks, we've had to be pretty focused on client work and financial matters. However, the primary non-No Mercy project we're working on now involves a lot of massive lightmap renders and really long compile times, so I tend to run it on a side-machine, and remote into it to work on that project. This means that during times when that project's main development machine is occupied, I have time and computer bandwidth to work on other things, including No Mercy. So, the first thing I did this last week, because it had been a while since we were able to do this, was upgrade the Unity editor and all of our other plugins and dependencies to the latest stable versions, and knock the project around a bit and make sure everything still works and isn't throwing any warnings or exceptions. It's a pretty basic maintenance task, but it still feels good to have the project in Unity 2020 with clean console logs.
Current Goals
The last major change we had undergone (back in Mar/Apr... jeez how time flies) was some fairly thorough retooling for our scene system, to make it easy and fast to assemble new ones and modify old ones and to make sure that the scenes and data that get loaded at runtime are properly linked to the story system.
The story system is deeply related to the first big milestone for our renewed efforts; making builds where we can load in at any point of story data we want, for testing. This will not only help us demo the game (and be able to implement it in "chunks" in whatever part of the story we want, rather than in a chronologically-linear way) but also will help us quickly test different parts throughout it as we adjust and balance the combat mechanics over time, instead of constantly balancing based on whatever part of the story we happen to be implementing at the time.
Here are some shorter-term goals we are pursuing. We'd like to be able to provide tangible updates about them soon! As well as to be able to get new builds out and show the game running again!
The scenes for a good chunk of the game are blocked out, in terms of their physical geometry and their connections to the other scenes. The story-progress subsystem is due... Which in turn, means the partially-implemented profile and save system needs to get modernized and ready for action. Once the game remembers your progress between the menu and the game, this goal is complete.
A rework of the game camera system, which is nearly complete, is sitting in a side-branch of the git repository and needs to be merged in. We are improving our game camera with a Unity subsystem called Cinemachine. This will help us to improve and smooth out camera behavior during combat, and also to handle the cutscenes and more dynamic level layouts of our new scene system. The only problem with it right now is that its behavior and interactions when the players are near the bottom/back wall of the play area is not quite satisfactory. We had to put the project back on hold right before we were able to come up with a solution for this.
Our Networking solution (Photon Bolt) is set up on a baseline level, but it is on the only other side-branch currently in the repository. I need to catch it up to the main branch and convert all of the existing game entities into the networked subclasses that work with Bolt. This will be an enormous milestone, one the game has been waiting on for a long time, but it is one that I feel much more confident about now that we have a couple more years of experience as a studio.
Orion politely requests being brought from partial implementation to full implementation (sorry buddy at least your shield works even though its visuals aren't done)
There are so many other things I could list here, and ramble about them for infinity work hours. But I want to keep these dev logs focused on just what's near the top of our minds, and the stuff we have active tasks about in our hacknplan for the current sprint. I will spotlight and dissect all kinds of stuff about the game's code and systems over time and further entries.
Next Up
We will continue to make steady progress on these tasks, which are only one part of our broader, longer-term roadmap of milestones leading to game release, and use this space to document the process. This project is quite large, and our team quite small, but we've always had the same basic vision for the game, and we've gotten a lot better at what we do in the meantime, just through survival as an independent software contracting shop. I'm hopeful we'll be able to pull out some surprises yet.
The current plan is that our artist will be writing the next update, with some insights and visuals from her end of the project. I will have more development updates on the goals listed above, as well. We will get that out within the next couple of weeks, sometime before we break for the holidays.
In the meantime, if you want to talk about any particular topics, or have any questions, throw 'em at us :) We hope to make the remaining development time mutually entertaining and enlightening!
Also, feel free to join our Discord server if you're interested in more raw/upstream updates, or just want to hang out. We have some side shenanigans going on, like a KevinBot, and generally use it as a virtual office alongside Slack. I'm aiming to chatter more in the Discord about what's going on in the game in a realtime sense.
Anyway, that's all from me this time around. Thanks for reading! Back again soon!
-Tom
Building the World of No Mercy
about 4 years ago
– Wed, Nov 25, 2020 at 04:41:47 AM
Hey All!
We’re hoping that you all are staying well in the midst of whatever 2020 has turned into. Now that the dust from GDEX TV has settled, we wanted to talk a little bit about how we’re writing the narrative to No Mercy, particularly when we are all remotely working from our own homes!
While we’ve had a rough idea of the main story beats of No Mercy for years now, we put a halt on major narrative development until we could start to actually build out the basics of the gameplay in the engine. One of the most important things you can do for a game’s story is to make sure that it is being worked on in tandem with the game mechanics. Doing this will allow you to interweave your narrative and gameplay in such a way where the two can reinforce each other to make a better overall experience. This helps us to make sure that the game’s story has just as much importance as gameplay, and helps us to really engross the player through both the story being told to them, and the actions that they’re taking to reinforce that story.
However, while we continue to flesh out the world in-engine and start to get the narrative blocked out and in a playable state, we can work on expanding and clarifying the history and backstory of the world of No Mercy. When it comes to writing such narrative background, I’ve taken a lot of cues from how Brandon Sanderson builds his magic systems in his stories. According to Sanderson (and the video linked above that inspired this writing approach) you should build your magic systems into a really small but deep hole, instead of a mile long puddle.
So for instance, there’s no need for a Lord of the Rings style deep lore and history for every little aspect of the world, because that would involve a Dwarf Fortress-level of complexity in making sure that all these pieces of lore don’t conflict or cause a paradox (think the Magic of Elder Scrolls in the video). Instead, you can focus on nailing down a few pieces of your world, and outline more loosely the different ways they might affect and be affected by the other pieces. By doing this, you build out a really deep and believable world, without needing to think about every aspect of it at once.
Once we’ve chosen a few key aspects of the backstory that we want to expand upon, we just start to ask ourselves questions. Typically I’ll put together a document in a virtual “writer’s room” and the team will think through what questions come to mind when they think about the topic.
So for example, the world of No Mercy is one where magic is a real power that can be wielded for multiple purposes. When we started to think about our magic systems, we assumed off the bat that magic would be used as a weapon, because this is a brawler, and fighting with magic is fun. But what else could our magic be used for? This led us to think about how the magic of the forest could be used for things such as water purification, shelter, agriculture, and many other uses of varying degrees of practicality, that may not affect the gameplay directly, but allow us to seed the landscape with characters and sites that are based upon these concepts and ideas.
Each week, we try to dedicate at least a 1 hour “Writer’s Room” meeting over Google Meet to do a deep dive on one topic, and start to ask as many questions as we can. This has helped us to do everything from expand some of our basic history of the world, to even coming up with new ideas for Side Quests and Main Missions.
This is one of the primary things we’ve been focusing on this year! In between client jobs, we’re working on fleshing out the world while Tom sneaks in whatever features he can on the code side. Progress on the game has been like a glacier (although climate change may ruin this metaphor): quite slow, but with a focused and powerful momentum. Also, pockmarked with moulins and crevasses (life), with random explorers crawling over it (client work), and with Tom standing off to the side coming up with tortured metaphors like these instead of programming the game (this is not part of the metaphor).
We hope that all of you are getting along alright in the world. Please stay safe and stay healthy as the world throws a flu season into the middle of a pandemic. Take care of yourselves, and take care of each other, and together we can make it through this, and come out the other side with a fun new game!