Over the last couple of weeks a number of people have asked me what I have been up to, and have asked for further details when I have said that I am using Unity as the base for a number of virtual art projects I am working on. So here is the beginning of a series of posts that will outline some of this stuff. I will, over time, include some tutorials, but this post is more of a “with what?”
The above is an image of a (rather rudimentary) test environment that has perpetual content, multi-user real-time avatar interaction, avatar chat as well as shared static content. It uses the following components. (Pretty much all the software here (except VMware Fusion) has a free, basic or community edition) :
1.Unity : I am working with Unity Pro, but as far as I know most of the things I am working on would also be possible with Unity (free).
2.Visual Studio Express C# 2008 : Development environment for coding C# for Unity. The code (almost) half writes itself using this tool.
3. VMware Fusion: Because I use a mac this lets me run Visual Studio.
4. Windows VPS (Virtual Private Server): I have chosen to run the remote server side of these projects on a Windows VPS because I can then run an instance of Unity on it, and hence develop a large proportion of my server side code within the Unity environment. Tektonic have stable and affordable windows based VPS solutions.. The server specs do not need to be built for 3d graphics as you can run Unity (at least with Unity Pro) in -batchmode which runs game logic but does not render and graphics.
5. SmartFoxServer 2X : For less than 100 concurrent connections SFS2X is available as a community edition (ie: free). With a little perseverance with the documentation and converting action script to c# (many of the examples on the smart fox site are flash based) SFS2X provides a stable way of managing user connections, database management, keeping track of perpetual non-static content etc. Communications are also handled by SFS2X including user chat, messaging between client and server and database requests.
6. Eclipse : SFS2X server side scripting is done in Java, so I have also added the Eclipse Java development environment to my toolbox.
7. MySQL : installed and running on the Windows VPS. Database storage for everything the Virtual World needs to keep track of.
8. HeidiSQL : installed on the VPS to administer and view the database.
9. Remote Desktop Connection : To connect, view and administer the VPS.
That might be it for the moment? Next post I will explore how some of this stuff actually comes together.
** Remember : Unity is a game engine and development environment. It is not a Virtual World. It is a tool – a tabula rasa on which you can build pretty much any interactive real time experience.
Good to read up on your stack! Thanks for posting.