Wednesday, May 31, 2017

Pause

Sorry for the lack of updates recently, but allow me to give you a reason as to why, and formally say that development is on pause.

It is the end of the school year, and as someone who is in High School I have to worry about studying for exams and doing everything I can to keep my grades before the school year is over.

This is very time-consuming and so very little time has been able to be dedicated to the development of The Colony, and I've decided that until the school year is over, that it is best to pause development. I estimate that this will last about 10 days or less.

Thanks for reading, feel free to leave a comment, and I'll see you in the next one! :)

Saturday, May 27, 2017

Colony_22 "New Items & Defining Items"

Made improvements to the game's lighting, and figured out some core blocks for items.

Added Items:
Lumber
Makeshift Knife

Nulled Items:
Large Log
Small Log

I've decided to make the 'large log' and 'small log' null or non-existent. It will still have an ID in the code and will always be a part of the game, but you'll never actually be able to encounter the item while playing the game. This is because rather than repetitive things like chopping large logs to get small logs or needing large logs for this or small logs for that I decided I would just classify it all as Lumber. Lumber is a separate object to replace the small and large logs.

I'm not removing the large & Small log from the game because it would mess up the ID order. I've already programmed in the objects after small log and large log with a certain ID and if I were to remove the large and small log then I would need to change the ID of all other items in the game. So consider large and small log as non-existent as they will never appear in the game.

I'm working on making items equipable right now, but first I've figured out how I want items to be organized:

Crafting Material
A natural (non-refined) resource that can be used for crafting

Component
A crafted item used to make more advanced crafted items

Tool
An equipable item that is used for gathering or harvesting

Weapon
An equipable item that is intended for killing or self-defense

Trap
A placeable item used for trapping or harming

Clothing
An equipable item intended for wear on the character

All items in the game will be placed into one of those categories.

Thanks for reading, feel free to leave a comment, and I'll see you in the next one! :)

Thursday, May 25, 2017

Colony_21 "A lot going on"

So much going on that I can't even begin to explain (mostly because I have foolishly not been writing stuff down as I go). I've added some storyline items to the game that I cannot reveal because I wouldn't want to give anything away. But I fixed a major problem with the system so far, and thats been picking up items.

As it currently stood to pick up items was based on if your cursor was over an item or not and within a certain distance. This was a failed method due to it having great difficulty detecting if your cursor truly was over the item or not, but a new method has been implemented that even features some anti-cheat methods.

Most of the game will be able to be cheated because it's a singleplayer game and I don't mind people having fun, but this specific instance the anti-cheat I added was necessary.

I also fixed up quite a bit of the weather system, I've figured out how I want the rain sounds to play I just haven't implemented it yet. Basically, it's if the player is under the rain cloud then play a 2D rain sound, and if the player is under an object then play a different 2D rain sound based on the object. This way rain will sound different when you're in a house or under trees than in the open. I've got some idea on reducing rain lagg, but that will also be a long process.

And finally, a majority of work was done to programming so there is not much to show, I've reduced the amount of lines the inventory manager needs to operate and I'm now working on making so the player can equip tools.

Thanks for reading, feel free to leave a comment, and I'll see you in the next one! :)

Tuesday, May 23, 2017

Colony_20 "Weather & More"

The biggest thing about this update is: Weather! Weather is a very dynamic system in my game. The game does not simply state if it is or is not raining, but rather your location defines rain.

When the game decides to start raining it then spawns in some rain clouds. Those rain clouds then produce rain. You can see rain clouds in the distance. Rain is not guaranteed, rain clouds could miss your location entirely. Quite literally you could watch a neighboring island get rained on while relaxing.

I had this completely in mind when designing the weather system, weather is based on location and it's not guaranteed to hit you every time. As it currently stands there are only two problems with this system:

1) The lagg
2) It produces no sound

I have a solution to the first one, which is to not render the rain of a rain cloud if its X distance from the player, or to display a flat image 'representing' rain. But I have no solution to the second, figuring out 3D sound for rain will definitely be a tricky one.

Sorry that this is a short update, weather is a really big deal but I don't like giving away gameplay. I plan on making a second reveal trailer when more gameplay is done.

Thanks for reading, feel free to leave a comment, and I'll see you in the next one! :)

Monday, May 22, 2017

Colony_19 "Further optimization"

