Dec/31
2009

[This is a featured post, scroll down to access more recent entries]

Welcome back, I haven't written a tutorial in a while so I thought I would make this one worth having waited for.

The purpose of this guide is to help you, the developer, to create a networked virtual environment without having to do any coding whatsoever. It goes without saying that the fastest methods of content creation are usually the best when working as an independent professional (or even as a member of a small team). With that having been said, I'm aware that this information is highly sought after and that I could probably benefit more by selling it as an eBook. As things are however, I will be providing this information free of charge (88|) with the only cost being for the project file ($2), should any of you want it. Moving on, we need to discuss the following...

  • The difference between an authoritative server and a non-authoritative server
  • The different server solutions Unity supports
  • The SmartFox multi-user server

  • An authoritative server, understood in the context of gaming, is a process which simulates the virtual environment and updates all clients/users with objective data. As an example, if we imagine a group of physics objects colliding with one another, an authoritative server would simulate the collisions by itself and update the client(s) as changes occur whereas a non-authoritative server would simply ignore the complexities involved with the simulation and not bother updating the clients (which then leads to inconsistencies regarding what each user sees). An authoritative server is significantly more complex to create/set up than an otherwise non-authoritative version, it is also more demanding of system resources. This is an incredibly brief summary of a subject which is infinitely more complex than I have hinted at here but, for now, that's all you need to be aware of. We're going to look at a non-authoritative solution, just the very basics. Unity does have its own built-in solution for creating multi-user environments. It is, however, a bit more complex to set up than the method I am about to show you. Some alternatives to Unity's integrated solution are SmartFox, NetDog and Photon. Today, we'll be looking at SmartFox. A bit of background, to quote from the SmartFox website:

    SmartFoxServer was originally designed to specifically target Flash Player based applications and games. Thanks to its popularity it has quickly gained interest among other technologies such as Java, Director, .Net/Unity 3D etc...

    So, moving on to the first step on the next page...

    Pages: 1 · 2 · 3 · 4 · 5

    Feb/08
    2010

    It just keeps getting better and better for Unity developers. Those of you who read Nicholas' blog at the main website will be aware that they're 'scrambling like mad' to add support for the iPad by its launch date. Considering the similarities it shares with the iPhone, the transition shouldn't be that tough. It seems that Apple are, understandably, inundated with requests from companies to allow them early access to the device and that this is the only real inhibition facing the Unity devs.

    Regarding the new GPU, there's not much sensible information out there currently other than that the chip itself seems to be a multi-purpose solution to the systems architecture. The main processor is an ARM Cortex-A9 and the GPU is an ARM Mali GPU. The CPU and GPU are all on the same chip, running at 1GHz in comparison to the iPhone 3GS which runs at 0.6GHz. Finding information on the GPU is tough, though the manufacturer's website states it supports 4x and 16x full scene anti-aliasing (should you need it).

    Of importance to note here is that this is another opportunity to make some money. Creating apps for the iPhone, which sell, has become significantly more difficult due to how much content there already is in the store. While the iPad will supposedly support all the current iPhone apps, the new SDK ensures that there'll be loads of new stuff. The faster GPU also means that we will have fewer constraints to deal with when optimizing content for the device and more opportunities to impress users with visuals. The future is looking very promising with new markets and a growing industry, exciting times indeed.

    Jan/28
    2010

    Yet another project I'm working on, this time a health and safety training environment for the University of Hertfordshire. The purpose of this particular app is to allow the staff to assess the ability of potential employees to spot dangerous situations in the office environment, things like low chairs, wires trailing across the floor, screen glare etc...

    I'm going to try and keep the polycount low on this one as it's going to be delivered via a web browser and you can never tell how fast another user's machine is. To that end, I've allowed the user to switch between quality settings and might make some super low poly models for the ultra low setting.

    Again, I'm not using real-time lighting, as beautiful as the stuff is. This is mainly in consideration of performance issues. Having said that, there's a lot you can do with baking your own lightmaps, as you can see in the shots.

    Just a quick reminder to readers. Although Unity 3D is marketed as being a game engine, it is just a 3D engine. You can do more with it, other than make games.

    Jan/26
    2010

    AVATAR: Added Value of teAching in a virTuAl woRld

    I recently came back from Rome where we (our group from the University of Hertfordshire) attended the first in a series of meetings related to the European AVATAR project. It aims to establish which conditions in a 3D virtual world are most conducive to the practice(s) of learning and teaching. To that end, one of the requirements is to establish which virtual world is best suited to the task. Readers of the blog will be aware of my work in Second Life and how, besides development,  I have been undertaking research into how the medium is able to facilitate communication and learning.

    One thing on a lot of peoples minds is how we define a virtual world (for the purposes of education). Evidently, a simple 3D Virtual Learning Environment will not suffice. The task is to find (or event construct) a 3D multi-user environment with an integrated set of building tools and a freely accessible library of 3D models. This sounds very much like an exact description of Second Life, the only problem being that there is reluctance in adopting the platform across the board.

    My last project in SL, the University of Hertfordshire presence

    For all its problems, Second Life has shown us what happens when you give people, with no background in 3D, a simple construction set and the means to work together. Some of the things people have built range from entire virtual settlements to railway networks spreading over significant areas of the landmass. There is no longer any doubt that this medium has removed the most stubborn barriers (lingual, social and taboo alike) and encourages cooperation between individuals. The only problem lies in its implementation.

    People do not like the idea of Linden Lab (the creators of SL) being in charge of all the content contained inside the environment. It's too big a responsibility for them to handle and, to be frank, they charge too much money. SL has gone out of its way to recreate a lot of the problems which exist in the real world, namely a lack of space. This is virtual space which is distributed at a cost, it's almost a license to print money (were it not for server maintenance fees it would be).

    One of the most important requirements of the virtual world we need to find/create is that it be open source. Again, Second Life's open-source equivelant, OpenSim, seems to be a likely candidate. Time will tell what the final decision will be, but rest assured there's going to be an extremely critical analysis and that SL no longer has a free ticket.

    I leave you with a video of some of my previous work in SL.

     

     

    Jan/03
    2010

    You should realise that I have dedicated this blog exclusively to browser-based 3D engines, but every now and then something comes along that begs to be sung about. That something is Chrome Engine 4, you've probably never even heard of it. First, a bit of background via wikipedia:

     

    Chrome Engine is a 3D game engine developed by Techland. The current version, Chrome Engine 4, supports Microsoft Windows, Xbox360 and PlayStation 3.

    This incarnation of Chrome Engine evolved through over nine years of development. According to its creators the engine is purely 'What You See Is What You Geť and allows limitless control over the process of creating game levels.

     

    Because this is a visual medium, videos say more than words and I think this glorious little tech demo sells itself.

    It's an environmental piece, nature-based, similar to what the CryEngine is famous for doing so well. You might even be of the opinion that anything which looks better than what Crytek have produced is unimaginable. Well, just have a look at the video below (especially the ambient occlusion on the spider)...

     

    Of course, for those of us who are fans of the Elder Scrolls series, we can only imagine what companies like Bethesda could pull off if they were to adopt  this engine for their sequel to Oblivion. I'm sure you can appreciate how difficult it is for games to impress us visually these days, yet it looks like we still have a lot to look forward to.

    I also agree with the following comment (via youtube):

     

    We're soon coming to the point where you can pick up games and enjoy them solely based on the visuals. This is art. - 'Roederbaby'

    Until next time.