<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel><generator>iloblog 1.0</generator><title>News Feed</title><link>http://news.quelsolaar.com/</link><description>&lt;a href=&quot;http://www.quelsolaar.com/&quot; target=&quot;_blank&quot;&gt;Home&lt;/a&gt;</description><item><title>Sure, I can fix your broken Dinosaur!</title><link>http://iloapp.quelsolaar.com/blog/news?Home&amp;post=91</link><description><![CDATA[ Being big, is good up to a point. After that you just get heavy and 
slow. Some dinosaurs had wings but where too heavy to fly. Some had long
 neck, but would pass out from blood loss if they used them to reach for
 anything, and some predators where so heavy the couldn't run. When you 
listen to paleontologists argue about the limitations of dinosaurs, you 
get the feeling that dinosaurs were not designed very well. It doesn't 
sound like something evolution would do. 
 I think that Paleontologist are looking at it all wrong. Instead of 
trying to figure out how these animals coped with physics, evolution 
probably made them perfect, It was the physics that was different. My 
theory is that the effective gravity was lower 65 million years ago.  
 No, I don't believe that the laws of physics have changed, Earth 
probably had comparable mass, but earths rotation is slowing down. If we
 imagine a past version of earth spinning a few times faster, the 
centrifugal force starts to counteract gravity. 
 If gravity was substantially lower, the brontosaurus could walk on 
land and raise its head without passing out because of blood loss, a 
tyrannosaurs would be able to run and the massive birds would be able to
 fly. They would all make sense from an evolutionary point of view. 
 Even today gravity is slightly lower at the equator, and earth is 
slightly flattened as the pols. It is a very slight, but if we look at 
the equation for centrifugal force we find that its velocity to the 
power of two divided by the radius. The power of two, means that the 
fairly insignificant centrifugal force quickly becomes very significant 
if we increase earths rotation. 
 The faster you spin the planet the further out the equator is 
pulled, and the further the distance between the center of earth and the
 equator, the stronger the centrifugal force becomes (the increased 
radius decreases the force, but the increased velocity makes up for it 
as a point on the surface has a longer distance to travel per 
revolution). If earth would spin at around 90 minutes per revolution, 
the centrifugal force would be so strong it would pull the planet apart.
 The equator would break lose from the surface and form the kind of 
rings we see around Saturn.  
 If we imagine that an earth day was only a few hours long in the 
Jurassic period, evolution would develop larger animals due to the lower
 effective gravity. If this theory holds up and earth rotation greatly 
influenced the effective gravity on earths surface, it would only do so 
close to the equator. Therefor you should only be able to find fossils 
of dinosaurs in areas that were reasonably close to the equator at the 
time.  
 I have never ever read anybody suggest this as a theory, and every 
time I read some article about how paleontologists argue about the 
limitations of dinosaurs, I think of this idea. I don't claim to be an 
expert, but I think its in the grand tradition of science to propose 
ideas, and then let others try to prove or disprove them. So please let 
me know how right or wrong you think I am. 
 While thinking of this I also discovered a new continent. Yes, I 
have found a continent, and I'm naming it "Eskil" (I mean, what the 
hell... if you don't like it i got there first). I do admit its a little
 like Democritus naming the Atom, or Higgs theorizing about his Boson, 
and then letting thousands of unnamed scientists spend years of research
 and millions of dollars trying to prove you right, but what can I say? 
I'm a busy guy, got places to go, people to meet and all that. So here 
we go: 
 Its commonly accepted that the tectonic palates once had all 
continents joined together to form a massive super continent commonly 
known as Pangaea. If we imagine that the weight of all continents where 
concentrated on one side of our planet, the center of gravity would 
shift towards that side. Yes, earth surface only makes up a tiny 
fraction of earths mass (most of earths heaviest metals has sunk to the 
core), but remember everything beneath the surface is fluid, therefore 
the core would move to be suspended in the center of the gravity of the 
surface. If the plants center of gravity would move towards this one 
continent, all liquid water would follow, an the sea level on the side 
of Pangaea would rise, and lower on the opposite side revealing a new land
 mass: Eskil. 
 I think its time to stop now, and go back to work.  E  
 ]]></description><pubDate>Sat, 07 Apr 2012 22:05:45 +0200</pubDate><category>Love</category></item><item><title>The Pivot model</title><link>http://iloapp.quelsolaar.com/blog/news?Home&amp;post=90</link><description><![CDATA[  Introduction  
 
There are many kinds of "Fun" that can be had in games. There is the 
tactile fun of being in control, there is the addictive fun of 
collecting things, there is the aspirational fun of living out a 
fantasy. I'm interested in a particular type of fun: Drama. For a number
 of years I have been trying to figure out how to create games that 
accomplish this and my goal has been to build a dramaturgical model for 
interactive drama. I now believe that I have cracked it, and I'm here 
presenting my theory. 
 
Before I start discussing how to achieve drama, I want to define it, 
since there seams to be a lot of confusion in this area. Drama as I 
define it, is dramatic events that form stories. This, in my definition,
 is very different from "Story telling" where the the audience is 
passively following the story rather then taking part in it. There are a
 range of theories and models that can guide you when telling linear 
stories such as a 3 act structure, but none of them are based around 
being interactive. If you try to follow linear story theories when 
making a interactive drama you will inevitably have to limit the 
interactivity, in order to get the player to conform with the rules, 
since the rules of story telling assumes you have control over the 
actions of the protagonist. 
 
Many games have lots of "story", in the form of cut-scenes, recorded 
dialog, text and scripted environments and set peaces. While they can be
 very well done, and even effective, they are not natively part of the 
game medium because they are not interactive. Its like Inter cutting our
 medium with, film, books and other non interactive mediums because we 
have yet to figure out how to do it natively in our own medium. Some 
game developers, try to infuse these inherently non-interactive mediums 
with interactivity by creating branches, to give players multiple 
endings, dialog trees, and quick timing events. While they can become 
non-linear they are still bound by the limitations of the author. A 
choose your own adventure book has a very limited appeal, compared to a 
systemic game like chess that has near infinite possibilities that go 
far beyond what the creators of the game could ever author. 
 
In these cases, the players often stop playing the story of the game and
 start playing the game developer. "I want to do X but i think the 
developer wants me to do Y in order to get where I want to be in the 
story, so I will do Y". A player that chooses to say "No" in a dialog 
tree may have a vastly different idea of why the she wants to say no 
then the developer had, causing the character to do something very 
different from what the player had in mind. A branching story will also 
be very punishing because there is no recourse if a branch leads in a 
direction the player doesn't agree with. 
 
The drama I am trying to achieve can not come from the discovery of 
anything the developer of that game has created. We will therefor focus 
exclusively on building systems that, are enjoyed by players long after 
they have experienced all content and have a full grasp of the games 
rules. 
 
A good example would be a sport like football. Football is a game that 
doesn't become any less fun once you have seen the entire playfield, or 
discovered all rules. A football game doesn't get less interesting to 
watch just because you have seen one before. The drama is not 
discovering the rules, but how the rules interact with the players in 
this particular instance of the game to create dramatic moments. By 
excluding any discovery, we can make sure that any drama experienced by 
the player comes out of the interaction between players and rules, and 
not from the game developer trying to impose story TELLING on the game. 
 
