August 6, 2009

Death of PopFly

Posted in Web tagged , , , , , , , , , , , , , , at 10:53 am by sagito

Some of you probably know and have used Microsoft’s PopFly! I did and I think it was a pretty cool online service and above all it was pretty fun to use… (Although it also a bit useless too). PopFly was the Microsoft’s response to the Web 2.0 fever that struck the internet some time ago. For those of you who didn’t know PopFly, it was an online service that allowed users to create mashups by simply dragging and dropping the features you want and connecting them together. This mashups could be sites, games, simple web apps, etc…

Well, at first this seemed to be pretty cool… The truth is this was useless, because there were few contents that I could really export from their site and use as standalone… Nevertheless, we could see some really great works in the popfly site, some of which took obviously lots of time and expertise to create. So, what does Microsoft decided to do with that? Shutdown popfly and destroy every single content that could not be exported!

I was registered in PopFly (and I had to obtain an invitation to join this “elite” in the beginning) and I had some work there… And all of that is now lost. Microsoft, I want you to give me back the time you wasted from my life! Well, at least they warned the users with some funny message which states: “Thanks for stopping by. Unfortunately, on August 24th, 2009, the Popfly service will be discontinued, all resources will be taken down, and access to your Popfly account, including games and mashups, will cease.”. So, I just want to thank you, Microsoft, for valuing my work so much…

But now, lets think for a while… PopFly came out in 2007 and at the time you needed an invitation to work with that thing. Somewhere in 2008 I think, the invitation system was removed and anyone could login. And now, only 2 years after its birth, PopFly is getting killed… In my opinion, this reveals two things: The first is that it was an amazing failure in the Microsoft’s strategy and planning. Because this was obviously expensive to Microsoft. Also, as you couldn’t obtain anything that really matters from this service, it was quite obvious to me that it wouldn’t work… The second thing is that Microsoft must be desperate with something and is trying to reorganize or redraw its strategy… Shutting down a service, even if it is useless and obsolete, is not Microsoft’s style… So, either they are planning something big and need to focus their resources on that or they are trying to reduce costs… Desperately…

But PopFly is not the only thing that Microsoft is killing… Microsoft Money (Microsoft’s Management Software System) was also discontinued and it will no longer have technical support. When I heard of that I thought: “What the hell is Microsoft Money? Never heard of it…”. Apparently it really existed… But not any more!

My opinion is that Microsoft will be closing some more stuff soon. Probably not its social Live Network, as social networking is Microsoft’s main bet now, but I don’t expect a long life for Skydrive, XNA, Live Mesh and Silverlight. The first is quite useful but is very expensive because it requires a huge online storage space. XNA represents an enormous investment from Microsoft, was well received and it is very useful as a prototyping tool. But NEVER as a game creation platform as they intended, because it is way too slow to be able to compete with a C++ engine, for example. Live Mesh is a complete failure in its implementation as I’ve mentioned in this post. Finally, Silverlight was Microsoft’s idea to compete with Flash. However, people got used to Flash over so many years and they don’t want to learn something new that doesn’t bring any real advantage over Flash (although Microsoft invested a lot on saying otherwise, which obviously isn’t true, at least so far).

So, Microsoft seems to be in a very bad and dangerous path… Maybe they will get it someday, but for the moment I think they are just desperate and trying to patch up some mistakes they made in the past few years. This said, I leave you with a sentence that I saw somewhere a while ago: 

“The day Microsoft makes something that doesn’t suck is the day they make a vacuum cleaner.”

Advertisements

August 3, 2009

Fallout 3

Posted in games tagged , , , , , , , , , , , , , , , , , , at 10:27 pm by sagito

Bringing you a new section in this blog, and as I finished this game yesterday, I’m posting my opinion on it today! Fallout 3 is all about atomic bombs and nuclear power. In a distant future, the united states were devastated by a nuclear war and pretty much everything lies in ruins now… Before the war, a powerful company named Vault-Tec built some underground, radiation-proof bunkers where people could live in the case of such a war happening, named Vaults (wow, surprise!). The story begins with the birth of our character which is followed by a (not so) brief tutorial until our avatar reaches the age of 19. At this age, our sweet daddy doctor runs away from the Vault where we were born and guess what… We must find out what happened to him…

