Monday, October 3, 2011

Battlelog - Battlefield 3

We are tasked with finding something cool on the web to do with social media...I saw this just a couple of days ago when it was released, and it just hit me that it is a massive leap forward for gaming and social networks.

Battlefield 3's Battlelog is essentially the facebook of online statistic stracking and sharing, allowing you to add friends, chat in real time, post content and loads more features. No other game has such a robust log and ability to interconnect players lilke this potentially will. Enough chatter, watch the video below for a full run through of its features and awesome abilities:

Wednesday, September 28, 2011

Unity3D is Awesome, No Arguments.

I have been using Unity3D for a little over a year now, and I have fallen in love with it. It is sad to admit, I know, but I now hold stronger feelings for a game engine than I have for anything else in existence that is composed entirely of 0's and 1's if we really wanted to strip it to such a bare state of existence.

For any of you that are completely lost and have no idea what I am on about, Unity3D is a game engine, extremely popular among indie developers because it is A) powerful and B) free (for windows, web and Mac platforms anyway).

It is only now that I stop and think about it, that I realise why I love this particular engine so much. So, without further adue, I present "Simon's 3 reasons to make Unity3D your best friend"...or something to that effect, with a little more wit.

Reason One: Anybody can get started in Unity

Unlike some game engines, Unity3D realises that the big bad world of game development can be big and scary for newcomers. With this in mind, the creators have created a blissfully easy interface to use, as well as a number of tools to help any newcomers learn and work with their engine. It supports languages most known to emerging programmers and a toolset that will make any n00b feel like a pro.

Reason Two: Community and Resources

There is absolutely no shortage of community to help you solve those tricky coding issues or provide invaluable tutorials for a range of different games. The community of mainly indie developers built around Unity3D is rather astonishing in a sense that you always have somewhere to turn if you are stuck. Even if it means having an entirely new block of code worked through, line by line, with a complete stranger on the forums, it will be done. I cannot think of any other piece of software that can teach and aid the user as much as Unity3D and it's community...you feel so damn loved!

Reason Three: Platforms, Platforms, Platforms...

Because Unity3D have been really good at not annoying the wrong people (cough Apple...), licenses are available for pretty much any platform you can think of. From Android to Xbox, if you want a license, you can buy it. The porting ability of the engine is quite astounding and affordable out of any engine available. This gives a remarkable opportunity to small studios to build awesome games on a reasonable budget...or even poor uni students.

In summary, Unity3D is your friend. It wont give you up, let you down, run around or desert you. At times it can make you cry (but the community fixes you up quick smart), but the debugger wont tells you lies. This means you have absolutely every reason to say hello to Unity3D (not goodbye), after all, it is free.



Sunday, September 25, 2011

Another One (Just because I have it hosted on my website)

This is a plugin I used as an image slider on my website. It is pretty awesome because you can use it on mobile browsers with no issues at all. The actual plugin looks like:


(function($){
 $.fn.jslider=function(o){
  o=$.extend({
   btnPrev:null,
   btnNext:null,
   btnGo:null,
   mouseWheel:false,
   auto:false,
   speed:1800,
   easing:null,
   vertical:false,
   circular:true,
   visible:1,
   start:0,
   scroll:1,
   beforeStart:null,
   afterEnd:null},
   o||{});
  
  return this.each(function(){
   var b=false,
   animCss=o.vertical?"top":"left",
   sizeCss=o.vertical?"height":"width";
   var c=$(this),
   ul=$("ul",c),
   tLi=$("li",ul),
   tl=tLi.size(),
   v=o.visible;
  
  if(o.circular){
   ul.prepend(tLi.slice(tl-v-1+1).clone()).append(tLi.slice(0,v).clone());
   o.start+=v}var f=$("li",ul),
   itemLength=f.size(),
   curr=o.start;
   c.css("visibility","visible");
   f.css({overflow:"hidden",float:o.vertical?"none":"left"});
   
   ul.css({
    margin:"0",
    padding:"0",
    position:"relative",
    "list-style-type":"none",
    "z-index":"1"});
    
    c.css({
     overflow:"hidden",
     position:"relative",
     "z-index":"2",
     left:"0px"});
     
    var g=o.vertical?height(f):width(f);
    var h=g*itemLength;
    var j=g*v;f.css({
     width:f.width(),
     height:f.height()});
    
    ul.css(sizeCss,h+"px").css(animCss,-(curr*g));
    c.css(sizeCss,j+"px");
   
   if(o.btnPrev)$(o.btnPrev).click(function(){
    return go(curr-o.scroll)});
   
   if(o.btnNext)$(o.btnNext).click(function(){
    return go(curr+o.scroll)});if(o.btnGo)$.each(o.btnGo,function(i,a){
     $(a).click(function(){
      return go(o.circular?o.visible+i:i)}
     )});
     
   if(o.mouseWheel&&c.mousewheel)c.mousewheel(function(e,d){
    return d>0?go(curr-o.scroll):go(curr+o.scroll)});
    
   if(o.auto)setInterval(function(){go(curr+o.scroll)},o.auto+o.speed);
   
   function vis(){
    return f.slice(curr).slice(0,v)};
    function go(a){if(!b){
     if(o.beforeStart)o.beforeStart.call(this,vis());
     if(o.circular){if(a<=o.start-v-1){
      ul.css(animCss,-((itemLength-(v*2))*g)+"px");
      curr=a==o.start-v-1?itemLength-(v*2)-1:itemLength-(v*2)-o.scroll
     }else if(a>=itemLength-v+1){ul.css(animCss,-((v)*g)+"px");
      curr=a==itemLength-v+1?v+1:v+o.scroll}else curr=a
     }else{if(a<0||a>itemLength-v)return;else curr=a}
     b=true;
     
     ul.animate(animCss=="left"?{left:-(curr*g)}:{top:-(curr*g)},o.speed,o.easing,function(){
      if(o.afterEnd)o.afterEnd.call(this,vis());
      b=false});
      if(!o.circular){$(o.btnPrev+","+o.btnNext).removeClass("disabled");
      $((curr-o.scroll<0&&o.btnPrev)||(curr+o.scroll>itemLength-v&&o.btnNext)||[]).addClass("disabled")}}
     return false}})};
     
     function css(a,b){return parseInt($.css(a[0],b))||0};function width(a){
      return a[0].offsetWidth+css(a,'marginLeft')+css(a,'marginRight')};
     
     function height(a){return a[0].offsetHeight+css(a,'marginTop')+css(a,'marginBottom')}})
     
