Friday, 2 May 2014
Apparently today is the third anniversary since I started this blog. Whoa and whoa indeed! I wasn't paying any attention to it so I'm quite surprise to got an email saying it's been 3 years. It means that it's 3 years since I started this with the hope of making it as a full-time job. It also means that it has been more than 3 years since I first come across Unity and start using it.
It shouldn't really come as a total surprise since I made it past the first two years I should be able to make it past the third, considering the fact that I'm quite cautious and wouldn't have done this if I don't think it's viable. Still given the unpredictable nature of the industry, the fact that I manage to survive for 3 years has to count for something, right?
Well, I'm pretty pleased that compare to this time last year I've taken the big leap of making a full blown game with my own Asset. I'm speaking about MechCorp of course. What gives me the most satisfaction out of the project so far is that I've learned quite a lot trying to make all the asset myself. Hopefully I would be able to bring it to beta state within the next few months.
Then I'm very grateful that the my packages on AssetStore has been doing reasonably well. If you are one of those who has purchased and used my package and you are reading this, a huge thanks to you. You made it possible for me to concentrate on project like MechCorp. I do hope that I can make framework like TDTK and TBTK. It's lots of fun trying to prototype different ideas on various genre without having to worry about the assets and making it into a end-user product. And seeing what people can do with them is really satisfying. But I've set myself quite a high standard to match with TDTK and TBTK. Despite my many experiments, anything that I deem not hitting that same standard will not get developed into a full framework to be put on AssetStore.
It's nice looking back at all the thing I've done to think how much I've progressed and all. But I really hope I can get MechCorp complete by this time next year. I mean, finally getting my own full game completed and released is surely a better cause to celebrate than some anniversary, right? So the resolution for the next 12 months, keep working I guess.
With that said, back to Work!
Thursday, 1 May 2014
I've fell quite behind the curve if I'm honest. I'm pretty much still stuck with Unity3.5 for the most part, due to the none backward compatible nature of Unity and the need to support my package (TDTK,TBTK and InputTouches) for 3.5. Until recently I've shifted to 4.2 to take advantage of certain new features for the more recent project. Even then, I'm still clueless when it comes to mecanim, the new sprite system and what have you.
So I took a day break from my usual grind to try on new shinny things that I haven't try before. I start with the navmesh generation. Generating a navmesh is easy enough. Minutes later I've started to script a very simple chase agent. Before I know it, I have a simple prototype that very much resemble what I have in footman, only it runs a lot more better because I've learn how to code properly since the infancy of my game-dev days. And more importantly it has a proper path-finding system and more advance collision detection and avoidance.
Quite satisfied and impressed, I push on to see if I can do a RTS style unit command. It goes without saying, that opens the flood gate and this is what I end up with, so far.
It's not a full game obviously but pretty much all the basic elements are there. Building construction, unit building, melee unit, range unit, builder unit, attackable building, unit command, etc.. Forgot resource gathering maybe. When I decide to take a break from my MechCorp again I guess.
So back to the point, Unity navmesh is pretty awesome. It would be perfect if the navmesh can be dynamically updated/edit in runtime but that seems to be a pro feature in 4.3. But you can still get quite a lot out of it. A RTS even. but you will need to compromise a bit. For RTS, that means buildings can't be placed too close to each other. There needs to be a gap large enough for the agent to move through or they will simply got stuck between building. Then you can only use NavMeshObstacle on the building to block any walkable area. Which restrict the building footprint to a circular area, which occupies much more space than it needs to avoid unit clip into building. Put this two together, it means that the building must be placed quite far apart. much more than what it seems to be visually optimum. Even then the unit navigation may still get a bit wonky when trying to move through an area with concentrated building placement.
All this bring me to another delicate matter, PathFinder. I'm afraid the simple fact is it has became obsolete. Unity navmesh is simply a better solution. I'm considering to take if off AssetStore. Hope that doesn't cause any issue or upset anyone.