Now, the box says that we have the freedom to choose our story… Well, I tried to do that, really did… If the character’s father wanted to go to hell, that was his problem! I wanted to stay in the vault… However after a short time, some dumb guards showed up and without further questioning just shot the hell out of an unarmed 19 year old boy, which obviously resulted in a game over… Ok, so I really had the freedom to choose! Either I pretend to be a good son and get out of the vault searching for daddy or I get killed because I was following the Vault’s rules and stayed there… Way to go, Bethesda studios!

A note to the VATS Targetting System: Brilliant! Loved the concept and it didn’t make the game any easier… Well, maybe a little, but I welcome such a system with great pleasure! Basically, for those who didn’t play the game, it consists in a system that stops the action during combat and lets the player decide where to point the shots at. The chances of hitting depend on your stats, of course, but it eases the pain of pointing and shooting when using a XBox 360. It was an innovative system that realy brought a nice feature to the game.

Anyway, the game has some pretty nice graphics, using great particle and lighting effects, specially during combat. Also, the quality of each death makes the game not only visually stunning but awesomely fun to play.  I kept going back to some of the metro stations just to shoot the head out of some Feral Ghouls. Also, the missions are not boring… When I thought they were getting repetitive then the game came out with something really surprising… And this reveals a kind of attention that I really appreciate in video games. However, there are some bugs that could have been easily corrected, but are not really relevant… The animations when playing in third person are so bad that I would prefer to hide my characted in some dark spot and throw three grenades to my feet then to actually play with this perspective… Nevertheless, the good guys at Bethesda gave us a first person view, which is awesome, so that bug is pretty much forgettable… A somehow serious bug happened when I arrived at Rivet City. I wandered around the boat for a while until I found a door that lead to the wrecked outside. At this point, collision detection below my feet just failed and I fell to God knows where… All I knew is that I was receiving 5 rads per second, wherever the hell I was! Of course, I ended up dying, but at least I should look like a beacon with so much radiation on my body. Final bug, (but I loved this one), the final boss… He was protected by some minor guards, which were easy to deal with as soon as I had my reliable plasma rifle. When I killed these guards… There was no boss! Where did he go? This was answered on top of the stairs… Somehow the bunker door closed on top of him, blowing him to smithereens! Pretty easy to kill! 😀

The overall game is pretty good… The story is completely forgettable and now that I think about it, its sort of a nonsense… Who the hell are the enclave? Why did I risk my life to get to my father after all? How the hell did that general survive to the intense radiation? What was the enclave doing in those labs? However, I must say that if we forget the story, this is really a great game and above all… Its fun as hell to play it! And isn’t that what matters most? 😀

So, here is my veredict:

Story: 3/5

Gameplay: 4.5/5

Graphics: 4.8/5

Atmosphere: 4/5

Longevity: 4.3/5

Fun-niness:  4.9/5

Final Score:  4.25/5

A classic…

Posted in Music tagged , , , , , at 7:56 am by sagito

This time I’m posting a song that is, for me, one of the greatest classics of all time… Maybe not the most known music from Sting, but still one of his best works. With you, Sting singing Desert Rose:

Hope you like it!

July 31, 2009

Constraints

Posted in Computer Graphics tagged , , , , , , , , , , , at 11:11 pm by sagito

Hi everyone! After some absence due to the lost of someone who was very close to me, I’m back to posting… This time to talk about a constraining system that I will attempt to implement within the Conspiracy Engine.

I have been having some problems with some DirectX functions, namely GenerateAdjacency and OptimizeInplace. These functions just crash unexplainably in some memory address that is not in my addressing space. Also, neither the DirectX debugger nor the PIX (tried it in despair), not even the Visual Studio 2008 debugger could do anything to show me the problem… So, I analyzed the assembly code, to find out that something inside the mesh is not properly set. However, I don’t have the means to find out what, so I just commented out the functions and moved on until I have the patience to deal with Microsoft’s brilliant lack of information.

So, I decided to implement a constraining system. Now, what the hell is that? Basically a system of something that constraints something to some other something. 😛 Ideally, this will, for example, stick a camera to a travelling object! Imagine a car in a racing game. We want the camera to be able to follow the car along the track as it moves, otherwise the camera would just be left in the beginning of the track.

It is important to say that… I never, ever, whatsoever, tried anything even near such a thing… My basic idea so far is really making an object stick with other… You could say that this can be achieved using hierarchy. Yes it could! However, I think some more flexibility is desirable… For example, if I want to attach a gun to my vehicle, I would probably like to place it in the door or in the roof… I need something that allows me to control its position and the constraining system will hopefully give me that kind of offset.

