RSS
 

Posts Tagged ‘effect’

Some work done…

31 Jul

Finally had some time this weekend to put into “Grey”, you can see the fruit of that work in the video below, and hop into Spellcaster Studios’ blog for more information.

 

Mass Effect 3

20 Mar

demotivational-posters-mass-effect-s-ending

Well, this was a game I was really waiting for… And (as you may already heard on the internet) it was bittersweet…

First, let’s get the good out of the way:

The game is freaking amazing… it’s probably one of the best games in its genre (and of any genre, to be honest), that gripped me from beginning to end… except for the last 10 minutes, but I’ll go into that in a bit…

The storytelling was the usual Bioware-grade bonanza, with a bit of everything, including some unexpected curve-balls which kept the game interesting!

It was one of the first games where the concept of cooperation as a path to victory didn’t fill me with annoyance, and it really made sense, with tons of difficult choices along the way which made me feel like I was really Sheppard…

I really can’t say anything about the game that hasn’t been said a million times by reviewers and fans all over; it’s a masterpiece of gaming, specially because it makes overlook its faults (the graphics are a bit outdated, the interface a bit clunky sometimes, etc, etc) and pushes you to delve into the galactic war scenario where you’re facing insurmountable odds in name of something larger than yourself… and that’s cool… Smile

Unfortunately, what would be a 10 out of 10 game is spoiled by the last 10 minutes… the ending is one of the most appalling, badly cooked endings I’ve ever seen, filled with plot-holes and general nonsense that kind of ruins the whole experience… I can’t say more without going into spoilers (and that’s what I’ll do after the break in the post).

Anyway, how do you rate a game like this? A game that made you feel like you were on an epic movie, the game you felt you always wanted to play, a game that you spend 40+ hours enjoying, but at the same time delivered a punch in the stomach in the last 10 minutes that makes you feel like “Mega Shark vs Giant Octopus” was a great coherent movie?

I would be unfair to rate it less that 9/10, but at the same time, the game really made me mad!

My suggestion is that you play it for yourself, even with the pain at the end and come to your own conclusions!

Now, for the spoilers part:

 
No Comments

Posted in Games

 

Effect System

27 Feb

Been working on a new Effect System for Spellbook and Grey lately (not much time for it, though)…

For discussion purposes, an Effect System is a subsystem that will allow me to quickly build and modify effects. Effects in this context are any sequence of visual/audio items that need to do be done in a sequence to augment the animations of the characters…

For example, when Grey does a life-shaping spell, he needs to play his animation (with any sound effects needed), turn on two point lights that follow his hands, draw a beam of light from the ground to the sky, etc… When the effect ends, we need to activate whatever he life-shaped into existence (which can have any number of effects as well).

I’ve defined some goals for this effect system:

  1. Independent – The system should be independent of most existing Spellbook systems, specially minimizing dependencies with the animation system (because of a point below).
  2. Multithreaded – This system should be able to run in a separate thread, synchronizing only for the rendering parts. I want this so that I can do more complex effects, like physics-based cloth animation, etc, without nuking the frame rate.
  3. Data-driven – I should be able to design a whole effect without doing any actual coding. For phase 1, the idea is to have a XML-driven effect, which describes the effect and the changes in properties of the entities that make up the effect, but in the future I want to build a component in SurgeEd that allows me to design the effects in a more user-friendly environment (a Flash-like timeline)
  4. Jump-to-frame – Because I want one day to have a decent application to author effects, I need the effects to be capable of jumping to a specific frame (so I can implement the timeline). In most casts, it’s simple enough to do this (because the state is implicit in a formula), but cases with more random components (like particle systems), this might be more complicated.
  5. Event-tracking – The effect must be capable of raising events (for example, if the spawn of the creature needs to start at a specific time in the effect)
  6. Time-scaling – The effects must be capable of going faster or slower, depending on the instancing of the effect: for example, if the cast time of a fireball is normally 3 seconds and I want it to be done in 2 seconds, the effect must be speeded up.
  7. Hierarchy – The effects must have components that can aggregate other components (and respect the scaling/orientation/position of its parent)
  8. Object reference – All effects must have a source object (that will be the target of animation controls, for example)
  9. Reuse of meshes – The system must be capable of reusing meshes; for example, if I have the same effect running 10 times, I must be able to use the same mesh for all of them, so I can cut the DIP calls from 10 to 1.

 

Of course, some of these will clash with others; for example 9 makes it harder to implement 7, since I have to do all hierarchy calculations in the CPU, instead of going for the GPU.

Anyway, what I have for now is an Effect System, that manages Effect Instances, which contains Effect Objects. The instance is build from an Effect Declaration, which describes properties and interpolators. The Effect Instance animates the properties using the interpolators (in this context, interpolators are everything from a linear interpolator in which a value goes from A to B in C time, to random interpolators which just assign a random value A to the property). The Effect Objects then use these properties to update a renderable mesh that it requests the Effect System…

All in all, the system is becoming interesting, with a good decoupling of animation and render tasks (because of 2), and the fact that I treat everything as a function of properties and interpolators helps along with 3.

Hopefully I’ll have some more on this by the end of the week, on the Spellcaster Studios blog. Any questions/suggestions, don’t hesitate! Smile