In fact I find that many sports are much more effective at creating 
Drama then videogames, and you will find that my model fits much better 
on many sports then on the vast majority of videogames. 
 
Given the audio/visual capabilities of video games, they can put on a 
veneer of being something different than their mechanics. A game that is
 really about making timed clicks on a surface, can be made to look like
 a knight swinging his sword at a dragon in a dungeon. This layer of 
surface can provide aspirational fun, and aesthetic enjoyment, and help 
the player absorb the mechanics faster. It is however not at all 
necessary to create drama. Again a football game is dramatic without us 
trying to pretend that the players are anything other then players, that
 the field is anything but a field, or that the ball is anything other 
then a ball. A chess player values the knight because of the strategic 
abilities it has, not because the the player is fond of houses. 
 
While there is real value, in adding a "fantasy" to a game, it can not 
provide dynamic drama, and can easily distract you in the process of 
design. 
 
 A different kind of story  
 
Last week, I was visiting my parents, and in their town this small 
cinema was showing Starwars, so I borrowed my dads Chevy and went to see
 it. The cinema was only a few blocks away from my parents house but 
unfortunately on my way back I took a wrong turn, and before I knew it, I
 was heading up a ramp and ended up on the free way. My parents house 
was only two blocks away from the on-ramp, yet the next exit on the free
 way was 8 miles away. So finally I get off the free way, an now I have 
to try to find the on-ramp to get back on to the freeway, but this time 
in the opposite direction. After dodging numerous one way streets I 
finally get back on the Freeway, and at this point I'm so eager to get 
back that i head out in to the fast lane. When i finally get to my off 
ramp, this huge truck keeps blocking me, so i ended up missing my 
off-ramp. This leads to another 5 miles of freeway. After i finally get 
off, i give up on the freeway completely and just take the streets. 
After 20 minutes of trafficlights, I finally get to the Back to my 
parent house. 
 
Why would anyone tell this story? You just went to see the most awesome 
film ever with a deathstar, a captured princess, a magic force, an evil 
empire and a galaxy at war, and you choose to talk about the journey 
from the theater? Why? If you went to Hollywood and pitched this story 
they would tell you its not a very good story, yet we humans tell each 
other stories like this one, about when we missed the bus, when we tried
 to get the copy machine to cooperate or how we got miss treated by 
phone support, all the time. They are important to us because they 
happened to us. An interactive story, doesn't need to be perfectly 
paced, and well told to pull us in, it already has us in it! This is why
 I believe that this type of interactive story is far more emotionally 
powerful, then any scripted story can be. The proof of that can be seen 
in the emotional outbursts found in a football stadium, or players of a 
multiplayer game that you would never see in a movie theater or a 
reading library. 
 
Reality has a way of creating stories that are "better then anyone could
 write". They defy rules of story telling, but they still work. One 
reason they work is that since they don't conform to the rules of story 
telling they become more unpredictable. The greatest football match 
wouldn't be as great if you didn't know that many football matches end 
in disappointment. We must therefor think about interactive drama very 
differently. Its OK, if the outcomes are extreme, or even boring. Its OK
 if the end boss dies by accidentally tripping on the door step and 
breaking his neck. just as long as its a rare freak accident. 
 
While interactive stories are emotionally powerful, they very rarely 
have meaning. A game of football can give you different emotions, but it
 wont be an allegory of the Spanish Inquisition, the way a play or film 
can be. In this theory this received shortcoming doesn't concern me. My 
work has focused on understanding the drama rather then adding meaning, 
and I believe that only once we have harnessed the ability to create 
drama should we consider how to direct it. If your goal is to have 
stories with meaning, you are very likely to end-up with story telling 
rather then emergent drama unless you are very careful. 
 
 The Pivot model  
 Drama in any medium is about tension and release. Tension starts with 
some kind of problem or conflict that builds over time, and then we 
reach a turning point and the issue is resolved, and then the cycle 
repeats. To make a well connected story its preferable if the next 
cycles problem is related to the previous problems resolution.   
My theory is that for a game to be effective at creating drama it needs 
three different elements "Mechanics" "Acceptable failure", and a "Pivot 
state". Each of these can be implemented in a range of ways, but they 
should all conform to the requirements of the elements, to provide the 
basic building blocks to create a dramatic game. Most games don't have 
all three elements, and those who do, often don't conform all that well 
with the requirements for the elements. Some games only have a single 
element represented making them very limited. 
 
 Mechanics  
 
The Mechanical element is the part of the game that most people 
recognize as a game. It is the systems of rules and goal that give the 
player strategic options of how to play. Chess is a game where almost 
the entire game is based on Mechanics. In dramatic terms it defines the 
possibilities of the world, and its limitations. If we for instance 
imagine a play about two men trying to marry the same girl, drama wont 
emerge unless we establish or we at least assume they aren't all open to
 polygamy. Drama does not emerge until the mechanics are known to the 
player so that they can make meaningful decisions. (This is one of the 
problems of branching games, players can never really understand the 
choices they make without spoiling the story.) 
 
The behavior of the mechanics also has to have a level of predictability
 so that player can foresee the consequences of their actions. Many game
 developers imagine that the ultimate game would be a game where 
everything is one big simulation. Simulations, while very interesting 
from a technical perspective, and while providing a persistent rule 
system, easily devolve in to very chaotic systems caused by the 
butterfly effect. The problem with the butterfly effect is that while a 
butterfly may cause a hurricane by flapping its wings, the butterfly is 
unable to predict when or where it creates a hurricane (if it could, 
butterflies would rule the planet). Also, No one who encounters a 
hurricane is ever able to backtrack to find the butterfly that caused 
the event (if we could we would have extinct butterflies from this 
planet). If a player plays an RPG for 50 hours killing bears, boars and 
scorpions, to complete quests to finally reach the end boss only to find
 him already dead, because the player inadvertently upset the worlds eco
 system by killing a scorpion 49 hours ago, they will most likely be 
disappointed. It doesn't matter that the player actually did kill the 
end boss, since they didn't know they did at the time. All Mechanical 
choices therefor must have an impact that is limited by what future 
ramifications the player can imagine. While the impact of a decision may
 last longer then a players plans, it must become increasingly 
irrelevant, compared to the power of the players new decisions. 
 
In our example story from above, the mechanics would be the 
possibilities and limitations of navigating a city with a car. Any time 
you need to go somewhere you need to solve the mechanical path finding 
puzzle of how to get there, and that puzzle in it self constitutes a 
game. Therefor you can build a game using only mechanics. Examples of 
games only using mechanics would be Souduku and a Crossword Puzzle. 
However, if you compute to your job everyday, the navigation puzzle will
 cease to be a game because you will solve it once then just follow the 
same solution everyday. To make it more interesting we need to add 
another element. 
 
 Acceptable failure  
 