I know that there is a huge number of possible constraints to be implemented. However, I will stick to this one at the moment, but I will create a solid enough structure that can be expanded to some other constraint types further on… For now on, I will be keeping you posted! 😉

July 26, 2009

Breaking Dawn

Posted in Books tagged , , , , , , , , , , at 10:36 pm by sagito

Hi and welcome to my first post about books! This will be about the well-known book “Breaking Dawn” from Stephanie Meyer. This is the last book from the Light and Darkness collection and I must say that I really loved all the previous three books (Twilight, New Moon and Eclipse) and the Twilight movie. In few words, these books tell us the story of a girl, Bella Swan, who falls in love with a vampire. After many adventures, this last book is supposed to answer every question that was left unanswered in the previous volumes. I will try not to give any spoiler, but if you haven’t read the book, and don’t want to risk it, then don’t read the next few lines.

“Breaking Dawn” starts off quite slow, contradicting the past three volumes, and that was a rather unpleasant feeling, because I really loved the rhythm of the story up until this point… But, as I had almost 800 pages of book, I did not pay it too much attention. However, I sadly noticed that the writing is very confusing from the start until the end. Unexplained changes of pace, fragments of story that are thrown to the air and that are never picked up again, quick decisions or changes of mind that are taken without a reason… As I was reading I had the impression that the book was written with a certain schedule in mind and was rushed to be ready on time… This could explain the appearance of some of these loose ends.

But for me, there is something that is unexplainable… Towards the end, the story gets ready for a really big happening (which I will try not to mention) and when everything is ready… Nothing happens! So much preparation, so much effort, so many wasted time… For nothing? Not even a little bit of action or emotion? Everything after that moment stays exactly as it was before. And this moment is immediately followed by “They live happilly ever after”…

So, summing things up, this was a deception, because I was really waiting for something much better from this grand finale… A loose story that does not really answer all of our questions about the plot, probably written having a tight schedule in mind and with some unexplainable failures and rhythm changes that leave the reader confused… For example (and trying not to spoil anyone):

Why did Alistair flee?  What were those clues that Alice left for if they were never used? Why did the Volturi abandon their initial plans of abducting some of the vampires? Amongst some other questions…

Octree in DirectX

Posted in Computer Graphics tagged , , , , , , , , , , , , , at 11:27 am by sagito

Hello everyone! Back to some news from the Conspiracy… 😉 This time I’m implementing a feature that is quite new for me. An octree! Ok… Wait… What’s an octree? Well, an octree is basically a technique for dividing the drawing space. You start with a huge cube which surrounds the entire scene. If there is something inside it, then you subdivide that cube in eight smaller and identical cubes. Then, for each of these cubes, we must check if there is something inside them, if there is we subdivide them again, and so on…

Ok, now… Why is this so useful? Lets consider rendering… It is not necessary to render everything that we don’t see (because its behind us for example). This seems quite logic to me. But, the DirectX backface culling and occlusion system should be capable of doing this, right? Yes and no! In a matter of fact it really does not render the objects that we can’t see… However, it sends them to the graphics pipeline, executes a draw and only checks if they are visible afterwards. Only at this moment it decides if it really sent to the screen or not. With an octree, we are actually able to avoid such a thing, because we just don’t sent the objects which belong to an octant that we cannot see to the pipeline, avoiding some unwanted overhead.

Another example is the picking! Why try to perform picking on something that we cannot select? It is a heavy operation and we want to be able to ignore such operations if they are unnecessary!

However, there is a small problem, at least, with my implementation. I can reach 6 iterations of depth in an admissible time… Seems that these are few iterations, and maybe they really are… But if we think it through, each subdivision creates 8 space divisions. So, for 6 iterations, that stands for 8^6 = 262144 divisions (maximum). After doing the maths, this seems quite acceptable now… 😛

So, standby for new updates, as they are coming fast! 😀

July 23, 2009

Physics of Conspiracy

Posted in Computer Graphics tagged , , , , , , , at 10:58 pm by sagito

Hi again! This time I dwelling through some unknown ground and finding some real big monster-problems as I go. I’m trying to create a physics engine for the Conspiracy Engine! Well, as some of you might now, the ideia behind a physics engine is to predict where will something be in a future moment! (Yes, we, the computer people can predict the future!).

For example, if I have a ball and I drop it from a tall building, I want to be able to predict where will the ball be after 1 second, after 2 seconds, 3 seconds and so on, so I can be able to draw it on the screen. And I also want to do this in a minimally realistic way, so that the ball doesn’t start to fall and comes back up or something. So, many laws must be considered here and all of those come from general physics. These are not my big problems, because fortunately, many scientists around the world have already documented those.

