terça-feira, 27 de dezembro de 2011

Do We Need Geographic Borders on the Internet ?

If you haven't realized yet take a look on a few internet services, specially those that needs to work through copyright messes, like Spotify or Rhapsody are building frontiers on the internet.

Imagine the situation: Someone lives in a country where wearing a tie is a crime. This person goes on a trip to the USA and during the trip get invited to a dinner. Raring on the opportunity to use a tie for the first time this person get dressed to the dinner and leaves the hotel. Unfortunately there was a policeman in front of the hotel that realized that our hero was using a tie and knowing it is forbidden in the person's homeland the policeman arrest the person.

Question: Does it makes any sense that this person should be arrested/judged in the USA using the laws from his homeland?

Back to our problem: Why does it makes sense to judge Internet Crime based on laws where the crime happened. Unless the underlined text means a UNIQUE set of international laws that everyone must abide while on the virtual space it is just juridical maneuver to apply a wooden wheel to a Ferrari. It is just building borders on the Internet.

Imagine the situation: Someone opens a grocery store in New York City. But it only sells for people that comes from Florida.

What makes someone accessing the internet from Japan different from someone accessing it from England? Is the money those people spend on those services different if they come from a country or another? It is absolutely trivial to "fake" where the computer is from .... If that is what you want them to do.

It is impressive that after so many years of internet we still can't see it as more than me and my computer and a bunch of 01010101 stuff. We cant think globally and failing to do so is failing to fully explore the possibilities available on the internet.

The internet should (in the very  very long run) make the geographic borders from our world fade and not inherit it. Building borders on the internet is just giving a shot on your own market. It just means that you are making less money than you could ...

Last 2011 post, hoping a happy new year foy all of us ;)

Till the next post.

segunda-feira, 8 de agosto de 2011

Study Shows Why We Love to Game - Games News at IGN

Study Shows Why We Love to Game - Games News at IGN

Do you agree ??

IMO it is a bit too broad. Sometimes i play a game "brainless" (Quake 4) more or less like people that punch a boxing bag to help to cope with stress ...

I agree that, generally, a game is all about exploring different options, different views .... but it is not necessarily something that you want to be. We might want to explore new options to find out what you don't want to be.

Till next post.

segunda-feira, 11 de julho de 2011

Events and Animations

Hi Again !

This past week i've experimented with events and animations using the Qt Framework. Processing events with Qt is really simple and there isn't much to say as we will see. On the other hand there is a lot to say about the Qt's Animation Framework. It was confusing at first (the official example isn't exactly newbie friendly) but it is easy when you get used to it and it doesn't take long.

Events

I was confused by the Qt nomenclature for events and event handlers. So here it is: SIGNAL = EVENT; SLOT = EVENT HANDLER.

This slot/signal is more (flexible) than plain callbacks and looks more like C# Delegates.

To associate the event to the event handler you use the connect method/function. There is a global function connect and a static method in the QObject class (inherited by almost all other classes).

This method/function receives the object that originated the event, the event you are tracking, the object that will handle it and which method is the event handler.

Here an example:

// Event + Event Handler
QObject::connect(lui, SIGNAL(accepted()), this, SLOT(init_game()));

lui is a dialog. the QDialog class emit and accepted event when you click the yes button. This snippet binds the init_game method of the current object (this) with the accepted signal (event) from lui.

Animations

There are 2 ways to work with animations. The very simple one and the complex yet powerful one. The major difference is that first one animates a single "entities" and is just a simple animation while the other can have multiple states (think of a state as a key frame), entities and animations going on.




The first snippet (1.1) creates an animation by using the QPropertyAnimation class which makes a property change smoothly. In this example it will change lui->pos() (A Qt Property is exactly like a C# property -- which c++ doesn't natively supports. Although it seems like (is) a function it is just an attribute with a getter/setter created for you.) from (0,0) to (200,200) in 750ms. The path that the component will follow was given by animPos->setEasingCurve(QEasingCurve::InOutQuart) (a 4th grade polynomial).

The following snippet (1.2) just add a second animation occurring simultaneously as the first. To do that we create another animation and add it to a QParallelAnimationGroup. This class will launch all Animations in paralalel and there is a QSequentialAnimationGroup if you want an animation in a sequential order.

Although last part(2) is a bit long it isn't complicated. Instead of setting the initial and final state like we did we will create a state machine and let it set the final state (and initial if you like. Animations that doesn't have an initial state we will use current value. State machines need an initial state).

I started it creating the state machine and 3 states and added 2 of those states (init and inPos) to the third (root). It isn't needed but shows that more complex state machines can be created. The following step describes how the component (lui) should be when each is reached.

After the animation group is completed we are ready to go. Instead of starting the animation directly i adopted the Qt tutorial suggestion to trigger it using an event. So QTimer was added to make serve as an animation countdown (100ms).

Next Topics


That was what i had in mind for this post but there is a few topics that i want to play with before actually coding a game. A few topics that might deserve to look at:
  1. Translations
  2. Scripting
  3. Fast UI Construction

terça-feira, 5 de julho de 2011

3 months later

After exactly 3 months since my last post "I'm back" quoting Randy Quaid from The Independence Day final battle.

In those 3 months i've worked on my thesis, i discovered my results were dopped (this means a big hole in my experiments) and i had to go back to the drawing board and i lost a few months of work. But things are now a bit better and i have promising new ideas. :)

But back on topic I've also tried to give a first step in making a game. A Frenchman once said that nothing costs more than the first step .... And he is right !

Unreal Dev Kit was a wall ... I couldn't understand anything. It is fantastic and if you follow tutorials you can do all that easily but if you want to make anything other than an amazing shooter .... good luck.