Lets imagine a device, lets call it the "Get-lost-a-tron 3000". Its a 
device you put on your cars dashboard, and every time you get to an 
intersection, it will half of the time tell you to go in the direction 
you want, and half of the time it will pick a random direction for you 
to go in. This device will turn the mechanics of road navigation in to a
 more dramatic game because now every journey will become an adventure 
since the get-lost-a-tron 3000 will force you to deal with unpredictable
 events. The device provides what I call "Acceptable failure". 
 
Acceptable failure not only create uncertainty, it can make fairly 
simple mechanics deeper. A smart driver using the get-lost-a-tron 3000 
will not only consider the optimal path, but also how to avoid any 
severe ramifications of decisions made by the device. She may want to 
avoid driving close to an on ramp to avoid have to deal with 
accidentally ending up on it. Chess is a game that exemplifies how some 
rather simple mechanics can be turned near infinitely complex by adding 
an element of unknown (the other player). If you play against a 
deterministic chess computer, and find a way to win you could play the 
game an infinite number of times and win every time, by repeating the 
same moves. Chess would then devolve in to a game without an acceptable 
failure element, and would become pointless. 
 
Acceptable failure can be accomplished in many ways, like chance (a die 
roll), giving the players too many tasks to be able to accomplice them 
all perfectly, twitch, or a human or AI opponent operating in a non 
deterministic fashion. However it needs to be "Acceptable" to the 
player. If the ramifications of a single failure is big, the player 
needs to be able to see the danger in advance and do something about it,
 or the player will find the game unfair. If the failure happens too 
often, like if get-lost-a-tron 3000 would only let you decide where to 
go in one out of a hundred intersections, the player will find any 
strategy pointless. Similarly if the failure rate is too low, the player
 will stop planing for the eventuality that everything wont go their 
way, making the game less deep, and when the failure finally occur the 
player will think of it as a unacceptable anomaly. 
 
Symmetric multiplayer games, often have acceptable failure built-in 
because the players accepts, that any failure, brought on by another 
player is fair since you have the same opportunity to do the same to 
your opponent. This is why balance is such a important part of 
multiplayer games, and why it almost always needs to be tilted in to the
 players favor in a single player game. 
 
The addition of acceptable failure, makes a game repayable and far more 
dynamic, and turns the strategic mechanics in to a game of optimizing 
your chance of winning, rather then wining outright. 
 
 Pivot state  
 
The pivot state a very small, but important state, that radically 
changes the game, for the player to try to change. The player first 
makes a plan for how they want to change the state in to their favor, 
then tension builds as they try to use the mechanics of the game to do 
so. You get the element of suspense not knowing if the acceptable 
failure will either prevent the player from changing the state, or change it in a 
way that is a disadvantage to the player. When finally the state changes
 or "pivots" the tension is released and the cycle begins again. 
 
You may notice that the example story above has almost no reference to 
the mechanics of navigating a city (although they are implicit), it 
references 2 acceptable failures (making the wrong turn and missing an 
off ramp) and alluding to more (trying to find the on ramp to get back 
on the free way). The majority of the story revolves around getting on 
and off the freeway. In our example story whether or not the protagonist
 is on the freeway constitutes the pivot state. The player uses the 
mechanics to try to set the pivot state, and the acceptable failure 
either makes it harder to do so, or lets the player inadvertently change
 the state. 
 
A pivot state does not necessarily have to be aligned with the goal of 
the game and have a "bad" and a "good" state, just as long as the states
 influence the strategy of the game. In our story the freeway pivot 
state is neither good or bad (At two point the protagonist wants off the
 free way, but there is also a point when he wants to get on), but it 
drastically changes the how the mechanics of driving and navigating is 
applied. 
 
The Pivot state in a football match is the score, or rather the delta of
 the score. It changes dynamics of the game, makes players either play 
offensively of defensively. 
 
The pivot state should if possible be interactive so that players have 
opportunities to influence it, but it doesn't have to be. In Formula 1, 
rain could be considered a non-interactive pivot state (No driver can 
control the weather). Rain doesn't affect the standing of the race, but 
it changes the conditions so drastically that enables some racers to 
gain positions while other are likely to spin off. A race where it 
starts and stops raining is far more exciting then a race with uniform 
weather. Even the prospect of a weather change increases the drama of 
the race. 
  
When designing a pivot state, its very important to make sure that its 
impact is profound. It is therefore important no to dilute it by having 
too many different pivot states with too many options. When ever the 
pivot state changes players must be made aware of the change as soon as 
possibly and understand its impact on the mechanics, although maybe not 
on the over all strategy of the game. In larger scale open world games 
this becomes a problem since the player may not be anywhere near the 
point where the change was initiated. 
 
The simplest Pivot state is a simple on/off state, but you can also 
consider a multi-option state. One way of creating more options is to 
use what i call "latent state". A latent state is a pivot state that is 
not accessible unless other pivot state is in a specific state. That 
makes it possible to have more possible states while having a very 
limited possible state at any one time. A good example of latent state 
would be a soap opera. The Pivot state of a soap opera might be who are 
dating and who are enemies. In any one episode the only a few 
combinations to this state would be feasible, but over years of episodes
 any combination of characters can be lovers or enemies. 
 
One model for pivot state that I'm considering is a "gear box" state. A 
manual gear box has a number of states, but usually only the gear above 
and below the one current used is considered, all other gears are latent
 state. A gear box state also has the advantage that its a state the 
driver controls alone. If a driver is in second gear, its because she 
set it to second gear, not because an other player, AI or game mechanic 
is fighting her to set the gear in a adversary way. Therefor the current
 state even if bad will be acceptable to the player. When the driver 
switches to third gear its because the third gear is now more 
advantageous then the second, because of changing conditions, not 
because setting it in second gear was a mistake in the first place. The 
longer the driver waits to change the gear the more disadvantageous the 
current gear becomes. 
 
Its an easy trap to try to make a too complex top state in the name of 
creating diverse drama. Lets take this story: "The evil empire has built
 a death star, and a small group of rebels have to destroy it in order 
to save the galaxy". This is the story of Starwars, but it is also the 
story of "Return of the Jedi". If diversity came form the high level 
plot alone, "Return of the Jedi" would have been a huge flop given that 
it was a repeat of Starwars. In the Starwars trilogy the existence of a 
death star constitutes the pivot state, and you can tell many different 
stories by creating a diverse set of mechanics that the player can use 
to change the Pivot state. A football match that ends with a score 2-1 
doesn't make it a carbon copy of every other match that ends 2-1. 
 
Its important to make sure that all players know how to switch the pivot
 state, and that the challenge lies in using the mechanics to gain 
assess to the switch rather then figuring out what the switch does or 
how to operate it. Remember both death stars, where destroyed the same 
way (go Photontorpedos), the struggle and diversity comes from how you 
get in to the position to be able to do it. 
 
 Application  
 
To give you some examples of how this works in practice, I will here 
analyze and then modify some well known games to better conform with 
this model. I do not claim that any of these rule changes are balanced 
and properly play tested, but i think they do a good job of illustration
 how the model can be applied to different game systems. 
 
 Monopoly  
 
