Tuesday, 23 April 2013

Future CRPG Developments

Thanks to those of you who were kind enough to send me documents, resources and even your own 3D models for Unity 3D. I've not had the chance to go through everything yet but they look really useful and have given me a real flavour of the possibilities of development in Unity. I've decided that I will be moving my development projects over to Unity 3D from now on; the benefits far outweigh the negatives in my opinion.

I believe I must have spent hundreds of hours working on my Alternate Reality port development and if I'm honest it's not as complete as I expected it to be. If I'd known when I first started looking into it and poking around with the maps that I'd still be working on it in 2013 I think I would have run a mile! It's become very hard work at times as the project has reached a significant size. I've learnt a lot from working on the project and I'm still learning all the time as well as improving my skills but a lot of my time has been spent "recreating the wheel". At this point with some significant code changes needed in ARX to properly handle objects I don't feel it would make sense for me to continue using my current home brew system.



Trying out a free model in a Unity scene

Unity 3D has the advantage that it's an all in one development system so I can do a search on creating a mini map, an inventory system or rain effects for example and I will get dozens of links and videos suggesting how to produce the effects or functionality I'm looking for. It's all provided in one, nice integrated package. You only need to do a quick search on YouTube to see there are hundreds of tutorials and examples of Unity and how to use it. Compare that to my current development where I need to read up on issues relating to C++, OpenGL (for 3D), SFML for my media library and Visual Studio or Code Blocks for my development environment. That's a long list! SFMLs use of OpenGL has also nagged me a bit as many Windows players don't have the correct OpenGL drivers installed. I'll be doing some tests on older kit with Unity to see how well it runs.

Once you have a working Unity game you can publish it to Mac, Linux, Web and mobile platforms relatively easily (ok I'll need to buy into optional upgrades of Unity for Apple IOS and Android versions but it's there ready to tap into when the time is right).



Web Player, PC or Mac?
Now I'm not naive enough to believe that Unity is going to write my game for me but I do think it is likely to make me more productive and so far I'm having fun using it which is why I started doing this in the first place. I'll still have to write lots of code (in javascipt, C# or Boo) but there are thousands of examples online and it all appears to be well documented and a lot of the core game functionality can be handled through game objects or properties. So far it's been a pleasant environment to work in. So far I've had an on screen graphical inventory up, a menu system and and my own mountains and wilderness to explore created in very little time. I think once I've got a better grip on the basics I believe I'll be able to make much more rapid progress.

When it comes to creating additional scenarios or environments the other problem we're already running into is limited art assets. Unity has an extensive asset store with a mixture of free and payable assets, many of a high quality. It also supports a variety of 3D model types. It took me minutes to find and download some reasonable free models and import them into my Unity scene.

From the messages I've received most people seem to think that Unity is a good move forward. I think it will provide some security for the project as Unity seems to have a large community and in the event that I stopped working on it, others would be able to pick it up and continue work. A more polished engine and game are likely to get more players interested in the game who will in turn improve the chances of the complete series being developed.

Hopefully you'll agree that this is the right way forward and still feel supportive towards the project. One chapter may be coming to a close but I think an exciting one is about to begin.

Monday, 15 April 2013

Exploring Unity 3D

I've just got home after being away for over a week so I've not done any further work on Alternate Reality X during that time. However I spent a few hours today familiaring myself with the basics of the free version of the Unity game development system and I'm pleased with the results so far. On first use it seems like a very powerful system to use.


Exploring the Wilderness in my first Unity 3D effort?

I've tried out Unity before but have never really sat down with a clear objective in mind and tried to learn some of the basics. I'm reading Beginning 3D Game Development with Unity by Sue Blackman and so far I've managed to put together a few scenes and have my character move around in a full 3D environment. After creating some simple terrain using the built in tools and then adding mountains, hills and clearings I was able to add my character and walk around the landscape I'd just created. I have to say I enjoyed the moment where I climbed to the top of a clearing and a series of mountains loomed into my view.

My map from above and players view in the game window

I also played around a bit with creating the user interface and found some nice free assets on the Unity web site for creating menus, text and buttons. I've also been researching how Unity would work for more traditional 3D Dungeons and walls such as those in but without the limitations or visual restrictions that my current system has. From my research and the contents of the book it seems that people have used Unity to create all sorts of games from role playing games, first person shooters to 2D point and click adventures.

The next thing I'm keen to try is converting one of the City or Dungeon maps into a Unity scene with a few nice extras which I would have struggled to implement. I'm excited by the possibilities but I won't rush into making any decisions just yet.

Let me know what you think.