I had to develop my own optimization engine because I couldn't use Unity's default. By default Unity terrain only supports trees that have two things: A mesh, and a collider. Since trees in a survival game need to be able to do things like get chopped down, and be interacted with, this doesn't work. So I had to design my own scripts to manage objects in the world, and it REALLY reduced lagg. But the fact of the matter is there are still a lot of things in the scene, and even though the player stops rendering a lot of objects after a certain distance, it's still in a circle. Meaning that the player is still technically rendering trees behind and to the sides of the player, even though the player can't actually see them.

I was getting around 40 frames in my own game, but after implementing Occlusion Culling I get a full 60! Occlusion culling fixes exactly what I just complained about, it makes so the game will only render what the camera sees. This along with my own optimization engine is making the game really good at making the game run well!


I've also added sound for when you pick up an item. I'm happy to say that a majority of sounds in the game so far have been all 'home-made'.

I also fixed a bug where the player could no longer interact with their inventory. This was due to the new notifications UI at the top of your screen overriding the collisions of the actual inventory.

I'm working on a big weather update that I hope to release tomorrow!

I've also added a hotbar visual at the bottom of the screen. It doesn't do anything right now, but it's there.

Thanks for reading, feel free to leave a comment, and I'll see you in the next one! :)

Sunday, May 21, 2017

Colony_18 "Lighting, sound, and popups"

Once again I've made more lighting improvements to the day/night cycle, and I have more improvements planned for the future. This particular improvement changes the fog depending on the time of day.

Made so you can drop items from your inventory, although this needs quite a bit of work as right now it gets rid of the item from your inventory, but it doesn't actually drop it on the ground, it just fades into nothingness.








Fixed bugs related to the shore sound effects, and reduced the volume of the bush sound effect because you could hear static.

I've also added a popup at the top of the screen, currently, it only tells you when you've picked items up, but it can be used for more useful notifications in the future like a players diary, notes, or map.



Sorry that these are such crappy screenshots for this one, I'm trying my hardest to keep these posts interesting without revealing anything about the gameplay or the graphics of the game, because the last thing I want to do is ruin them for you guys!

Thanks for reading, feel free to leave a comment, and I'll see you in the next one! Stay awesome :)

Saturday, May 20, 2017

Colony_17 "Birds"

The 17th update! And it's a big one, but mostly in programming again. Birds now move tree-to-tree over a period of time rather than teleporting, and some improvements have been made to the optimization engine:


As the optimization engine currently stands, it renders objects up to 120m away, then it only renders a flat image of that object for up to 175m away, then it doesn't render the object at all.

This is individually set for different objects, those are the settings for things like trees, but smaller items like rocks and such stop rendering a lot sooner.

I've also made the terrain a bit more bumpy so it wasn't so flat (that picture was taken before I did that) and I gave the birds a new placeholder model:



It may not be the best looking in the world but for testing it's perfect. Easily spotted, and you can at least somewhat tell what it is.

There's also quite a bit of programming going on here, changes to scripts that will control other animals to the future and new inventory features! The code managing inventory and crafting is over 700 lines now! But some of those new features aren't fully done yet so I won't post about them until the next update.

So far we have inventory, crafting, picking up items, birds with 3D sound and actual movement that land on trees, a day/night cycle, and many objects and a few recipes in the game, along with an optimization engine to help those on lower-end PC's. Sounds like things are going pretty good to me!

Note:
Sorry for the images being a bit darker, I haven't been messing with things before testing and by default when you start a new game by day/night cycle starts the time at pretty early in the morning.


Thanks for reading, feel free to leave a comment, and I'll see you in the next one!  :)

Friday, May 19, 2017

Colony_16

We haven't seen any real screenshots in awhile, let us get one of the game as it currently stands!

It's not much but it's a sneak peak! I've also got a sick animation of a log getting pushed into the sand:

A good portion of this update was fixing things like lighting for the day/night cycle, I also added a new item & recipe (rope) and I've made more improvements to the optimization engine. But other than that most of its debugging and new programming. A few new sounds have been added like opening and closing your inventory.

Oh and I've added birds! All they do right now is move tree to tree, but there's a lot of programming in that. They also make occasional bird noises, so when you hear birds or other animals in the game, just know that it's not random game ambiance, every sound has a source. Except for maybe wind.

Thanks for reading, feel free to leave a comment, and I'll see you in the next one!

Wednesday, May 17, 2017

Colony_15 "Generating, Optimizing, Sun-ify-ing?"

It's complete! The full generating system for spawning objects across the terrain! I've also worked a lot on the custom optimization scripts I've implemented, and I've also got a cool sound thing going:



Each of those blue spots gives off an 'ocean shore' sound so when you're near the beach it sounds like the waves are brushing up against the island. BTW this is also the new test island because I had to get rid of the old one in order to make my generating script to finish working. I wasn't going to show you a GIF of the optimization because I didn't want the starter island to be ruined for the sake of gameplay, but since I'm not using it anymore:



The center of that circle being the player as trees generate around him. That may not look big but that island is quite literally 500x500m. That's half a kilometer in length and width! Of course it wasn't even close to being done, but that doesn't matter now that it's no longer in use.

So here we are, the player can use an inventory, pick up items, craft a few things, and the world generates trees, bushes, and other objects. What more could I use? Oh yeah, a sun cycle!



I've programmed in a day/night cycle. As of right now the days and nights last 24 minutes for a total of a 48 minute day. I've developed a system where I can change the rate of time and the sun will adjust accordingly. I will be making a post tomorrow on how the cycle system fully works.

With all this implemented the only barrier in my way now is developing the player some arms, and making so the player can equip tools then after that programming will become a lot easier in terms of implementing more gameplay features!

Thanks for reading, feel free to leave a comment, and I'll see you in the next one! :)

Monday, May 15, 2017

Colony_14 "Shrink & Optimize"

I've been attempting with the help of the Unity forums to develop a script that grabbed the textures of the terrain and placed objects accordingly, and for some reason this is not supported by islands larger than 1km (doesn't make any sense, but meh). The original island was 1x2km, but I've decided that the main island will now be (roughly) 1x1km due to this new error.

Also I've been very worried about the new graphics change because it introduces a lot more vertices and higher resolution textures than before, but I've come up with a solution! Rather than relying solely on Unity's optimization engine I've developed a few things on my own such as:

Not rendering objects after a certain distance
Disabling physics for an object after X amount of time
Disabling colliders after a certain distance

That way if an object is far away from a player it won't fill your computer trying to calculate physics, colliders, or what the object looks like.

Sorry there are no screenshots, but this is mostly an optimization update.

(and technically the smaller map size will be easier on your PC, so meh)

Thanks for reading, feel free to leave a comment, and I'll see you in the next one! Stay awesome :)

Saturday, May 13, 2017

Colony_13 "Graphics Overhaul Update!"

Edit:
Also big update! I'm changing the name of the game from "One Man Colony" to "The Colony". It's a good thing I made the project name Colony, so I can still keep that as the project name!

The island is under heavy maintenance, as of right now the only thing that exists is trees and even those have a 100% chance of changing in the near future, but without further delay I give you the graphics overhaul update!




A big improvement, huh? The problem with this current update, is that the trees needed to be re-scaled multiple times and after having re-scaled the trees, there are too many of them! If you're on the forest floor there are so many leaves that they quite literally block out the sun.

I also want to do some more work on the ground of the terrain, a bit more work on the lighting, and probably making the trees a bit taller. So there's a big to-do list!

I'm also working on a script for generating bushes, sticks, and rocks so there'll be things to pick up on the forest floor!

Thanks for reading, feel free to leave a comment, and I'll see you in the next one! Stay awesome :)

Friday, May 12, 2017

Colony_12 "Overhaul"

As you were notified in the last post, I'm reworking all islands and graphics and its having amazing success! I've decided that I am incapable of producing anything but low quality environment assets.

I've finally accepted my limitations in terms of 3D development, that when it comes to creating models of living creatures or enviroment that I'm just no good at it. There are a few things here and there that I can do, easy things like boulders, logs, sticks, but things like trees, bushes, grass, etc. are outside of my field. So I've decided to get some from the Unity Asset store to use for developing my game, and I found the perfect ones!

Now I'm designing a super fancy main menu. and I've got most of the scene setup:


Consider that a preview of the new graphics!

Tomorrow I'll have a real environment update for you guys, so get ready!

Thanks for reading, feel free to leave a comment, and I'll see you in the next one! Stay awesome :)

Saturday, May 6, 2017

Colony_11 "Reworking visuals"

Sorry for the really late post, it's nearing the end of the school year and things get a bit chaotic during this time period

I've deleted all the previous islands and I'm starting fresh. They were great for testing, and they taught me a few things about what I should for terrain, but now it's time that I make something more permanent.


It's not much now, but it's the perfect foundation for a brand new large island! I also plan on re-designing the trees, adding new ones, and adding more foliage.

The crafting system is fully functional and if you don't have enough room in your inventory, it drops the item. The inventory system is fully functional, now all there is left is to make resources you can gather, make more crafting recipes, and make so you can equip items.

A big focus right now is going to be on terrain though, since visuals are what a game is usually most judged by.

Thanks for reading, feel free to leave a comment, and I'll see you in the next one! :)