(jQuery);
This pretty much sets the margins, size etc of the scroll box for your images that you place using html. The demo of it is on my "Work" page here:
www.sleeping-giant.au.com
and I got this groovy tutorial from this YouTube video.


Tutorials with a tonne of examples/help

So when I have been looking for plugins/tutorials etc, I stumbled upon tutorials by New Think Tank (derekbanas) on YouTube. His tutorials in short are awesome and explain a heap of things from jQuery and Ajax. Here is the third video in his tutorials that I had a play around with that deals with eventHandlers...he literally goes through all of them and it is awesome.


Wednesday, September 21, 2011

jQuery Handy Login

After searching through a tonne of jQuery plugins (mainly image sliders and things that were kind of impressive, kind of not), I found something I actually really liked: a Twitter type login system styled with a combination of CSS and jQuery.

This particular login system is elegantly hidden away until the user hovers over the sign up button, meaning the page stays un-cluttered and generally pleasing to use and look at. The tutorial I got the method from can be found at aext.net

 The page is essentially set up with one CSS form controlling the layout and main contents, and another that defines the way the 'Twitter' style login works. When the element is activated, the CSS for the login styles the new DIV that is animated out and displayed using jQuery and can then be interacted with from there.

When the element pops out, it looks like this:

  

The tutorial is great, and the CSS easy to modify to get the color scheme of the box that pops out and all the elements are appropriately named to create an easy to follow and very useful tutorial. 
Overall it is a great use of jQuery with CSS to create a compact, elegant and useful login form and can really add a professional feel to the login system while giving more real-estate for other elements on the index page.



Monday, September 12, 2011

Programming and Web Experience



I am adding to a blog I had for another subject on here, feel free to read the other stuff if you like but it isn’t all that important.



Anyway, I am in my last semester of university and admittedly have not done a lot of web development. I have completed the required class for this subject (Web Applications with Greg) and also the website design class (because I am a games student, you have to do multimedia subjects) so I have done work with forms, xml, some PHP and I know html/CSS like the back of my hand.



The bulk of my programming experience comes from using Unity3D to build games. Here I used JavaScript extensively and also some C# if needed. I have done all of the core IT subjects so I have a good understanding of code structure etc.



I have maintained blogs in the past. I had a fully customised WordPress gaming website that I have since removed (did not have time to maintain it). I also have a Tumblr just for some photos I take (amateur photographer, more a hobby/interest as opposed to something I am good at) and recently built my online portfolio in about 3 hours (the only time I had had to work on it). It has a contact form and a jquery image slider, but nothing too dramatic.



Most of my work and attention does go into programming for games and working with art based skills to implement into game development, but I am not afraid of learning new languages and getting into web development, as almost all games are linked in some way to a web based server/leaderboard system. I am admittedly more focused on multimedia and game based projects, but am keen to learn just about anything I can to further my skill set.



You can find the things I have running at...


www.sleeping-giant.au.com


http://simonlydiard.tumblr.com/

Friday, November 5, 2010

Blurring the Line...

