Been a while…

So I haven’t posted in a while. Largely due to laziness and forgetfulness. I hang out a lot in a game dev slack channel so don’t feel the itch to post on the blog much. Either way, here’s a new post. I was slowing down a lot on MVM. the basics of one mech is done, but I have to work on things like customization as well as getting the monsters set up and ready (which I haven’t even come close to starting.) The way I programmed the mech controller allows for different weapons to be swapped out pretty easy, but I didn’t do the same for the core of the mech (body, legs, shoulder pieces, cockpit). So it’s going to be a lot of work to get that all in place. It was kind of depressing as to how slow I was getting things done. As such I worked on something in a gamejam like style. I wanted to make a maker.

In the first weekend of effort, I was done with this:

 

Which was a great feeling to get that much done in a weekend. It works pretty nicely, had some issues, but still, overall, works great. Tilesets are generated automatically when the level is loaded, so even if there is a visual mess up like when you delete a grass tile, it’s fixed on next load. I had coin blocks, placing tiles, player and camera movement, it’s truely a great start.

The next weekend I had to work on it, I got a lot more done. I added invisible coin blocks, fixed the unity line issues, and with unity 5.6 beta I was able to use the combined collider system to fix the sticking on the ground. I also added in variable jump heights based on how long you press the key.

 

I’ve since also added regular coins, an end point, and slimes(goombas) so it’s coming along. I need to add a lot of content still, but the base is extremely solid. I’m going to be working on the menus for basic functionality next. This is so that I can get it out there for others to start making levels, even if it’s in a limited capacity. But that’s where it stands right now. I need to work on this a lot before the next meetup since I’ll be showing it off there. 😀

Public Demo Incoming…

So, that public demo is tomorrow. As such, I finished up the automatic split screen spectator camera. It’s a third player effectively, since it connects like any other player, then just disable’s it’s player object so no one can kill it. I decided to go back to just the one plasma stream thing in the center. This seems to take away less from the gameplay. Beyond that, I have the camera’s working. They sit around 10 units behind the player, unless there is a wall between the player and the camera, in which case it’s directly against the wall. Here’s what it currently looks like.

 

I’ve also fixed a few bugs. The scoreboard wasn’t updating properly for some reason and that took a while to track down. Not that it wasn’t working, but it was disabling itself. Apparently I somehow accidentally made it a server only object. O-o whoops. Only took like an hour and a half to track down. I also fixed bullet holes not showing up over the network, but somehow I can’t figure out why the explosion holes from missiles aren’t working right. I’ll figure it out I’m sure, but probably not before the demo tomorrow. Hopefully I’ll have time to hook up the health/heat bars on the split screen before the demo.

 

That’s all for tonight. Night all.

Preparing for the first public demo…

On Tuesday (December 13, 2016) there will be a local game dev co-op christmas party in which people have been allowed to show off their games. I’m expecting a decent showing of around 75-100 people, maybe more. (I just kind of throw that number out there based on last year) So, there’s a potential for a large group of people to play my game. Test it out, report some bugs, things they like, don’t like, etc.

 

Cause of this, I’ve started to prepare a split screen client to show on a second monitor. This will show a split screen view of the desktop player and the laptop player. The camera will be third person behind each player and look at the opposing player. I didn’t want there to be a harsh line between cameras, so I got cracking on an interesting idea to have them separated by a moving, dynamic lightning/plasma like thing. I found a decent enough free lightning shader on the unity asset store, and I modified it slightly to suit my needs. Here’s a video with the current version of the split screen (though the camera’s aren’t following players yet).

 

 

The process of doing this actually takes 5 cameras. 1 camera to create the mask, 1 to create the blueish “lightning” overlay, 1 for the first player view to a render texture, 1 for the second player view to a render texture, and 1 to merge it all together.

 

To my knowledge, Unity doesn’t allow you to directly mask a camera, hence the render texture part. Since the two player cameras render out to a render texture, we can use those textures on the current UI system’s “Raw Image” component. If we then make that a child of the Raw Image of the mask render texture, we get the left camera being all wavy like we want. Then we just layer the actual lightning overlay on top of everything. The right camera doesn’t actually need a mask, since the left camera is layered on top of the right. I “could” just overlay the left camera on top of the right without using the texture, but it’d be harder to get the right aspect ratio and such then. This way it’s all the same for left and right, so there’s no after the fact clean up.

 

Is this efficient? Heck no, but it works, and since I only have one day left to get this split spectator cam working and getting all the other stuff tightened down, it will work for the time being. Even if it takes extra rendering, it’s just not bland this way. It takes this project into a more visually appealing place. Even though this game is still in pre-alpha stage, it adds a bit of extra polish, and that sticks out in peoples minds a lot more. Even if your product isn’t “finished” doesn’t mean you can’t polish it a bit. 😀

 

Have a good night all!

Hello all!

So, the entire site isn’t quite running, but I wanted to do some blog posts about current progress in MVM.

 

MVM is a side project from my full time job. Hopefully it will be able to sustain me in the future, but we’ll just have to wait and see on that. Anyway, to this point in time, I’ve gotten multiplayer working, an automatic quick host/quick join system (which I may or may not be taking out later), registering/logging in, options menu, and a fully playable deathmatch mode.

So, it’s coming along pretty nicely. I’ll start posting from where I currently stand so that others can see the progress as well explanations of why I did what I did. Enjoy!