1. News are… interesting on the Online Multiplayer side. After much experimentation the contractor and I agreed that the approach we took for MC2 was just not the right way to go. Basically, the way we are doing things we cannot avoid strange synchronising teleportations all over the place, which make the game feel wrong. He is now busy building the UI and logic around online just so his side of the bargain is completed as we had planned, but, as things are, online is practically unplayable.
With all this said, we talked about a possible alternative way of approaching the online development where we would avoid this problem with collisions at the cost of some input lag. The contractor has agreed to try this approach and see if it makes the game better. This should happen shortly. We’ll see.
I must add, should this new attempt fail I WILL shutter online development entirely and work on finishing MC2 as a local multiplayer experience. Nobody is more sorry about this than I am, but I simply don’t have the budget to attempt such a lofty goal. I never thought that collisions would be such a difficult thing to deal with, but, if you think for a bit, you’ll notice that there aren’t very many online games where non-lethal collisions between players occur regularly and are as central to gameplay as they are in MC2.
I’ll keep you posted.
2. Not huge news on the PR side, primarily because I have very little to update about MC2… Last weekend I participated in a Game Jam, and I came up with a neat little game called AlterWare Tactics, which I spent some time polishing and I released online. I’m personally in love with it, and at home we play it regularly, for great fun. Our neighbours love it too. Here’s a video of us playing together:
3. I’ve managed to fix the logic flow of Soccer Mode based on the fact that the invasive online code affects all modes. Soccer now works flawlessly again.
That will be all for this week. Sorry about the bad news online-wise.
1. News are decent on the Online Multiplayer side. Collisions are difficult but we are making progress. They are starting to look decent more or less, though we still have teleportations happening every now and then and it looks less than stellar. Further we still need to synch all of the game status and replays. And all of this is only for Brawl mode. It’s challenging.
2. Our PR guy is doing fairly well. Our new “followable” websites and accounts are producing quite a bit of following, which I’m overjoyed about. Soon we will be posting an early version of MC2 on itch.io and GameJolt as well. We’ll keep you posted. In the meantime go here and upvote! https://www.instagram.com/MCCollider/
3. I’ve been fixing loads of bugs this week. I still have quite a few to crunch through due to the addition of the countdown system at the end of each match. I’m close to fixing Soccer Mode completely, but I still have work to do.
4. The replay system is really quite nice to produce sweet videos. Hopefully I’ll find the time to make some to show you soon. Sorry, too busy now.
5. Logo‘s improving too. Here are some of the options I’ve been sent for the monochrome logo. Opinions?
6. An important thing I should mention is that I’ve decided to do a Game Jam this weekend, to break the routine a little. No I’m not insane, I know I just said I was busy enough. However, I’d promised months ago I would participate, and I quite value my word, so I intend to keep it. The theme of the Jam is “alternate reality”. And here’s a sneak peak of the game I’m working on… Oh yes, multiplayer… again. 🙂
Bit of a quiet update this time around. I’ve been a bit sick and the Online guy has requested a week of hiatus for personal reasons, which I have granted.
1. No news on the Online Multiplayer side. Collisions are difficult.
3. The replay system is basically done for now. Most bugs have been resolved. It’s not perfect yet, far from it, but I’ve now moved onto other things.
4. I’ve added controller, keyboard, and mouse glyphs to parse in the text. This entailed creating the visual assets, and coding something that would be able to decide which ones to parse based on what’s in use. Surprisingly difficult, but I have managed to do a decent job so far. Here are a few examples:
Glyphs automatically changing based on last input:
Glyphs statically remaining on screen depending on platform and active controllers:
Static glyphs depending on player assigned controllers.
5. I’ve commissioned a logo for MC2. What do you guys think about this early draft? I quite like it.
1. The Online Multiplayer is, unsurprisingly, proving to be somewhat difficult to tame. Collisions are our main challenge at the moment. We’re working on improving their responsiveness. On the other hand, movement and events are all pretty accurate both on the client that called them and the clients receiving them.
2. Soon we are likely going to get a PR dedicated person. Hopefully he’ll be able to start by the beginning of next week.
3. The replay system is proceeding, with a pretty decent update this time. I’ve added camera control, timeline control, speed control and even the ability to targetandfollow a certain player. I’m focusing on hammering out all of the bugs for now, which is no small feat. Once that’s done, I will likely be moving onto other things, despite the replay system being nowhere near as polished as I would like it to be. While I knew this feature would be difficult to make (and in fact it only exists for Brawl mode at this time), I hadn’t quite anticipated how difficult and time consuming it would be…
Anyway, now you can achieve things like these when you want to watch things unfold. I think this is pretty cool.
4. A big problem emerged alongside the introduction of online. All of the game’s balancing has gone by the wayside, substantially. I was able to fix it, somewhat, but I do think it will need a lot more tweaking. I’ll likely write an article about this at some point in the future, as these insights may help other users in future.
5. I’ve rebuilt some of the models of the cores to reduce the impact their rendering had on performance. They are now less random in how they fall apart, which is a bit of a letdown, but a LOT cheaper to render. It’s all a matter of trade off, I guess. Here’s an example:
While before all of the independent pieces of the sphere on the right broke apart randomly and irregularly in approximately 40+ independent parts, now the entire sphere only needs the 6 parts on the left to render it all. And because these parts are regularly shaped, I can duplicate and rotate them as much as I need to to complete the sphere.
1. The Online Multiplayer aspect of the game is proceeding strong, with players being able to join and move correctly. The next step is accounting for the collisions correctly, which is not so simple, because MC2 uses a custom rebounding formula that depends on gameplay more than it does on Unity physics, at least when it comes to collisions. Also, jumping and charging need to be correctly synchronised among clients. We’re hoping we are going to have this complete by next week.
2. Added a new UI flow for the Online Multiplayer. Here’s two screenshots:
Oh yes, you will be able to play with local friends online as well. Not the full lobby, obviously, for that you should use Offline. 😀 But you will be able to look for 4 player matches with up to 2 guest profiles.
3. Added a countdown flow between rounds for Brawl mode. It’s going to be there both for Online and Offline. Players will be able to skipby pressing A. When all players skip, the countdown is interrupted immediately:
4. Negotiations ongoing with a contractor to take on marketing and PR. Meeting scheduled for next Thursday to possibly put a signature on that contract. I have high hopes.
5. The replay system is also proceeding, though not as fast as I would like. I’ve decided that all replays will be stored in the form of highlights (at least when it comes to Brawl mode), and players will be able to watch these highlights at the end of the full match, and save some or all of them, as desired. Here’s how the UI looks like at this time:
Also, some replay controls have been implemented, like starting / stopping playback, restarting from the beginning, slowing down the timeScale and speeding it up. Lastly, I’m happy to say I’ve managed to include audio playback as well, meaning that reproducing a collision at 20% speed produces a very low, deep collisions sound. Very satisfying, at least in my opinion.
6. For the curious out there, yes, I planted potatoes, carrots, aubergines (or eggplants for the North American crowd), peppers, tomatoes, cherry tomatoes… that’s it I think… 😀
1. We finally started working on the Online Multiplayer aspect of the game. And it very much is a “we“, as opposed to an “I“. I have offered a contract to a young man from Calgary and he accepted to work on the programming of the Online aspect of the game. Seems like a fairly solid investment so far. The contract is 1 month long, so we’ll see how that goes.
2. I’ve been contacting musicians all over the world to make the soundtrack for MC2. It’s been hit and miss, but I have found a few gems, which is encouraging. The goal, briefly, is to license younger, not as established talent, so I get to use awesome music, and the musicians get exposure, as well as money for their content (though obviously being less know I don’t have to pay them an eye and a leg). I’m looking for music that sounds “adrenaline pumping”, and ideally I would like faster paced dubsteppy stuff, somewhat like this (just an example):
At any rate, one of the people I contacted has much more experience than just music, and who knows, it may be possible I may be contracting him for something else in future? Will keep you guys up to date.
3. I’ve been working on the replay system. I originally wanted to have auto-replays after significant rounds. For several reasons I decided against that. Now I’m building a post-match highlight system, where all rounds can be reviewed (for now I’m only focused on Brawl mode). It’s coming along, but there still is work that needs doing in this area as well. It’s looking pretty good so far though.
4. Another interesting thing, especially for devs out there, is how much work I had to do with my lawyer due to the contracts I needed to assemble. Very interesting learning experience of back and forths between a man who uses the word “witnesseth” like it’s normal parlance, versus another man who uses the word “IEnumerator” as a substitute for a drawn out “hello”. Would be hysterical if it weren’t this important to get these things right…
5. This next week I need to plant potatoes peeps (LOL), so updates might be quite a bit less exciting… Sorry in advance!
What a week! I’ve been quite busy and I have almost nothing to show for it, hurray:
1. Started working on replays. A lot harder than I thought… I originally thought I’d use all of the same infrastructure and just record the input from the players. That failed, the results were unpredictable and often way off from the original situation. I then started collecting data about position, rotation, velocity etc from the players every small amount of time. That quickly revealed that the collision system would not respond correctly. I was close to giving up trying this myself and I decided to buy EZ Replay Manager, which is an asset from the asset store. That went poorly as well. The asset doesn’t store nearly as much info as I need it to. So I’m going to request a refund and continue working on my replay, especially because I think I finally found a decent way to do it, which involves collecting player data often and synchronously. Seems decent for now, but I still have loads to do. This here is how far I got. You can see that damage doesn’t work in replays, and I also want to adapt audio for replays too, which is going to be an… interesting task. 🙂
2. Got in touch with another programmer. I most likely will be offering him a contract to start building the onlinegameplay infrastructure. This is exciting, because once the game has online support, I’m thinking of releasing in Early Access on Steam… We’ll see. But negotiating the terms of the contract with my lawyer and this programmer has taken a substantial amount of my time this week.
3. I posted an ad on Facebook to get young musicians to license music for me to use in MC2. Went very well so far, though nothing concrete yet. Again, lots of negotiating and explaining via email and messages. I expect a generic contract for this stuff to be ready by Wednesday next week. In the meantime, if you happen to know any upbeat EDM musicians with a dubsteppy-bend, feel free to give them my contact info. I’m still looking for musical talent.
4. I’m beginning the design process for the MC2 logo… Stay tuned!
5. On an unrelated note, when you live in the countryside you grow stuff… and the season is here. I need to tend to my plants a little bit as well. Relaxing, but not helpful when you’re trying to build a game!
6. On another unrelated note, I’m getting more business for my tuition services locally, which also steals some of my time away!
Hopefully, by next week I will have some updates both on replays and on online! Work work work.
Apologies for being a few days late on the update. Calgary Expo required a lot of preparation and I couldn’t get around to this earlier. Here’s what I did this week:
1. Completed “Disc War” mode. I didn’t think it was going to be any good, but then I tried it with my kids and oh boy… I have trouble explaining the mode, but it’s exciting. People at the Calgary Expo seemed to also have fun playing it. It’s complete chaos!
2. Started working on a major feature… Replays. This one will take some time, because it’s hard to do and the game has a lot of moving parts I need to save often to recreate a convincing replay. I made good progress, but I have no idea if it even works for now. Will keep working on this.
3. I got in touch with another seasoned programmer about the Online Multiplayer aspect of MC2. I have a meeting with him on Monday 2018-04-30 to discuss the situation and whether we can collaborate. Looking forward to it.
Apologies for being one day late on the update. Here’s what I did this week:
1. Fixed a few cosmetic bugs with the soccer podium.
2. Disabled the Pause functionality during the start round countdown (which was really annoying before).
3. Kept working on the new mode, currently called “Disc War” (working title). Here’s how it looks like at the moment. As you can see none of the panels are working, the timer isn’t working, but the damage system and the disc are working. The disc physics are… peculiar. I cannot use the in build Unity physics system, so I have to build my own. To be frank, this is a little bit scary, because I’m not confident this mode is very good at all. I’ll make a separate article later discussing the design in specific.
4. Started preparing for the Calgary Comic Con showing. Yes, in Principle WILL be participating with MC2. Hope to see many people there! I don’t know what day (out of three, Friday 27th, Saturday 28th and Sunday 29th) we will be demoing, but I hope it’s going to be Saturday. I’ll keep everyone informed on Twitter and Facebook.
Not a great week, to be honest, in terms of work accomplished. Need to do better next week!
On Saturday, April 13th a trade show was held in my town of residence, the little, but lovely Raymond, in Southern Alberta, Canada. We had a table there, and I went with my two daughters. I expected a completely different crowd from the Calgary event this time, with a much larger contingent of kids. Here are a few pics of a few of the participants playing.
I should have taken more photos, really, but I didn’t want to catch the kids’ faces without the parents’ consent, and I was often busy selling my business to parents and grandparents, or observing gameplay for playtest purposes. I can assure you we had moments in which a natural audience who was just watching the matches unfold formed, which was encouraging. At the end of the day my voice was partially gone! 🙂
Anyway, back on track. During the event, my goals were:
1. Evaluating MC2‘s attractiveness with kids.
2. Convincing kids, and by extension their parents, that they want to learn how to make games, so that I could tutor them.
GOAL 1
I setup an easel with a red half on the left and a green half on the right. The left was the NAY voting area, the right was for YAYs. I had already done this in Calgary before with a different audience, but this time I made a crucial change. I decided to draw a bunch of doodles myself in BOTH categories. My hope was to reduce the pressure of being the first person to say “no, this game is bad”. Anyway, without further ado, here’s how the “survey” turned out:
You will notice that I took the liberty of interpreting the 3 “yes” votes on the left as positives, as they were in stark contrast with the question above (I only now realised that the top reads “Should we continue”, which may be interpreted as a question in and of itself).
I decided to count the smiley face on the left as a NAY as well, but given the expression of that smiley I suspect that may be a positive vote too.
In the middle there is a smiley that is half on the left and half on the right. I decided to count one per category. At the end of the day, the kid that wrote that sign told me that the only thing he didn’t like was that it was difficult to tell where his sphere was when it was high in the air and its shadow wasn’t visible. I can see where he’s coming from, to some extent, but I’m not sure I want to do something about that at the moment in terms of programming. I also have a little trouble believing his judgment as being impartial, because he kept coming for more and more, and queuing up to play. He was trying to win the contest… badly. What contest you say? Oh my what a segue!
GOAL 2
I decided to set up the following contest: any kid who, in a 4 player Brawl match would be able to beat my 8 year old daughter would win 5 hours of free game dev tuition from me. There were 5 available slots of 5 hours each. All of the winners would get approximately half of the in Principle Learning Absolute Beginner course for free.
This was very popular with the kids. But I had thought this out quite thoroughly. I knew my daughter was good, as she is my chief playtester, but I also expected her to have some trouble when 3 people would gang up on her. I decided not to put any limitations on how many times people could try and beat her, meaning they could get substantial practice in, before challenging her. On my end, this would have been the perfect opportunity to evaluate if MC2 is in fact easy to pick up, and at least somewhat harder to master. I can say with confidence that, at least when it comes to kids, this is definitely the case. Of the 50+ kids who tried to beat my daughter, repeatedly, only 2 managed to do it, and only after they practised for quite a while. Also, bear in mind that “beating my daughter” meant being 1st out of 4 in any match where my daughter was also playing. So with the fact so few managed and that my daughter is still a child, with all of the cognitive and self control limitations this entails, really gives me confidence that I’m achieving the design I want to have.
On another note, many children would keep coming so my booth turned into some kind of glorified babysitting station, where parents would come look for their kids if they’d lost track of them, which was funny, but also gave me several opportunities to chat with the parents and hopefully convince them that they wanted their kids to learn how to make software, with my help, of course.
It looks like my efforts worked, more or less, because I’ve been contacted by five families recently with an interest in taking the Absolute Beginner course. Hopefully there will be more and hopefully these will result in more tuition work! We’ll see.
Anyway MC2 is very much universally liked by children, who were even asking me where they can buy it, at which point I explained what an alpha build is. The event was awesome, the kids were awesome, my kids were and are awesome. All is well!
Here’s one more pic, with a great kid who jumped from his seat every time something emotionally involving happened…