Unity project – what to do next, part 1

A while ago, I had a bit of a think about what I should do next, subsequent to completion of my initial foray into using mysql and a smartfoxserver extension to handle persistence in a unity game world.  So in this post I will outline these ideas, however, this is not what I intend to focus on next in my project based on my current thinking.  That will instead be the focus of part 2.

Database considerations – inventory, equipment, etc.

Certainly it would be good to implement an inventory table in the database and an inventory manipulation interface in the game client.  Then, once this was done, I would like to create an “equipped” table, and allow a player to equip items, and for the state of what is equipped and what is not to persist.  Furthermore, I would like the appearance of various items to be displayed on the character, and for this to be transmitted to other players in the game via the smartfoxserver extension, so that the appearance of the player to themselves, and to others, was consistent with their current equipped / non equipped status.I think this would be a good next step to take this game project, albeit a rather conventional one.  Doubtless later on I will be able to do certain things that are a bit more surreal and slightly off the beaten track.

In terms of obtaining models, etc, to use as inventory, I learned from this video that there is a site, turbosquid, that specialises in 3D models, and many of the resources there are free.  So this is an additional resource of items in addition to the Unity asset store that I could use.

Character customisation / appearance of models

In terms of character customisation, there is already a certain amount of information and discussion on the web regarding how to modify the mesh of a character and swap in / out various items / armours etc, rather than clipping them all on the same model and merely hiding the ones not in use.  It is possible to do this, of course, but is not recommended – in an environment where one has say even a moderate amount of players running around, a game world will take a considerable performance hit.

In particular, there are these discussion threads, all on the Unity forum message boards:

In particular, the last thread points to an out of the box character customisation system for Unity, albeit for Unity Pro, which is by no means a cheap or ready to hand solution.  But nonetheless interesting that the solution exists – maybe in a year or two, Unity free might support something like this?

In terms of criticality of getting something like this working, though, although fascinating and definitely somewhere I’d like to get to eventually, this is not really what I’d like to target next.

Interface and gameplay

The third subfocus I had was to start working on the user interface, as well as gameplay, in particular:

  • health bars
  • skill bars / skill & spell books
  • equipment and character equipment slots
  • icons for skills and equipment, and empty character equipment slots
  • a skill system for skills, spells, etc
  • an action system for combat / player movement
  • better avatars / monsters
  • a minimap
  • gameplay
  • access to local events only on the client – though the server should keep track of all events (albeit, as representative data, of course)

For all of these, save the last two (the second last which is contingent on sensible synthesis of many of the rest), I identified assets on the Unity Asset store I could (and can) use / adapt to my purposes.  I’ve also found another site that sells quite interesting character and monster models (including a dragon!), which has also piqued my interest .  This will probably be a good next step.  Furthermore, I could in particular work to tie in of all these features to

  • a sensible database schema and messaging system, both in the local game client and on the server ( I already have solutions that exist for this and work quite well – C# messenger extended locally and smartfox for the client server messaging)
  • full multiplayer functionality

Abstract / surreal environments and game logic

The fourth idea that I thought would be interesting to focus on was incorporating a heavy surreal element into what I am trying to build.  This is something that I think is good to aim for in games, since it is in such that there is this tremendous opportunity to suspend the laws of reality and physics as we understand them, and flip them on their head.

Gameplay is also quite important, so I also had in mind looking into combat (magic & melee).

And then, consequent to this step, and prior to doing advanced project work on meshes / customisation of characters, I thought it would probably also be good to focus more on multiplayer functionality, eg, grouping, chat.  And maybe minigames, as well as some sort of quest system.  This is probably where I’d like to start diverging from the standard, and start exploring a somewhat more abstract and idiosyncratic game world and game logic – like Another World, or Abe’s Oddysee / Oddworld, or even, more prosaically, the Link games / Super Mario World universe.  Something a bit unusual.  I’d also like the gameplay to allow for a certain degree of freedom in terms of actions / animations, eg, dodge and roll, etc.

Artificial intelligence frameworks and embodiment

The final discarded item in the string of ideas I thought would be interesting to consider (and which I may eventually return to) is artificial intelligence.

In particular, I’d be very interested at some point starting to look into using OpenCog for embodiment of intelligent agents in a Unity game world, and somehow also incorporating that into the game.  This would be an extremely interesting thing to do – not least of which is that it seems that the community team behind that project seems to be starting to get some traction with their ideas.  Certainly at the very least I’m interested to see how things progress on that front over the next few years – as, if their current roadmap is even to be half believed, there could well be some fairly interesting behaviours one could instantiate in agents within a game world circa 2015+ or so, through use of the OpenCog framework.   Something that would be worth doing by someone on that project in particular might be to write tests; certainly, if I had unlimited amounts of time and energy I would do so myself, but I consider this extremely unlikely at the moment given my current priorities.

Tags: , , , , , , ,

One Response to “Unity project – what to do next, part 1”

  1. Unity game – what to do next, part 2 | Where's my hat?! Says:

    […] Random musings of a demonic entity « Unity project – what to do next, part 1 […]

Leave a reply to Unity game – what to do next, part 2 | Where's my hat?! Cancel reply