Posts

SPACE GAME Dev Log - Part 1: The Best Decision I Ever Made

Image
      SPACE GAME: DEV LOG 1        Now, it's obviously not gonna be called "SPACE GAME", that's just a placeholder title. But it will be about space.      I've been in a real slump lately when it comes to game dev. I have a tendency to come up with an idea, then continue to build on it until it becomes so intimidatingly complex that I can't even start working on it. Another issue is that I am not very good when it comes to the visuals side of game design, and when I really get invested in a game, I want to make it look good , so it gets put on the backburner until I've trained my art skills enough that I'm able to bring to life the vision for the game that exists in my head. As a result, most of my ideas for games never get made (or haven't been made yet , as I like to tell myself). So, I thought that as an exercise, I would just GO for it and make a deliberately small little game with very, VERY simple low-poly artwork - thus,...

Devblog 1.4: Monkey Fight - Scoreboard, Sounds, Lots of Polishing

Image
Apologies for taking so long on this update, all you loyal Monkey Fight fans. Since the last post, I've added a scoreboard, sound effects synced across the network, username tags above players' heads, and did I mention ragdolls last post? Don't think so. Firstly, username tags were a little tough to set up. I kept running into problems since the username was stored in static file clientside, and not only did I have to figure out how to send that to the server, but I had to sync all non-local nametags on the clientside so they always faced the local player's camera. This proved especially difficult because when a player respawned or a new player joined, that  new nametag would have to be updated to look at the local player. (Now that I think about it, I probably could have done that with some kind of local player singleton...) It ended up working fine, though. Usernames float above the players' heads and are slightly transparent. I had to jump through a couple hoo...

Devblog 1.3: Monkey Fight - Animations, Map, Movement & Vision

Image
Last time I said I would get to testing different ways of handling bullets. I haven't quite gotten around to doing that but I have quite a lot else to share. Firstly, I made a set of animations for the first weapon, the Bistol (Banana pistol, obviously), and another (identical for now) set for the DBS (Double Banana Split - I figured the Bistol model looked a lot more suited for a shotgun so I gave it two barrels - I'll remodel the Bistol later to make it unique). The original Bistol. The Double Banana Split, derived from the original Bistol. For the firing animation, I added a muzzle flash particle effect, which is surprisingly easy to accomplish in unity. I followed this video if you're interested. Since it's a first-person shooter, I also had to separate animations into first-person (which would be viewed by the client through the first-person camera) and third person (which would be used for all the non-client players).  The first-person idle animat...

DevBlog 1.2: Monkey Fight - Movement, Basic Animation & Network Sync

After the last post, I went about importing the main monkey model into Unity and figuring out how to animate it. Though I thought the model was humanoid enough, the rig's bone structure was, in fact, not human enough for it to use a humanoid avatar in unity, meaning I had to use a generic type. I spent quite a while animating a basic run cycle for the monkey, but it turned out pretty good. In terms of movement, I decided to give the player client authority. It just seemed like a first person shooter would be too clunky if the movements were handled serverside. More than likely, bullets will also be handled clientside.  I combined a basic character script for handling input with unity's builtin character controller for the movement. The player can turn a maximum of 90 degrees up or down, and the neck of the monkey model changes rotation with the player camera so other players can tell where they're looking. For gravity, I added a velocity vector to the movement scrip...

DevBlog 1.1: Monkey Fight - Premise and Ideas

Image
After a quick demo project using Mirror, an open-source high level networking API that I'm using as a replacement for the deprecated UNet, I'm ready to tackle a REAL project: Monkey Fight. Here's the premise: You are a monkey. You have banana-themed weapons. Free-for-all death match with other players, who are also monkeys.  Simple enough, right? Here's the kicker: Each player has an Ape Rage bar which increases in some as-of-yet unspecified way (through damage dealt, killstreak, what have you...) and, when full, allows you to activate Ape Rage mode, doubling your damage, speed, etc.  This guy, a rigged monkey model free from TurboSquid, will be our player. I've found that sorting by free on these types of sites is bound to give you endearing models like this one. Or this one: When I was originally searching for free monkey models, I found this dapper fellow, and I just had to find some way to fit it into the game: thus, the ape rage mechanic was ...