Monopoly is a fairly broken game, because the mechanics are so limited, 
and the acceptable failure rate to too high. (The dice control the 
game). One way to re-balance this a bit would be to let players roll the
 dice twice and then select one of the two outcomes. The game lacks a 
pivot state, so lets add a bear/bull market state. In a bull market the 
normal Monopoly rules apply, but then we add the ability for players to 
somehow initiate a crash, that turns the game in to a Bear market 
lasting for a set number of rounds. In a bear market if you land on 
someones street they have to pay you, instead of the other way around. 
This completely upsets the normal strategy of "buy everything" and lets 
the game twist and turn making it far more dramatic, and players try to 
switch the market in to their advantage. 
 
 Risk  
 
Risk is another game that like monopoly lacks a Pivot state, but 
assuming you are playing under the secret mission rules, where each 
player has a mission card, we can easily modify the rules to create one.
 Lets say each player gets a mission card but instead of keeping them 
secret we make them visible to all players. Now we have a static pivot 
state. To make it dynamic we make a new rule that any if any 2 players 
agree to sacrifice a total sum of 20 troupes, they can get rid of any 
players mission card and replace it with a randomly selected one. This 
gives loosing players an opportunity to pull out the rug from any player
 close to completing her mission, and the game will become much more 
dynamic and dramatic. 
 
 Chess  
 
Chess is very well constructed game to be a purely cerebral game, and 
for the people who enjoy the very deterministic mechanics of chess it 
should remain the same (In other words, it is very successful in an 
different type of fun then drama). Since this is an exercise purely 
about making dramatic games I will suggest some changes. Chess very much
 has the butterfly effect problem that early decisions will have 
ramifications that normal players cant be expected to predict. Adding a 
random element where say a player might use a die roll to collect points
 to return fallen peaces to the board, would make the game less 
deterministic and players would play more in the "now" then always 
taking a long term view. You could argue that what pieces each player 
has available constitutes the pivot state, and that pivot state should 
be able to go both ways. A clearer pivot state would be to add a 
mechanic that would let a player lock or unlock all pawns. Once locked 
all pawns become static and can neither move or be taken. This would 
give the board "terrain" and the players could now use this static 
environment either as protection, or to more easily lock an opponent in 
to a checkmate. A player with an advantage in one state, may be exposed 
in the other making the switching of this state very pivotal for the 
game. 
 
 Starcraft  (one or two) 
 
Starcraft, is a game with strong mechanics, and micro management 
providing acceptable failure, But it suffers from a too big Pivot state.
 The pivot state in Starcraft could be considered each players position 
in the tech tree and how many mining nodes they are harvesting. With so 
much Pivot state each change in the state becomes less important and 
that reduces the tension over the switches. If all players to a greater 
degree fought over the same state we could reduce the amount of state 
and make it more impact full. This would most likely greatly unbalance 
the game since any switch in the state would result in one player 
getting such a huge advantage they would be assured to win. Therefor it 
might be good to changes states so that they are less about giving an 
advantage, and more about changing the tactical options available to 
players. The single player campaign has a mission where parts of the 
level get flooded with lava occasionally. A pivot state like this where 
both players fight over the switch that turns the lava on and off, would
 provide a good neutral pivot state. 
 
 Counter strike  (Bomb mode) 
 
Conterstrike might be one of the best games to conform to this model. 
Acceptable failure is provided by twitch and random bullet spread and 
damage that guarantees that each round is different. It also has a Pivot
 state: the planting of the bomb. Once the bomb is planted the strategy 
for both teams how to win the game changes. The only problem with this 
state is that it can not be reverted. If the bomb could be planted, then
 disarmed and then replanted the game would get more twists and turns. 
An other Pivot state could also be added by making it possible for a 
lone surviving team member to re-spawn all player back in to the game to
 shift the state of the game. The small maps limit the strategic 
options, so to make the mechanics more robust, the game could add static
 shields or the ability to weld doors shut, to give teams more high 
level strategic options. 
 
 Summary  
 
Here is a short list of rules to try to obey for your game elements. 
 
Mechanics: 
-Defines the possibilities of the world. 
-Must be predictable. 
-Must give multiple viable options. 
 
Acceptable failure: 
-A failure Impacts the strategy of the mechanics. 
-Happens enough to make player consider it. 
-Don't happen so often the player feels its pointless to have a plan. 
-Should make the mechanics deeper, by forcing the player to consider failures. 
-Players must feel that failure is a fair element of the game. 
 
Pivot state: 
-Has to be small, but with huge impact. 
-The pivot state must be known to all players. 
-Preferably one state is not always better then an other. 
-The switch affecting the pivot state must be known. 
-The players need to use mechanics to access the switch. 
 
 Complications  
 
These rules are fairly simple to understand in the abstract, but when 
you try to implement it in a modern game things easily become more 
complicated. One major problem is how to communicate events to the 
player. The Pivot state must always be known to all players, and in a 
large scale multi-player games where people can drop in and out at any 
time, and are separated by great distance this becomes much harder to 
incorporate in a nice way without breaking immersion (Bomb has been 
planted). 
 
Another problem is that if you are making a perpetual game, that doesn't
 have rounds that naturally reset the game, Acceptable failure may not 
be enough avoid devolving the game. Games that require this form of 
"Catastrophic failure", are very hard to make acceptable to players. My 
current thinking is that suicide is the only way to provide Acceptable 
Catastrophic failure. A good example of this is RPGs where players them 
selves decide to forgo their powerful characters and start a new 
character, in order to experience the adventure again, although in a 
different way. 
 
No one has ever lived an action film. Why? Because the chance you will 
end up in a car chase, a shoot out, a bar fight, fall out of an airplane
 and find the love of your life, all within two hours is just about 
zero. To make an interesting game you need to tilt the odds of 
interesting stuff happening way beyond what reality can provide. I have 
found that the best way is to build AI director systems that constantly 
look for opportunities to reinforce to pivot state. If the pivot state 
is that the town is run over by gangsters, then the player shouldn't be 
able to pass a bank without stumbling on to a in progress robbery. Make 
every character in the world bemoan the state its in and find every 
excuse to show its impact. This lets you flesh out the world while not 
side tracking it from the pivot state. 
 
