Unity3d games development

Constantine Khorunzhev
... and Four Arctic Foxes ...

Email:  

3d presentations client-server player


cross-platform
starter kit/framework prototype

   Client part is implemented with Unity3d.
Server part is prototyped with Node.js.


   This is application to demonstrate the developed by me prototype of client-server starter kit.

  -   Use Menu at the left side of screen to select any item. 1st person camera will be moved to selected item.
  -   Use arrows at the right bottom corner to move to forward and backward items.
  -   Use keyboard arrows to move camera at scene.
  -   If you are near some item, use mouse with pressed left mouse button to move around the item and look at it from different sides.
  -   Bar chart is the demonstration of item with clickable elements. Use left mouse button to press on bars or on legend elements.
  -   If you are near some item, use mouse with pressed left mouse button to move around the item. Menu at the left side of screen to select any item. 1st person camera will be moved to selected item.

  This is client-server application. Server part is written with Node.js and hosted at Amazon cloud Elastic Beanstalk service. Test HTML page which demonstrates POST requests to this application and its responses see here .

This is application to demonstrate the developed by me prototype of client-server starter kit helpful to simplify development of such things like:

  • 3d games which require interaction with server. For instance, multiplayer RPG or adventures whith many dialogs and situation to provide game updates by writers and game designers (may be with usual web interface at site) even right during play. Really client-server architecture and dunamically built scenes allows to extend almost any idea with multiplayer features and some customization of scenes by player/reader. It could be even provided to user the ability to add his own story line.
    The best monetization models of such games is subscription or freemium.
  • Much simpler standalone applications like books with non-linear story and interactive 3d illustrations (close to comics). Player can't walk at the scene; he can just see it and may be touch some items to play mini-games or just look at some fun animations or choose other story branch.
    The monetization model "just buy and play" is the best for such products.
    For such books client-server architecture is not necessary, of course. But for development purposes in many cases it is good choice to store data in JSON files. Such files could be edited even with any text editor. So the difference is only in component which loads these data locally instead of connecting to web service.
  • 3d presentations styled as 3d games, where you can walk from item to item and touch item to initiate some actions. Such items can include something like live infographic 3d charts, some devices like cars or laser devices... "Live" diagrams means that on touch of some parts of charts it could be animated, or show additional info, or do something else. "Live" cars can me "disassembled" to show some parts inside and etc.
      This application is designed to interact with some server to get the data dynamically, right at start of scene or coming close to item. For instance, it could be actual at this moment stock quotes for 3d charts or historical data of some sales growth.
  • Virtual museums and exhibitions. For a sample, some museums of tecnologies could charge the development of virtual exhibition which demonstrate models of difference devices "in action".
  • Internet shopping malls. Many times ago I have seen the project which looks like 3d set of rooms with different interiors. I suppose that it was very expensive development as those guys even created their own desktop "3d web player" for this purpose... Now technologies are changed so such project could be created much cheaper.

   Initially the creation of this prototype was inspired by awesome Valentino Caravany Virtual Museum This fine sample of Unity3d application. It seems that all scenes in this application built statically at the moment of creation so Unity3d programming part seems enough simple to be enought fast developed by single Unity3d developer. Of course, such projects involves many specialists: competented project manager, web site requires web developer and web designer, and also Unity3d application requires the great work of 3d and 2d Artists, game designer, writers, video and sound specialist. And some other people - for instance, people who has no software development skills themselves but enough trained to use Unity3d editor to place something at scene correctly under control of software engineer.

   If my supposition about architecture of this application is correct, this approach suppose that all changes in texts/picture/videos are enought expansive as requires involving of Unity3d develovepers. Such updates also can be done by 3d artists who has experience with Unity3d scene editor and understanding at least principles of Unity3d development to avoid breaking of functionality.

   It's normal if updates are rare. But it is not good for things like social games, virtual exhibitions, internet shops and internet molls which imitate 3d rooms with showcases, 3d presentations (including the things which should dynamically get data from database such the stock quotes). But with Unity3d it could be developed the client-server application which could dynamically download necessary data to display it with 3d scenes like front-end of Joomla or Wordpress can do it with usual web page.