I saw a few other engines but i had no time to play with them. Or they were even less gentle with beginners. So i had to take a different approach.

Now i am using the ever flexible Qt c++ framework to make a 2D-top view game. That is free software at its best: cross-platform (across several platforms), easy to learn, easy to use, tons-and-more-tons of utilities and more. It doesn't like c++ standards much but it is still great. Here is an example of what it can do.





Very, Very simple code ...

First i create an application. That is the entrance for the awesome Qt world. Inside it the framework will handle everything that makes your life a lot easier.

After that a scene. That is the virtual world you want to create. My virtual world has 2 rectangles, a button and a PNG image. That is pretty much what i expect to use from the game i have in mind.

The view part is like the hole in the wall. It is the portion of the virtual world you can actually see. It also gives me a "free" window to place it so i don't have to make it myself.

And the last line you give the green light to the application (actually that is the entrance point to Qt).

For the next post (soon ... i am already using soon like a game company <.<) I ll play a bit with other fundamentals like events, animation (Qt has an interesting framework for Animations).

Till next post !

terça-feira, 5 de abril de 2011

Game (and Entertainment) Market Part.1

This week i am starting to post about game (, film and music) market. I've researched the reports of 4 major organizations: Entertainment Software Association, Motion Picture Association of America, Recording Industry Association of America and International Federation of the Phonographic Industry. Here are the links to those reports:

Game:
http://www.theesa.com/facts/pdfs/VideoGames21stCentury_2010.pdf

Film:
http://www.mpaa.org//Resources/653b11ee-ee84-4b56-8ef1-3c17de30df1e.pdf

Music:
http://www.ifpi.org/content/library/DMR2011.pdf
http://76.74.24.142/2DB721AD-3A69-11D3-1FA4-E3E59BEC0CE6.pdf

(the above link looks strange(virus-ish) so you can get the report at http://www.riaa.com/toolsforparents.php, by clicking at the American Music Business Brochure Link ... toolsforparents isn't really a good name for that ...)

Now to the juicy part ...

The first surprise came when checking the revenues from 2009:

Revenues (2009):
Game Industry - $10.5 billion (US) - $144.3 billion (World)
Film Industry - $10.6 billion (US/Canada) - $31.8 billion (World)
Digital Music - $3.13* billion(US) - $4.2 billion (World)
Physical Music - $4.55 billion (US) - n/a

* I had to compare different reports to reach this number and might not be entirely accurate.

Err ... I wasn't expecting the game industry to beat hollywood by 4.5 times in revenues. Actually a bit more than that. Film Industry is reasonably stable oscilating from 9-10.6 billions since 2002. In 2010, it repeated 2009 and scored another 10.6.

From the ESA report (page 1): The real annual growth rate of the U.S. computer and video game software industry was 10.6% for the period 2005-2009 and 16.7% for the period 2005-2008. From 2008-2009 it had a strong retreat (-10.3%).

The Digital Music Report (2010) from IFPI presents (at page 10) a "market share" of revenues coming from the different digital markets:

Games - 32%
Recorded Music - 27%
Films - 5%
Newspapers - 4%
Magazines - 2%

Here the surprise was the low share of films .... I would guess it was quite higher.

I was looking for an "official" number for digital/retail sales for the game market but couldn't find any. Assuming that the US revenue of digital music was used to calculate the share presented above we could estimate the digital revenues of games in the US to be about $3.94 billion or 37%. Steam, Direct2Drive, World of Warcraft ...

All that reading was good to realize that the game industry is A LOT bigger then i expected it to be. The massive amount of revenues compared with other big industries made those seems quite small. If i were starting a game company in the US, after reading this, i wouldn't overlook the retail sales something i would consider seriously before.

For the next week i will talk a bit about the info on employment in the game industry. About half of the linked report is about it (like average total earning and things like that .... ). I ll try to make a few comments on piracy and the RIAA report (the music industry reports are the only that mention piracy .... and they over do it).

I ll also search for "oficial" stats about online/retail revenues and Windows/Mac/Linux share of game market as well. That would help a newbie game dev to know who is the buyer and how it likes to buy.

Till next week!

segunda-feira, 4 de abril de 2011

Interactive Movies

Do you remember the old role playing game books ? Where the author was able to change the story by redirecting you to certain pages depending on your decisions ?

It would be nice if we had games and movies merging in a concept that could actually do that. Imagine: You are watching a movie and for a few minutes you are required to take control of the main character till you reach a point where the cinematic would guide you again.

Most games today do that to an extent. Just an example, Mass Effect 2 does exactly that, but just in the first sequence (image above). There is more behind that idea. It could actually make the film industry a bit more interesting again. Why should i buy a DVD if the movie will always be the same ?

Movies done this way could have a default sequence that would be played in today DVDs (or in the movies) but also a few "extra" scenes that would only be reached by "playing" the movie. Now that is something i would buy.

Video Games can play DVDs. Computers can play DVDs and games. Games actually use that to explain the scene or just as part of the game play. So the technology is out there just waiting to be actually put together.

Till next post !

quinta-feira, 31 de março de 2011

Hobbist or not Hobbist ?

Playing games has been something i've been doing for fun for many years now. For a good part of those years i've tried to create games with almost no success mostly because those attempts only lasted till the next deadline but also because if you start to develop a game in the wrong direction it get rough quickly.

But i am going to try it again. With a few more years developing a applications (and gaming :) ) under my belt also with a bit more time available. I am expecting it to be a hobby (possibly shared with a few friends *cough cough*) but who knows where this road will take us ... Anyway, enjoying the process will be cool enough.

I am starting this blog today where i will put down my experiences as a passionate gamer and a wannabe game developer.

Till the next post!