A well designed pivot state should act as catalyst for player agency, 
but you can never count on players going along with it. If your player 
just wants to hang out in a desert, then send him some droids with a 
secret message, and if that doesn't work send a old man telling him he 
has a destiny, and if that doesn't work burn down his farm and kill his 
family and make sure the ship he happens to hire will take him straight 
to the evil lair where the antagonist is holding the princess locked up.  Phew  E  
 ]]></description><pubDate>Thu, 05 Jan 2012 12:28:05 +0100</pubDate><category>Love</category></item><item><title>Love is unraveling</title><link>http://iloapp.quelsolaar.com/blog/news?Home&amp;post=89</link><description><![CDATA[ For years I have tried to figure out how to make Dramatic games, games that don't tell stories, but that have stories emerge from them. Love from the very beginning has always been a big experiment trying to build a game that could do that. In some ways it has worked, but in many ways it hasn't worked, So earlier this year I went back to the drawing board to try to figure out the fundamental problem of drama in games, not for just Love but for all games. Some people think that all Love needs is to be more polished, and have better documentation, but I don't think that matters, because I don't think the fundamentals have clicked yet. There are plenty of games with crappy documentation that people love to play anyways. During the summer I finally started formulating a "grand unified theory of drama in games" that has started to answer the questions I have had. Ive since refined and understood this formula better and better, and I'm currently working on writing it all down.  About two months a go I began trying to figure out how to apply this theory to Love. While Love was designed to solve this problem, many of my assumptions made years ago turns out to have been wrong. That in it self is not a failure, that is what research is, to try to find out what you don't know, to learn things beyond your assumptions. The tricky thing is how to fix the issues without starting over from scratch. Sometimes making it hard for yourself, makes you solve the hard problems rather then just bypass them so its not necessarily a bad thing, but it makes things hard. However I now do have a plan that will in some fundamental ways change how Love is played, that i think will move Love in the direction i want. I don't know if it will work but Its time to try.   With this revamp few new thing will be added, but many things will be rewired. It could be compared to implementing a new play mode, like going from Capture the flag, to king of the hill. Same environments, same tools, same players, just different rules. The 5 super tokens will be replaced by a single artifact, that will be very powerful, but that will corrupt who ever has it, and it will be the players job to make sure that no tribe, will use it to dominate the planet.  I will have to try a bunch of new things, and i will introduce new bugs, and make help dialogs become out of sync. This is why I will, in 24 hours, shut down the ability for new players to enter Love. After that only existing players will get to be part of the reshaping of Love. Once the rework is done, I will open it back up to new players. All active accounts will be frozen during this time. If you don't have a currently active account and want to be a part of the Alpha/beta team during this transformation, you have 24h to sign up, but you have been warned; It will be shaky for a while.  I know a lot more about how to make the game I want to make, then I ever did before. Will that be enough to make a game that lives up to what I want? That I don't know. So lets find out.  
 ]]></description><pubDate>Sun, 30 Oct 2011 16:11:07 +0100</pubDate><category>Love</category></item><item><title>Dear John Carmack. </title><link>http://iloapp.quelsolaar.com/blog/news?Home&amp;post=88</link><description><![CDATA[ I'm currently playing Rage and I must say I'm really enjoying it, but please John, don't ever make a game like Rage again.  Long before I was ever a programmer I was a big fan of you. Doom2 and Quake are among my favorite games ever. Even today I play through them every other year or so. They are fluid, fast and not bogged down with cut scenes or story. I don't even feel the need to save my progress when I play because I know rather just replay it next time.  From a technical point of view, the great thing about the id games from the 90s was that every other year a new game would come out it would be full of new ideas, and interesting solutions, that while not always pointing to a mainstream future made them unique and worth exploring.  With Doom3 something happened. It took 4 years. I don't blame you, I blame arist's. Artists don't want 40 characters on screen, they want 10,000 polys per character. Artists don't want you to run fast, they want you to enjoy the scenery. Artists don't want slow projectiles you can dodge, they want realism. The thing with artists is that they so easily can become perfectionists and just like programmers can lose themselves in the whirlpool trying to write the optimal code long after any reasonable performance optimization is left to be made, they get stuck refining every texture pixel by pixel. The truth is that single line drawn by Picasso can (and most often is) more aesthetically pleasing then the meat-head character someone spent six months sculpting in Z-brush. By creating Mega Texture (Really cool by the way) you gave in to your artists desires. There is a Swedish saying that goes something like "Give the bear honey, and it will take you entire arm off". It feels applicable.  I think everyone who makes something is battling this problem: should I sink all time and resources in to one big thing, or should I try many smaller things? God knows I am. If I do something big maybe I will spend all my time on the wrong thing, and if I do something small maybe it will be too small for anyone to take notice. The big decisions always come at the beginning so the longer you work on something the more trivial your impact on it becomes.  Many games designers think its their job to tell stories, but games isn't a story medium, they should go write books or make films. Many artists think that games are about attention to graphical details and in extension to proving how ambitious they are. They should go make art. No, games are about mechanics, they are about feedback, and that is something that programmers provide. Games are not a contest where the developer who spends the most money and time wins either. The greatest legacy of id, is inventing the first person shooter, and things like mouse look. The greatest stories created by id, was not something written, but something that emerges in gameplay. You did that.   If it was all about implementing megatextures, and not about your artists spending years using it, you could have made a game in 18 months not 6 years, so it could be argued that your artists stole 3 Carmack games from us, by demanding perfection.  Some time ago a stumbled on a video interview, where you said that rockets are too complicated to simulate, and that is why Armadillo aerospace builds at least one new rocket every 6 months. Real artist ship. That's what I would like you to do. Get a team of no more then ten people, purposefully don't have more then 2 artists and maybe one level designer on that team and make something in 12-18 months, and dont make it perfect, make it different. Build an engine based on Raytracing, Voxels, particles, Signed Distance fields, vorenoi patterns, or something else we haven't seen. Make something that requires 16 cores, or what ever, just push the envelope in some way. Don't tell a story, don't make a world, make a Descent or a Conterstrike something that doesn't live on content. With a fourth of the time and a tenth of the staff, ill bet you it will be a better investment then Rage.  The thing is you don't have to make something big to get noticed, you are John freakin' Carmack.   Edit:   I find it interesting how people read things on the Internet. Sometimes I think they don't read it at all, they just scan to try to find out as quickly as possible if something is a Flame or Praise, so that they can go ahead and either Flame or Praise it in turn. The world is less binary then that.  Trying to clarify things for people who read the Internet like that may be a lost cause, but hey, here I go:  The story most of you are talking about is story  telling  being  told  in text, cut scenes, voiceover, and machinima. None of that is a game, its other media squeezed in between what is a game. Games have emergent stories, or what I prefer to call drama. That's the thing that happens when you are the last counter terrorist trying to defuse the bomb in counterstrike. Quake, and Doom had drama, modern AAA games have Story telling.  I think that each studio, should make the kind of game that fits them best. I hate the idea that all games that comes from a major studio has to be the same. (currently a realistic, or semi-realistic scripted FPS with cut-scenes). Why cant we let X-Com be a turn based game? Why cant we let Syndicate be a top down RTT game? The problem with Rage is that its trying to be a "modern game" instead of being the kind of game that fits John Carmack. Only one studio in the world can have John Carmack as its lead engineer, so why cant that studio make games based on tech rather then art and design? I'm fine with them being tech demos, as tech demos go, Doom and Quake where pretty great. If it takes Carmack a year and a half to make an engine and then he has to wait 4 and a half years for the art department to finish the game, then clearly id isn't utilizing their greatest asset by the type of games they make.  E  
 ]]></description><pubDate>Sat, 15 Oct 2011 00:48:00 +0200</pubDate><category>Love</category></item><item><title>So, Ive decided to take my work back underground. To stop it from falling in to the wrong hands.</title><link>http://iloapp.quelsolaar.com/blog/news?Home&amp;post=87</link><description><![CDATA[  Back in January I had a dream of something I wanted to do this year. 12 projects. After working so long on one project I really wanted to do as many things as possible. The first month of any project is always the best, its when you are the most creative and its when you get to experience something being created out of nothing. The drawback is that nothing gets finished...  I wont make 12 projects this year, but the last few months Ive been dabbling in a few different things. I used a month to learn web tech and write my own HTTP server API. I have finally gotten started writing a proper version of my Texture generator tool that I wrote a prototype of well over a year ago, and yes, I have been dabbling with a new game too. I wouldn't say that I'm prototyping it, because when you prototype something the code usually looks horrible. This might be among the pretties code I have ever written.   Thats what I'm enjoying doing right now, writing pretty things. Love has always been a test bed for ideas, and as anyone know, a good lab or skunkworks never remains pretty since you keep randomly adding things. In the end it never looks like it would have if you would have know where you were going. Starting fresh feels very nice after a while.  Earlier this year I started understanding games in a way that i never have before. In my mind I have built a model for how to do what i set out to do with love, make a game with a dynamic story. Love was designed to find this answer, but now that i think i have the answer, not everything in love follows this model. I now know that to make Love be what it needs to be, some rather big changes has to be made. When I first started trying to apply this model to Love I found Love to present some problems that forced me to go back and revise the entire model. I'm still polishing my ideas, but soon I will go in and make some pretty big changes.   Love needs more polish, and the obvious thing would be to polish it, but there are things that aren't polished and nobody cares about not being polished, so there is something else going on, and I'm starting to understand what is. I will rearrange many things in love, even add a few things, but most of all i will try to answer the question, why?  Ive been planing and writing on a blog post about this new model and what it will mean for love, but the more I think about it the ground keeps shifting, so I will keep quiet about it for now and just focus on figuring it out. Thats what I will do from now on, be quiet. But know this, I'm working on things, and some day you will see it all.  
 ]]></description><pubDate>Tue, 13 Sep 2011 07:34:17 +0200</pubDate><category>Love</category></item><item><title>It doesn&#039;t take ten times the ink, to put another zero on the check.</title><link>http://iloapp.quelsolaar.com/blog/news?Home&amp;post=86</link><description><![CDATA[ The value of money doesn't scale linearly with how much you have. You see, some dollars are worth more then others. Having more gives you more negotiation leverage, it gives you economy of scale and means that the things we all have to pay can be covered by a smaller part of your income. The plane ticket to go to a city to sign a million dollar deal, is not any less expensive then a plane ticket you needed to go sign a billion dollar deal. The natural state of any unregulated economy is to give the rich a slight advantage proportionally to the poor. Sure, any one can win or loose, but like in a casino, this slight advantage will over a long enough time scale make sure the house always wins. You could say that "fair" as in equal for all, isn't fair at all. A worker earning half as much as an other will have less then half the financial freedom since they both need to pay for the same number of meals each day.  For a brief point in time in the 20th century, this imbalance was reversed and it led to the greatest development our history has ever seen. With the industrial revolution, the rich needed people to fill the factories, and that empowered the poor. Threw legislation, strikes, unionization, and the fear of communist revolt, the poor where able to negotiate a bigger peace of the cake and become richer. This new middle class created a vast new group of consumers that made it even more profitable for the rich to start more companies and hire more people. Everyone benefited.  However, the rich took a good look at their books and found that their main expenditure was the workers. Using machines, effectivization, and out sourcing they where able to cut that costs significantly. If one or a few companies do this it wont matter much, but if all of them do, there will not be enough consumers. Everyone wants someone else to pay their workers enough to buy the stuff we make, but no one wants to pay their own. Every country wants to export their way out of any problem hoping there is some other country who still pays their people enough to buy what ever we make. With such effective means of production, and with so few who can buy, all attention has turned to sales through marketing, branding, and PR. Making stuff is easy, its finding someone who wants it that is hard. Sales is the bureaucracy of capitalism, and our level of bureaucracy has long past any other system.  With no one to buy, what are the rich to do? If there aren't enough people to buy what is already made, why make something new? The only people who can afford to buy something expensive enough, for a rich person to bother to get out of bed is someone else who is rich. But what can you sell to someone who already has everything? The answer is value. Increases in value, side steps the messy business of actually doing something, and requires only that you can find others who agree that what you own is worth more then what you bought it for. Since nothing "real" can be worth enough to fulfill the trading needs of the very rich, they will eventually either invent something to trade, or over value real assets, leading to a value bubble.  It makes sense to invest in something large rather then something small, so the very existence of the ability to buy stock in an existing enterprise discourages investment in new ones. Who in their right mind would bet on something unproven and small, when they can just as well push a button to buy in to something already proven to be the most successful venture ever? And just to be clear, buying stock is most of the time not to invest in the company, but to give your money to the previous owner of the stock. Venture capital becomes fringe pet projects rather then the back bone of investment. As all rich fight over the few and large we get yet another bubble.  The last three decades, the rich have also tried to make up for the consumer defect by lending the money they can not spend to the government and the poor, to keep them consuming, but now Its leading to a disaster for the rich as well as the poor. Like any other bubble, it does eventually burst.   The further the gap between the few and the many, the inherently less stable the economy gets.   Can we repeat the success of the mid 20th century? Can we uninvent our effectivization? No, Why should we? The fact that increases in productivity has made a significant portion of our population redundant, is a huge victory for mankind. We just need a economic system that recognizes this victory and no longer requires everyone to justify their right to a dignified life through work. The economic system should not try to create business, but rather create customers for the things we need. Then business will flourish by it self. And lets be honest, the work deficit, has never been about things not needing to be done, but rather our economic systems failure to support what needs to be done. Why are we all fighting to make customers happy, when most customers already are? Shouldn't we solve problems that haven't bean solved? We don't need yet another home appliance, in fact out planet can hardly afford the ones we have, but that doesn't say there are no things left to do.  A recognition of the fundamental economical imbalance and what it leads to, should inform our political action. Corporations should have a progressive tax code just like people, and investment that goes to fund actual development, should be taxed lower then asset profits. We should not let the rich have any more then what they know what to do with, because beyond that point bubbles will emerge. The awesome computational power we have today, should make it possible to create a substantially more complex tax system without making it harder to use. Lets fill the customer deficit, by getting done the things we need to make the world a better place, rather then trying to make us buy things we don't need. Our victory over production should afford us to embrace everyones well being.  Some say we shouldn't punish success, but who says the future success will come form the rich? The future may not require the masses, but we will only find the few we need in the masses. Giving as many people as possible the chance to try and fail, is therefor paramount through education, encouragement and financial security for all.  
 ]]></description><pubDate>Tue, 23 Aug 2011 22:08:07 +0200</pubDate><category>Love</category></item><item><title>She wont let you fly but she might let you sing</title><link>http://iloapp.quelsolaar.com/blog/news?Home&amp;post=85</link><description><![CDATA[ When Elvis appeared on stage in the 50s with his music and hip movements where positively shocking and parents everywhere saw in horror as their kids got swept up in vice. Things couldn't possibly get worse, until the Beatles showed up and started to sing about LSD. Then came Hendrix and that guy couldn't even play straight. And then came hard rock, and some of the people who where in to that didn't even pretend to be nice, they called them selves things like "Prince of darkness". Then came Punk and that was even nosier. It as now so noisy that it was hard to imagine less melodic music, that was until Rap came along and did away with melody all together. Just when parents all agreed that civilization could not possibly go any lower, somebody suggested even removing the lyrics to create Rave, and the final circle of hell was complete.  A few weeks ago I saw a girl, she was probably around fifteen and she was wearing a bag that said "Punk is not dead". It was a sad moment. Because Honey, Punk is dead, and it died long before you where born. Cry on its grave for a while and then move along, dear.  For the first time in modern music history, old people are horrified by the music young people listen to, not because its loud and obnoxious, but because its timid and pathetic. Have we come to a time when parents storm in to their kids rooms to demand they turn the volume UP? You think you are rebellious for listening to hip-hop? Well, if you are listening to Public enemy, Ice-T and 2 Live crew maybe but that was 20 years ago! Don't steal your parents revolt! Get your own!  Why are we awash with Pixel graphics? Isn't the joke "Look it looks like an old game but its really not, funny huh?" kind of played out by now? Same as the "look at the ugly 70s glasses I'm wearing" joke. Its referencing something old and not bringing anything new.  And its all a joke, a few minutes of shaky youtube footage of a cat falling on or out of something, or a comic strip about some sad characters life that is sooo "funny because its true", or why not one of thous door mats with a funny pun. In fact you can now build your entire home completely out of things that look like other things because its funny. If you look for a potato peeler in some design store you can bet its disguised as and a tooth paste tube, a hot dog or something else at most mildly amusing. Its as if Q, became a pacifist and got a job at Ikea.   Some time ago I found this image:    We think we live in a time of development, but looking at this, it feels like a hundred years ago people developed thoughts on a much grander scale then today. What would a chart like this look like for the last ten years? Would it mention the innovation of wheel rims that looks like they spin even when they stand still and would trucker caps be seen as a major new esthetics's movement?  I love Kraftwerk, The Beatles, Hendrix, Led Zeppelin and a lot of other music that was made before i was born, and that's great, but I'm not trying to re-create what they did or try to pretend that i live in that time. I'm trying to define my own time.  Albums like Sgt. Pepper, The Wall, and even Music for a jilted generation where more then just a random collections of good songs, they constituted a hole that told us something new, They allowed us to enter a new world. We still reference 2001 a space odyssey, Blade runner, and 1984 to define our future. We still consider The Godfather, Casablanca and A clockwork orange master peaces. We still read Homer, Shakespeare, and Kafka not because they where just funny but because they expanded or minds. It takes more then a clever pun or a youtube clip to move human thinking forward like that. It takes a vision, and to be create something like that it requires you to question what has come before, not just recycle it, or reference it. That is the core that you need before you do any thing great, you need to have something to say, a point of view, a new idea. What is your idea? Only when you have that, can you upset your parents properly.  
 ]]></description><pubDate>Sat, 28 May 2011 17:45:44 +0200</pubDate><category>Love</category></item><item><title>I state my case</title><link>http://iloapp.quelsolaar.com/blog/news?Home&amp;post=84</link><description><![CDATA[ The thought of writing a manifesto, has 