The biggest problems are integration and programming. The first one can be solved in three possible ways. Give up, which is never considered in my life; using the Euler method; using the Runge-Kutta 4 Solver. As I have read through some documentation, Euler has some huge mistakes and can easily lead to big problems in a short interval of time. Runge-Kutta needs some more calculations, but guarantees pleasant results! As Gaffer On Games says: “If you use Euler, then you are a bloody idiot!” 😀

The second problem is how to integrate this in an existing engine. This can be done either as a separate DLL (which I think its best) or within the engine itself. The last approach is probably the reason for many suicidal or depressive mental states. So, I’m thinking about creating a separate engine that is able to represent the physics laws and somehow connect both in order to create a nice realistic environment.

And meanwhile, I will keep you posted… 😉

July 21, 2009

Passing everyone…

Posted in Education tagged , , , , , , , , , at 11:27 pm by sagito

Hi everyone… Today while reading some newspapers, I found a funny article about the education in Portugal. Apparently, some kid that frequented the eigth grade was constantly failing most of the disciplines that he had in that year (apparently he actually failed 9 in 14 disciplines). It is important to say that the kid has severe familiar problems and that this fact was pondered when the professors decided to… Pass him!

Ok, so let’s repeat this… There is a kid who failed almost everything he could fail and the professors decide to pass it to the next year! You can’t be serious… How far are we taking this game? Are we excusing the kid (who is actually also a victim of this case nevertheless) because it has familiar problems? I have problems, you have problems, everyone does! And just because we have problems,  the life gets it easier on us and we are able to pass through everything and everyone even if we don’t deserve it? I don’t think so…

The teachers attitude is irresponsible, to say the least. The kid is going to take a step he is clearly not prepared to, will feel out of place and perhaps even more frustated than if he had stayed in the 8th grade! Oh God, let’s please be real for a while… How is he ever going to make it through the life if the authorities are showing him that there is an easy way? For those of you who might be asking: I don’t know the rest of the problems that the kid have and I don’t care! Because I’m not against the kid, I’m against the teachers! I can’t help but feel sorry about the kid…

I feel sorry for this country, really…

You can read the whole article here (in Portuguese, but can easily be translated):

http://sol.sapo.pt/PaginaInicial/Sociedade/Interior.aspx?content_id=142612

July 19, 2009

Conspiracy Menu System

Posted in Computer Graphics at 10:53 pm by sagito

Hi all! There is a brand new feature on the Conspiracy Engine! Now it can render a menu system. Everyone knows and loves menu systems, those nice menus that serve as an intro for a game, for setting options, etc. So, how do you set up a menu system with DirectX? The base idea is quite simple. DirectX provides a nice support for this kind of stuff called Sprites. What can sprites do? They are 2D entities that live either in a 2D or 3D space. So, they can be used for menus, HUD, life bars, 2D animations and static scenarios, etc.

So, to start things off, I created a Sprite class that deals with every sprite related problem, such as creation, deletion, rendering, transformations, etc… Then, on top of this I created a menu system that features hierarchy, selection, positioning, and above all… I’m developing an external editor to customize the menus! Of course that since the Windows API is such a pain, I’m creating the editor in C#. The menus are configured through a file that can be easily loaded through a specialized parser called MenuReader.

The parser was build using the partial reflection mentioned before and is capable of easily configuring everything that can be customized on the menu, from the position of each element to the hierarchy, passing by the order and actions that each menu item will have. However, I’m still facing some problems. For example, in the DirectX Documentation the ID3DXFont class says that can be rendered over a Sprite. This would be great for menus, as they could actually have their own contained text. However, that does not seem to be working at all. And I’ve proof that the Font interface is working, because it is rendered nicely if there is no sprite. I’ll be working a little bit more before I post a screenshot of this system… 😛 And of course, I will give you news very soon! 😉

July 18, 2009

Dark Waltz

Posted in Music tagged , , , , , , , , , , , at 7:42 pm by sagito

Hi again! This time I’m bringing you some different sort of music. This is a waltz from Hayley Westenra, called the Dark Waltz. I have already danced at the sound of this music and I think it is really a wonderful song. Not one of those classic all-the-same waltz, it has a style which totally fits the great film “Phantom of the Opera” and resembles more like a song by Within Temptation then a Waltz, in my opinion…

I think this is one of the greatest musics ever… With you, Hayley Westenra:

Previous page · Next page