Still Alive Again: A No Mercy Update Tale
over 4 years ago
– Thu, Jul 09, 2020 at 11:29:28 PM
Hello everyone! We hope that you have been safe and well during these intense times.
I'm Tom from the MVG team. I've been heading up the technical side of development of No Mercy (as well as our other unrelated business and client activities) for about 6 years now. It's been a really wild time full of challenges, excitement and growth for all of us on both personal and professional levels. It feels surreal to look back over the years and watch our business slowly advancing towards the decade mark, to think about the challenges we've overcome, to know that we are able to make ends meet for our small team and that we are ever-gradually improving our financial stability as a company.
While we have been successful enough in navigating the seas of startup business development and maintaining a semblance of financial stability for ourselves, it has caused us to have far less time to devote to No Mercy than we would like as a studio. I'm sure this comes as no surprise—any quick glance at our output over the last few years shows a clear lack of general updates and communication from us, which there is no excuse for. Even during times when we are not able to work on the game at all, we should still be reaching out and talking about little things about the game that are on our minds, plans for the future, our process, new concepts, technical hurdles, etcetera. Despite our reasons for lapsing in our communication and engagement, we're making efforts to do better.
The global pandemic and the national and local reckonings over societal injustice in the USA have swept over our hearts and minds over the past several months, crushing a sputter of communication down into virtual radio silence. Suffice it to say, we do care a lot about what is going on, and everyone's well-being. Writing this update feels strange, and perhaps somewhat vapid, compared to the magnitude of the earth-shattering history being made these days. Perhaps things like this are unavoidably trivial even during normal times, but our mission as a company has always been to create joy in the world, and engaging with everyone interested in our works is the best way to achieve that goal in the immediate term.
In pursuit of that aim, here's a quick update as to what's been going on lately, and a tangential foray into some development discussion.
First, we as a company have been able to position ourselves this year into having substantially more time to work on No Mercy than usual. We intend to make the most of this. As of the time of this writing, we are planning to regroup for a production session within the next week, to hammer out some development milestones for the short-term future. I'm hoping we can process the results of that into another update soon, so please stay tuned!
Second, and what will comprise most of the rest of this update—I thought it would be fun to digress into a slice of technical detail related to how the game works. I won't get too esoteric for most people (I hope!)
As you are no doubt aware, even the simplest video games are massive, complex systems with tons of moving parts. We are a very small team. Most of the roles of a typical studio are handled by someone who is also juggling a couple of other roles at the same time. Each one of us is responsible for an amount of work that large studios are able to devote entire departments to. As a result, we are forced to always find ways to work smarter, because there is genuinely no extra bandwidth or time available for us to work any harder than we already do.
No Mercy, a brawler/adventure game, has no shortage of stacked-up, moving parts.
Multiple story beats covering multiple physical areas, containing
Multiple entities fighting and interacting with one another, using
Multiple input buttons, that control
Multiple animation-driven states that may or may not have direct effects on other entities and affect their own states
This does not even start taking into account the AI logic that interacts with all of these other systems to play the game with you. Or the networking infrastructure that would have to synchronize all of this action over the internet. Or multiple different gaming platforms and controller setups.
The way we've been able to wrap around all of this complexity as a small team is to simplify collections of related systems into singular "boxes", and to force each of these sets of systems to interact with one another only in very particular ways.
For example, we are using Rewired, an excellent plugin that allows us to unify every possible platform and controller type into a single "source of input" for the player.
We then take this concept of a "source of input" and force our AI logic to use it as well. Instead of giving the AI free reign to change whatever character state or data it wants to, we make the AI "use a controller" virtually, so that our combat and animation systems can listen to the same "source of input" and not have to even think about whether or not they are controlled by a human or an AI.
By doing this, we also enable ourselves to easily be able to control NPCs and enemies during testing, so that we can refine the motion and physics of the entity without having to simply observe the choices of the AI brain. It allows us to intrinsically separate the 'brains' and the 'body' of every entity in the game and refine them independently.
As an aside, this is how a lot of games that can be both online or offline handle their networking logic. Instead of having to think about whether they are "on the network" or not, a game can be written to always behave as though they are online. The "offline" modes of these games simply network with themselves! All of the logic is behaving as though you are online and sending packets, but since you're just connected to yourself, there is essentially zero ping and no possibility of desynchronisation. (This is an oversimplification, but it's an example of things that developers do to reduce the numbers of different possible states or environments that the game has to think about during play.)
Most of the rest of No Mercy's systems are designed this way, in a "stack" of systems with a known order of responsibility. Player and AI raw input are captured, and depending on what's going on, are converted into actions or combat states. These states cause the entities to do things and interact with each other, enable hitboxes and so on, and each of these interactions is able to make contextual assumptions. If you punch an object in the game, our code doesn't have to think about whether you're punching a box, or a smoke monster, or one piece of a big boss. All it thinks about is that an attack hitbox intersected with a defense hitbox, and therefore some damage needs to be dealt, some knockback needs to be applied, a sound needs to be played, and so on.
This kind of constant simplifying and responsibility-assignment is especially essential for the AI, doubly so for complex AI like the second-player companion brain, which has to know how to pull off the entire movesets of each of the characters and be generally helpful to the player at the same time. Much can be said about how we simplify the thought process of our AI systems, and prevent errors or lock-up states. The short answer is that we're currently using an AI design pattern called "behavior trees", and the long answer will be written (perhaps in multiple ways) in the future.
Setting things up in these ways gives our small team the ability to wrap our minds around these wide collections of varied parts. Luckily, we only need these systems to work together to the extent that we can do some pretty simple stuff… Run around in a way that feels cool, fight stuff in a way that feels impactful, and absorb rich hand-crafted art, sound, and narrative. Our goal is to take a genre (Brawler) that is relatively straightforward, and that many people have some pretty fixed expectations of, and really give it our own twist and make it something we're excited to share with everyone.
I hope that this little writeup has been interesting or entertaining to you, and I'm looking forward to dishing out many more insights and experiences from now until the game is done, and beyond. In the meantime, if you have any questions or just want to hang out with us, hit us up wherever you happen to be reading this, or if you like, join our Discord server! https://www.multivarious.com/discord
Our noses will continue to be firmly pressed on whatever grindstone(s) maximize our chances to continue to survive and grow, to release No Mercy, and to continue making games. We're really excited to share our journey with you.
'Til then, good night, and good games.
Tom
Announcing No Mercy Wednesdays!
over 4 years ago
– Wed, Apr 08, 2020 at 03:34:56 PM
Hey everyone!
In the midst of these chaotic times we hope you all are doing well and staying safe. Our office has moved to working from home and we’re all healthy and bunkered down. Since we survive mostly on client work, solid game dev time can be hard to find nowadays, but hopefully soon we’ll have some new content to show off! The life of a small indie company is an unpredictable one, and we thank you guys for sticking with us and look forward to sharing the world of No Mercy with you.
However, we've decided as a team, that we're going to make sure that No Mercy stays a focus during this client rush. So we've started No Mercy Wednesdays, a day that the whole studio focuses only on No Mercy! It's not going to give us the momentum we have when we all can work on the project full time together, but it's really helping keep our team's morale boosted, while also getting a chance to work on the game when we traditionally can't!
Along those lines, while we're all stuck inside, why not be stuck inside together? Starting tomorrow, we'll be hanging out in our Discord Server from 5pm-6pm EST every Wednesday to celebrate No Mercy Wednesday. We'll be answering your questions about the project, chat about games, or just relax at the end of our workday! We're hoping to make this a weekly thing that we do, and we're even talking about eventually doing cool community nights involving Animal Crossing, Jackbox, or anything else fun that we can do to hang with you all! So come join us for our first ever No Mercy Wednesday, and hopefully this will become an awesome way to stay in touch with you all!
Finally here’s a peek at some Lorne concept art! -Katie
A Brief Intermission: Global Game Jam 2020
almost 5 years ago
– Wed, Feb 19, 2020 at 06:58:34 PM
Hello to our friends, backers, and all other beautiful gamers out there in the wild!
We've been hard at work, as usual, with all kinds of things since the last time we posted an update. No Mercy (our game!), client work (also known as staying alive as a company until our game is released!), our annual expo GDEX (please come!), and staying sane and healthy as individuals... every one of these things fall into our bucket of interests and initiatives.
On the weekend of Feb 1st, we took an opportunity to briefly step back from all the irons we have in so many fires. It was a break of sorts, but one that we worked incredibly hard through. You could call it a professional reset, or an exercise in project management, or even running some diagnostics on ourselves as a team. However you define it, Global Game Jam 2020 was a very rewarding and fulfilling experience, albeit one that necessitated some recovery time for us!
If you're not sure what a game jam is, it's sort of like a games-focused hackathon. This particular one was a 48-hour event, starting on Friday night with the release of the theme that all jam-games must incorporate. This year, the theme was Repair. Teams around the world came together, or spontaneously formed on-site, and set to work coming up with as full of a game experience as possible built around that theme. Games were due late-afternoon Sunday. Everything in-between was a beautiful, chaotic mess of planning and execution.
We had the privilege of hosting a jam-site at our own office building. This meant we had all of the creature-comforts we are used to in our typical day-to-day work-life, but also meant that we were the go-to people whenever anyone on any other team had a facilities-related question or concern, and we had to make sure that everyone was OK and (ideally) enjoying themselves. Fortunately, we were able to balance these additional responsibilities and still create a game that we are really into on a personal level.
Our process for the creation of this jam-game followed a pretty basic Multivarious project-planning template. The very first thing we did was walk over to a nearby restaurant-bar and order some food and drinks while we chatted about the theme and our ideas. We decided pretty early on that it would be very neat if this little game could somehow be a part of the world or history of the main No Mercy title.
We brainstormed some ideas, and decided that based on the skillsets we had on-hand, a 2D side-scrolling puzzle-platformer was one of the most-viable game formats. We came up with some individual game mechanic ideas and did our best to judge how much effort each one would take, which resulted in a lot of ideas littering the cutting-room floor. Eventually, we settled on the basic outline we would go with: You play as the baby-form of the forest spirit Ray, and attempt to help the forest grow as you solve platforming puzzles and make your way to one of the shrines at the heart of the area.
This immediately gave everyone a lot of things to do... but being a healthy and responsible game-development team, we decided to call it a night and get some sleep after setting up the basic project outline in Unity and decide on some specific technologies. We left at the semi-quasi-reasonable hour of 1:30 AM... although many other jammers were prepared to stay in for the long-haul, with sleeping bags and air mattresses a fairly common sight around our office floors.
As a side-note, Game Jams are a great excuse to teach yourself about new tools and techniques, especially if you are comfortable with the main substance of game development. We decided to try out some new-ish Unity features, such as Collaborate for fast in-editor source control, Cinemachine for camera rigs so simple that even Cody can set them up (Sorry Cody! That's the only joke I'm gonna make, I swear!), and the new cross-platform Unity InputSystem (which is still in pre-release, but has a lot of very interesting capabilities).
Saturday was such a blur. Katie whipped out TONS of great environment art, I blocked out the majority of the character-control logic and game-interactions (things like one-way platforms and growable plants), and Cody put on a Level Designer hat and synthesized our efforts into playable levels. Throughout the weekend, Katie was also streaming via her Twitch account Elentori, broadcasting our whole office over her webcam, which led to plenty of fun moments and little jokes.
We decided around midway through the day that we wanted a puzzle-system based around reflecting beams of light and shining light on plants to grow them and create new paths. This was mostly an extension of the existing systems we had created (Baby Ray just needed to detect and redirect light, and our growable plants needed to use light as a prerequisite for growth) but was quite challenging to implement in a hurry, midway through the process. By the end of the day, our light beams ended up being simple sprites with some trigger-detection logic. But, they worked, and looked good. We fleshed out the level and left to get some sleep.
Sunday was the day for final touches, but for me it was entirely devoted to implementing a last-minute feature: reflecting and bouncing our simple sprite-light system across multiple arbitrary objects. This resulted in a rather frantic hacking session on my part. I wrote a system that would raycast to detect geometry to reflect off of, and create duplicates of the existing light-rays at those points. It was a BEAST of a script... and I would write it very differently now.
To give an idea of how close we were with our feature-set: our jam site ran presentations of all of our games a couple of hours before the online submission due date. We were not able to get bouncing, reflecting light implemented in time for the presentation, so we hacked the level to let you simply walk over the final water hazard. But, we WERE able to get this light-bouncing working in a rudimentary fashion in time for the game upload. (It's not pretty. But it works. Which is basically the slogan for every game jam game ever made.)
In the end, after a pretty-grueling 48 hours, we ended up with a cute little child-friendly, good-looking game which also acts as a sort of prequel to No Mercy: For Lorne Hope. We are quite proud of it, and got some great feedback from the other jammers! I think I can speak for the rest of the team when I say that we really fell in love with (Sweet) Baby Ray and the challenges they face as an embryonic forest spirit.
If you want to play our game, Baby Ray and the Holy Grog, in its current state, you can download it for PC, Mac and Linux here: Baby Ray and the Holy Grog GGJ 2020 Page
Please also check out the other games that our friends made at our office! The full list of Central Ohio Gamedev Group GGJ 2020 games can be found here: Central Ohio Gamedev Group GGJ 2020 Page
Of course, you can also browse the Global Game Jam website and play games made all around the world!
Our plans from here are to get back on the No Mercy and client work grind with renewed vigor and optimism... But, this jam experience has left us with an itch to flesh this little game out some more. Right now, you can play and beat it in around a minute if you know what you're doing. We also were unable to get some of our basic ideas implemented in time. So, this project is something we would like to put some more time into.
Obviously, the scope of Baby Ray and the Holy Grog is vastly, enormously smaller than No Mercy itself, and we do not intend nor want for it to take precious time away from finishing our actual game. But we also feel that it can be a worthy supplemental experience in its own right without very much more effort on our part. We aren't sure precisely what we want to do with it in the end, but we would love for it to stand alongside the main game as an aesthetically-pleasing piece of lore, or a more child-friendly alternative to the violence and themes of death of No Mercy. Perhaps we can use it as an impromptu backer-reward? Is a small side-game a better reward than a lore-comic? We aren't entirely sure, but this is what we're currently working through, and we would love to hear what you think.
We are really grateful to have the opportunity to do what we love every day. We are truly thankful to have so many supportive people who are waiting with bated breath for us to release our game! I hope this write-up has been entertaining or insightful. We are definitely planning to provide more insight into the development process of No Mercy in the future, so for anyone wondering about where it's at or how it's going, please be assuaged. We are fully devoted to completing our game and honoring all of the support of our backers!
Game development is a uniquely human challenge. We need time and space to breathe, to analyze our own processes, and to iterate upon our own ideas and existing implementations. Checking up on ourselves as individuals and as a team, getting a feel for where we are mentally and emotionally, making sure that we aren't burning ourselves out or sacrificing game quality for no good reason... These are all things we need to do to ensure that we will be right here making games and creative technology into the foreseeable future. We appreciate the gravity of the position we're in, and are looking forward to bringing all of you with us through our current and future endeavors.
Thank you so much for being here!
- Tom
Happy Holidays From The CEO
almost 5 years ago
– Fri, Dec 20, 2019 at 06:41:51 PM
Happy Holidays Everyone!
I know some of you know who I am, but most of you do not. My name is Chris Volpe, and I’m the President and CEO of Multivarious. It’s been a long time since I’ve given any kind of update, so I wanted to take a moment as the year wraps up to give you some info about who MVG is, where we’ve been, and where we’re going in 2020.
When I co-founded Multivarious many years ago, I wanted to create a studio that could support our local game development community and help others bring their visions to life. Back in 2012 we decided to really put in time and effort to grow the business and began working on our own project, Hatch-It!. We expanded our community efforts, cut down on additional projects we were involved in, and even started making use of our new office. Multivarious started to be the commercialization business for projects from the community. In 2014 I left my job at The Ohio State University and began working full-time at Multivarious. I was determined to make it the best game studio in the region. Several years later we start work on No Mercy: For Lorne Hope
No Mercy is a project of love, and since our Kickstarter we’ve been trying to work on it every moment we can, but unfortunately we can’t devote full time effort to it. MVG is able to live day to day through our work with clients and our expo GDEX (www.thegdex.com). We work with lots of cool companies to create interactive apps and experiences, websites, as well as games. We do a lot of work in healthcare and education, and we have the privilege of working with some of the biggest and coolest brands making great products that help people. But the result of that is that we don’t always get to spend as much time on No Mercy as we would like. In particular, this year as we had an offsite client project that took nearly 5 months of the team working on it. But I am happy to announce that for the past 6 weeks we have been full time, heads down on No Mercy. And even more awesomer...
We got INVESTMENT!!!
Since 2014 we have pushed hard to create a gaming industry in Columbus and we’ve been pushing to show the power of games to the City and other organizations. As you may imagine to say it has been an uphill battle, but in 2019 we formed a partnership with LOUD Capital which includes a financial investment in Multivarious. Through this investment we will be able to start building out the foundation of our larger plans around creating a Center of Industry for Gaming and Esports, as well as provide us with more opportunity to have more focused work on No Mercy. In combination with other opportunities we are working on for 2020, I hope that will allow us to increase our ability to work on the game at a good clip.
I know this was a lot of info, and to be honest I could probably have written several more pages, but I wanted to give you a good sense of who Multivarious is and where we’re going, as well as to assure you that we are excited to keep working on No Mercy to make it as great as possible. I also would like to personally thank everyone for supporting us over the years, as well as for your patience and understanding as we work towards completing the game. I know it’s a lot to ask, but I know that by taking our time and focusing on development we’ll be able to ship a great game to you all. Trust me, it’s taken longer than we on the team wanted as well, but we’ll get there!
I hope you all have a great Holiday and we’ll see you in 2020!
Chris & The MVG Team
Baby We're Back
about 5 years ago
– Fri, Nov 08, 2019 at 08:14:35 PM
Hey All!
It's been a bit! We've had a crazy year, which has been great for our studio, but has also meant that we also haven't had much time to work on No Mercy. However, we're happy to report that our core team is back and working on No Mercy as a primary project for the foreseeable future! We've spent the last two weeks shaking the cobwebs out of the project and starting to make some meaningful upgrades. So let's take a second, and talk about where we're at!
So most of you have already played our original Kickstarter Demo by now, and while we're still super proud of that demo, it only really showcases the basic combat of the game. Therefore, I'm super happy to announce that we're working on a brand new demo for No Mercy! As opposed to our Kickstarter Demo, which was created just for Kickstarter as a proof of concept, the new demo is being taken directly from the full game. This will allow us to showcase a lot more of the final game's tone, mechanics, and gameplay. While we're still in the prototype phases of this demo, we wanted to share a few screenshots of the new areas you'll be able to explore.
You may have noticed that these levels are looking a little rough around the edges. This is our prototyping stages! Essentially, we don't want to waste a lot of time creating visuals and designs for levels that just aren't fun, so instead we create quick visual passes with assets we already have (or rip from Google Image Search) that get the rough idea of the level expressed without wasting our limited resources. Then we start to layout obstacles and enemies to make sure that it's fun to traverse and explore. Once it passes this finally test, we cement the design and then really flesh out the art and backgrounds to the level that you've seen in our final demos!
So that's just a quick run through of how we've been building out the world of No Mercy. We're super excited to talk more to you about some of our processes in creating this demo and the game as a whole in our future updates, so stay tuned!
Before I go, our very own KevinBot, from our Discord Server (wink wink), wanted me to remind you all to make sure that you update your shipping address in BackerKit, if you've moved since the project was funded. I'm not really sure what he has planned, but you should probably do it by November 22nd... ya know, just to be safe. Just use your email that you used in the Kickstarter, and double check that everything is right, particularly before November 22nd. Am I being subtle enough? (November 22nd)
So I think that's everything! We're so excited to get back on track with the project, and really showing you what we think the next evolution of Brawlers can be! We appreciate you all sticking with us throughout this journey and we can never express how much your support means to us (until the game comes out at least!).