always been attractive to me, because I like consistency, I like the 
idea of stating ones very basic philosophy and let everything else flow 
from it.  
  
For years and years I have considered writing down my very basic 
thoughts on life, but for a long time I thought they were of no interest
 to anyone but me. About a year and a half a go I got a mail from 
someone in distress asking me all these questions, questions about life,
 truth and direction. This mail convinced me to write mine. 
  
People don't write manifestos anymore, I think that is a loss. I imagine
 that Karl Marx, and many others who have attempted to write one would 
be pretty appalled by how their messages have been misinterpreted, but i
 still think its a worthy pursuit. So I have spent a year and a half 
writing just a few pages, treading very carefully. The result is not 
what I expected. 
  
I don't know how long i will be able to write whatever I want on this 
page, but for now I can, so I have decided to publish them  here . Read 
them, share them, argue about them, or disagree with them.  
 ]]></description><pubDate>Fri, 31 Dec 2010 00:21:22 +0100</pubDate><category>Love</category></item><item><title>A city of believers.</title><link>http://iloapp.quelsolaar.com/blog/news?Home&amp;post=83</link><description><![CDATA[ I read an article with an archaeologist bemoaning that Jerusalem was the
 most hopeless place on earth to conduct archeology in. You would think 
the rich history of Jerusalem would be a goldmine for any one interested
 in archeology, but No. Why? Because everyone who lives there is already
 convinced of a version of history before they even put the shovel in 