Since the rise of gaming in the late nineteen-eighties and continual progression through to the present, it is no wonder that the virtual worlds we once thought were so foreign have become so familiar. In the world of gaming, this separation of what is real and what is virtual is known as the magic circle. The magic circle refers to the “distinct boundary between the artificial world of the game and “real life” contexts...”.(Linser, Ree-Lindstad, Tone Vold, 2008, p2) It seems however, that the line between what is known as a state of play and reality is being deliberately blurred allow for not only further immersion, but eventual combination of what is regarded as real and what is virtual.

If you are paranoid, you probably don't want to keep reading...
Nobody would have believed it, but ludologists have accepted the fact that “virtual worlds are now a reality.” How do they come to this conclusion? By simply defining what a modern virtual world allows you to do. “Virtual worlds allow everyone to create a digital character representing themselves and interact with other computer-generated individuals, landscapes, virtually run global businesses and in-world situations in real time.” (Lehdonvirta, 2010, Web) The push towards realism has not only evolved in the richness of hardware and technology, but also the revolutionary game play styles and abilities that allow the player to become less of a puppet-master and more of the player they control. Jonathan Steuer defines virtual reality as “a particular type of experience, rather than…a collection of hardware”. (1993, p3) This definition allows us to break the process and effectiveness of virtual reality into two components; medium effectiveness and experience.

Firstly, it is important to understand the devices and hardware that are allowing the virtual world to converge on what we perceive as reality. The effectiveness of the hardware is reliant on the user’s presence and the “degree to which a virtual environment submerges the perceptual system of the user.” (Giuseppe, 2003, p4) The hardware in this sense is more effective if it can work on a psychological level to remove senses of time and space to bind or exclude reality with the virtual world. There have been many leaps and bounds in technology to get to the stage we are now, where it seems such hardware is present within almost every household today. Microphones, Wii controllers, Playstation Move, Microsoft Kinnect, smart phones and countless other peripheral devices have been extremely successful in promoting a more authentic experience to the user. Most contemporary digital media devices have some way of connecting the user to an aspect of reality in some way, whether it is through motion control, voice chat or augmented reality visual systems, the focus of hardware is to make the line between the virtual world and real world more indecisive.


Kinnect: Microsoft isn't going down without a fight when it comes to virtual hardware.

Hardware however, is only one way game developers have been able to utilise their work to blur the fine line of reality. If the games and its hardware cannot uphold visual realism in the form of graphics or narrative believability, it tends to place particular focus on social realism; “a process of revisiting the material substrate of the medium and establishing correspondences with specific activities existent in the social reality of the gamer.” (Galloway, 2004, Web) With this in mind, gaming then becomes a process of the medium it is presented and what about that medium links the player to their own social reality and psychology. Take the massively popular Facebook game Farmville for example. The narrative and graphical elements of the game in no way resemble that of reality, yet its success has been unmatched as far as simple online games are concerned. Why? Because it utilises your social circumstances and understanding of psychology to make you compete not against a puzzle or artificial intelligence, but against your friends. Simple tricks in game play, like the ability to compete against friends, immerses the player within the game with much higher stakes: they are no longer playing a character, but a representation of themselves.

Once the psychological, realistic, narrative driven, hardware and social aspects of games are combined, they aim to immerse the user and reach a state of immersion. “Players do not just engage in ready-made gameplay, but also actively take part in the construction of these experiences…”. (Ermi, Mayra, 2005, p2) Thus the richness of immersion has become a crucial element for all game design. For something to be assigned value, you must be able to invest time or physical objects/energy into its creation. Through combining revolutionary hardware with gameplay tricks and allowances, designers have been able to, and will only progressively continue to blur the line between what is real, what is virtual. There is no telling how games will then be used in the future, but at the rate the immersion qualities have developed, we may one day consider our virtual experiences as important as those in reality. Why? They will be a part of who we are.


I personally think this is all awesome...

References:

Ermi, Laura. Mayra, Frans. (2005) Fundamental Components of the Gameplay Experience: Analysing Immersion. DiGRA 2005 Conference – Changing Views – World in Play.
Galloway, Alexander. (2004) Social Realism in Gaming. The International Journal of Computer Game Research, Volume 4, Issue 1. Sourced From: http://www.gamestudies.org/0401/galloway/

Giuseppe, Riva. (2003) Virtual Reality as communication tool: a socio-cognitive analysis. IOS Press, Amsterdam.

Lehdonvirta, Vili. (2010) Virtual Worlds Don’t Exist: Questioning the Dichotomous Approach in MMO Studies. The International Journal of Computer Game Research, Volume 10, Issue One. Sourced From: http://gamestudies.org/1001/articles/lehdonvirta

Linser, Roni. Ree-Lindstad, Nina. Vold, Tone. (2008) The Magic Circle – Game Design Principles and Online Role-play Simulations. World Conference on Educational Multemedia, Hypermedia & Telecommunications.

Steuer, Jonathan. (1993) Defining Virtual Reality: Dimensions Determining Telepresence. Journal of Communication, Stanford.