the ground. The only evidence they find is the evidence supporting what 
they already believe. 
 
I read a fair bit of financial news and the stupidity or lack of basic 
understanding of economics that exists in finance is staggering. The 
idea of capitalism is that the profit motive, will motivate people to do
 good things. Its clear that it does motivate some people, but no one 
seems to care much what it motivates them to do. 
 
If a bank manager gets a cut from the profit of the bank, will he or she
 give the customers the best advice how to keep their money, or try to 
make the bank take their customers money? 
 
Is a private school likely to engage parents in order to deal with 
bullying if it may means the parents may move their kids to another 
school once they find out the school has a bullying problem? 
 
If you give money to private hospital, its their prerogative to spend as
 little as possible of that money on health-care and keep as much as 
possible in profits. They may even not want people to get better because
 without patients, how will they make their money? 
 
I'm being told that competition in an open market leads to the best 
products winning, but if that was true advertising wouldn't exist. Yes, 
the best products would win if every one had the all information, but to
 think that is the case is ludicrous. How am i suppose to choose the 
best doctor? I'm not even remotely qualified to say if a doctor is good 
or bad, because I haven't gone to medical school, that's why i go to a 
doctor! 
 
They tell me I should be a "educated" consumer, but I cant go to china 
to check the worker conditions every time i buy a pair of sneakers, no 
one can. 
  
It takes a 2 year old to figure out that everyone cant know everything, 
yet we build our entire financial system on this premise. The entire 
stock market is built upon the idea that its fair because everyone has 
the same information, (proving that it isn't fair at all). We have a 
system where its not important to do good things, but to make people 
think you are going good things. 
 
Another theory economists talk about is "trickle down economics"; the 
idea that if we let people with a lot of money keep their money they 
will stimulate the economy by buying stuff. Coincidentally, people with a
 lot of money has put this theory forward (go figure...). Well, the very
 definition of rich is someone who takes in more money then they spend, 
making them, well, rich. So isn't rich people then the very definition 
stagnation rater then stimulation? Giving someone who is poor 100$ will 
always stimulate the economy better then giving it to someone already 
has got so much money that they have chosen not to spend it all. With 
higher gaps in income, fewer people will get opportunities and therefor 
we as a society will have less success. Its a big problem for society 
and ignoring it is like standing on the titanic and saying "Why should I
 care about a leak on 3rd class deck, I ride 1st class." 
 
We have millions of economists, yet very few managed to predict the 
crash. Why? -Because they are believers. They have a vested interest in 
proving that what ever serves them is true. It is very scary to have the
 majority of this planet be runned on this very shaky ground. The Euro 
was not nearly thought through, the US has no ability to be honest about
 them selves and what needs to be done, and china has massive housing 
bubble and no previous experience of managing a financial crisis. 
 
I have resorted to think that the best financial advice you can get, you
 get from cab drivers. When they tell you to buy gold, IT stocks, or 
real-estates, then you know a crash is near. 
 
Any one who says that capitalism has had no virtues, clearly is 
delusional, on the other hand it has been poor at solving issues like 
health care, and education while creating massive environmental 
problems, and failing to see that is equally delusional. 
 
The Soviet union had 0% unemployment, and provided education, health 
care and housing for all. Numbers that should be the envy of any nation.
 So why did it fail? Because its leaders where believers, They believed 
so strongly in their systems successes, that they failed to recognize 
its failures; lack of freedom, innovation, and accountability. They 
thought that one solution, one system would fix all problems. Lets not 
make the same mistake.  
 ]]></description><pubDate>Sat, 25 Dec 2010 02:43:01 +0100</pubDate><category>Love</category></item><item><title>ComputerWorld Part 2</title><link>http://iloapp.quelsolaar.com/blog/news?Home&amp;post=82</link><description><![CDATA[ Betray  Betray is an easy to use portability library that lets you build single window OpenGL applications. It can be compared to GLUT or SDL, but has a more streamlined interface and supports a few more things. A very important feature of Betray is that it lets you write a single application that supports many different modes of input and outputs. The idea is not just to make it easy for application developers to write portable applications, but also for people who either make, or have access to special hardware to write their own versions of betray, so that all existing betray applications will support the hardware. It makes it much easier for hardware or interface developers, to test out their hardware with existing software. Closed source applications like Betray will soon be released with an Open source betray DLL so that anyone can rewrite it to work with any kind of input and output devices. The file b_test.c is a simple example program using much of the Betray API.  I invite anyone who wants to, to use, test, debug or help me to port betray to other platforms or hardwares to do so. If you are interested E-mail me at eskil at obsession dot se  Basics:  While its good for Betray implementations to support as much as possible of the Betray API, this isnt always possible. A particular hardware may lack features such as pointer device of multi touch. Even if a feature is not implemented it still needs to be present in terms of API entry's, and should return reasonable default values, to make it easier to support. By using the functions betray_support_context and betray_support_functionality you can ask the implementation functionality is active in the implementation.  To initialize betray and create a screen you call the following:  void betray_init(BContextType context_type, int argc, char **argv, uint window_size_x, uint window_size_y, boolean window_fullscreen, char *name);  Currently Betray only supports OpenGL contexts, but in the future it may be extended to support other rendering contexts too. Once betray has been initialized you can use the functions, betray_action_func_set to give betray a function pointer to the action function that will act as the programs main loop, then call betray_launch_main_loop to start the applications main loop. The Main loop function will be called with a pointer to the structure BInputState that contains useful input state. In this structure you will also find the member "mode" that can be set to either, BAM_DRAW, BAM_EVENT, or BAM_MAIN. This member indicates why the main loop has been called, to either redraw the screen, handle input or compute (the compute call is where time should be advanced, and will be called even if the program has been minimized and is therefor useful to keep things like network connections alive that are not dependent on either being displayed or requires input form the user). The reason for having a single entry point for all three is that you can build nice libraries of interface functions that can handle all 3 modes. Consider this function:   boolean my_button(BInputState *input, float pos_x, float pos_y, char *name)  This function can now handle both drawing and handling input, independently, and the user only have to add it once to the code base, even if it gets called multiple times for different reasons.  Display  While betray_init immediately gets you a screen to draw to, you can at any time modify the screen mode using betray_screen_mode_set. By setting x_size and/or y_size to zero in either betray_screen_mode_set or betray_init betray will revert to the size of the desktop. To find out the current size and state of the draw surface you can call betray_screen_mode_get that will also return the aspect ratio of the screen. In order to support head tracking and stereoscopic (3D) programs should use betray_view_vantage betray_view_direction to retrieve the position of the eye in relation to the screen and any camera rotations or movements.  Betray has a few OpenGL specific functions like betray_gl_proc_address_get to get access to extension function pointers, and betray_gl_context_update_func_set where the user can give betray a function pointer that will be called if the current OpenGL state is lost (this usually happens when screen modes are changed). To make it possible for a Betray implementation to render the entire application to a texture using FBOs, the function betray_gl_screen_fbo_get exists. When ever the betray application is using FBOs and would like to reset the draw target to 0 (the screen) it should instead reset it to the value returned by betray_gl_screen_fbo_get.  Input  The input is divided in to 3 different category's, pointers, axis and buttons and Betray can support any number of each. Pointers are 2 dimensional screen pointers with one or more buttons. You can read out their position, delta position and the position of their last primary click. The later can be very useful when implementing buttons since a button can check both if a pointer is on a button and if it was at the tim of the click, and that means buttons does not need to store state. Using betray_set_mouse_warp the application can hide and continually warp the mouse pointer to the center of the screen in order to avoiding hitting the edges, something very useful for first person mouse controls. Buttons on pointing devices show both their current state and the state they were in the last frame, and it is therefore possible to know if the button is being pressed, released or held. For all buttons you can use the betray_button_get_up_down to store your own state for any button you want. If the user is expected to type in text, it is good to call betray_button_keyboard to enable betray to show a on-screen keyboard on platforms without physical keyboards. Axis are essential any 1, 2 or 3 dimensional input such as joysticks, pedals, accelerometers and so on.  Sound  Betray also has a API for 3D sounds that lets you load sounds (using betray_audio_sound_create), set a listener (using betray_audio_listener) and then play the sounds (using betray_audio_sound_play). Once a sound has been started it can be modified using betray_audio_sound_set and betray_audio_sound_stop.  IO  To help betray applications better integrate with the operating system it also supports accessing text strings from the clipboard, and the ability to launch open and save file requesters.  Threads  Finally betray supports basic thread functionality that lets you create threads and create, lock and unlock thread safe locks.  Note:  Betray has just been rewritten and I have yet to port over Love or any other applications to the new API. Seduce will be the first library that will be ported over to the new version of betray. At the moment Betray is only implemented for Win32, but other operating systems will soon follow. I hope to get as many developers as possible to use and contribute to Betray so that we can make multi platform development easier for everyone.  The library can be downloaded from  http://www.quelsolaar.com/quel_solaar.zip  Or you can view the betray.h file at  http://www.quelsolaar.com/betray.h   
 ]]></description><pubDate>Sat, 18 Dec 2010 00:24:55 +0100</pubDate><category>Love</category></item></channel>
</rss>
