Thursday, December 29, 2011
Skyrim Is Buggy and Awesome
I have been slow updating my blog recently. Part of this is fatigue from my recent game release. But most of the blame, of course, falls upon Elder Scrolls V: Skyrim. Which ate the brains of everyone in our house.
I love it when a role-playing game breaks big and actually infects regular humans. Sure, it's heavy competition for a while, but it also manufacturers hordes of new, fresh RPG fans hoping for more.
We love the game despite all of its considerable frustrations. I love this video, because it captures so much about what makes Skyrim fascinating.
(Video summary: It was possible to steal from shops by taking pots and putting them over the heads of the shopkeepers so they couldn't see you. Yes, this was actually possible. Though I can't get it to work anymore in the newest version.)
Some people mock Skyrim for things like this, which is a truly startling case of missing the point. Sure, it's a flaw. But imagine how cool and detailed this sandbox is to make such a thing possible. It means that they programmed in exact sight lines for detecting theft, which is why sneaking around a shop and robbing the owner blind is such a satisfying minigame.
I've been an Elder Scrolls fan for decades, because of what makes these games so fascinating: Their reach always exceeds their grasp.
The Elder Scrolls series is about making a game so huge and detailed that it overwhelms you. You have to be a shut-in of terrifying proportions to experience everything. You go on a journey to find a dungeon somewhere, and there are so many dungeons and towns and people and quests on the way that you get lost in a maze of perpetual distraction until the real-world sun rises over the horizon.
Of course, computers aren't strong enough to simulate a world, even a small one. They just can't do it. With that level of ambition and that number of moving parts, there will be bugs and flaws. Tons of them. You don't have to scratch the surface hard to find them, even after multiple patches.
This is inevitable. Yes, Bethesda makes buggy games, and they've probably shipped certain games sooner than they should have. However, with that size and complexity and level of ambition, it can't be avoided. There is just too much STUFF, and too many crazy things that can be done with it. Until real artificial intelligence is invented (it won't be), a sandbox of this level of detail can't be represented by a computer without weirdness around the edges. When the range of possible things that can happen is large enough, even the largest, most dedicated group of testers won't find everything that can go wrong.
It's their crazy version of something like reality, and you have to meet it halfway (because there really are a lot of glitches). Elder Scrolls fans accept this, and, in return, they get a computer game experience that's truly unique.
Thursday, December 15, 2011
Avernum: Escape From the Pit Is Out
We have released our newest game, Avernum: Escape From the Pit, for the Macintosh. As I have written before, it is a ground-up rewrite of one of our earlier games that desperately needed it. We've tried to put a lot of cool new graphics, design, and polish into it. A big demo is available, and the Windows and iPad versions should be out in April.
This is a rewrite of the first game I ever wrote for money, Exile: Escape From the Pit, which first came out in January of 1995. It has been fascinating to go back to my first full-length design. I'd forgotten how weird and silly my work could get.
A few examples:
Huge, Sprawling World.
Skyrim has provided a fresh reminder of how much people love a huge, sprawling world full of details, cul-de-sacs, and side quests to get lost in. When I started out, I made games like that. Avernum is really, really big. It's possible to wander out into the wilds, get lost, and be eternally distracted by all the stuff you can do and dungeons you can explore. I was heavily inspired by the early Might and Magic games, some of the first games that really tried to overwhelm you with a huge world.
I love games like this. However, writing them is difficult for the obvious reason: A huge world takes a lot of work and a lot of energy. I'm old now, and I don't have the limitless drive I used to. I tend now to write smaller, more focused games. Less terrain to explore, but with a more intricate story.
Three Game-Winning Quests.
I am constantly accused of never innovating, and this vexes me. I have worked hard to try new things in my RPGs and stretch the genre, and I've been doing this from day one.
Example: Avernum doesn't have one storyline. It has three. The game has three long, arcing, game-winning quests, each of them almost entirely separate from each other. It is possible to achieve one of them, say escaping the underworld, be told you have won, pat yourself on the back, and never realize that the game still has two epic storylines remaining.
They aren't three different endings. They are three different games.
I did two games this way, and I've never seen another RPG that does the same thing. I eventually let it go to focus on more detailed single stories, but I still think it was a really cool idea.
Odd Humor.
In my spare time, I have had some success as a writer of humor. My games have always had funny elements, some more than others. Avernum contains some bits that are so weird and off the wall that I could never see myself doing now. I don't want to give precise examples, but if you play the game for more than a little you'll start to see what I mean.
Years Pass. Nothing You Can Do About it.
Since 1995, my work has gotten a lot tighter, more controlled, and generally less eccentric. This has been both good and bad. It's also unavoidable. I'm older and more experienced now, and that sort of fresh, unfocused enthusiasm is just not available to me anymore. I still write good games (or, at least, games that sell), but my changing tastes and increasing age have made me unable to do some things and more able to do certain new things.
For example, if you tried Avadon: The Black Fortress and didn't like it, I'm sorry. That is the sort of game I write now. This will change. Five years from now, I'll do something entirely different. (I really, really want to return to open-ended non-linear games at least once before I retire.) But for now, that's it. If you hate my new games, then there is nothing I can do about that.
But, if you don't like the new stuff, I suggest trying Avernum. It's old-school, and it's really neat. I hope you like it.
(And I'll post a link to this article in April when the versions for the other platforms come out.)
Wednesday, December 7, 2011
My Two Gaming Pet Peeves For the Day
Our newest game, Avernum: Escape From the Pit, has reached Release Candidate status. This means that we've made a version that seems complete and ready to sell, and we are touching it as little as possible while beta testers spend one more week trying to break it.
This means that I have a very, very important job: Doing nothing. Don't touch the app. Hands off. Anything I change has a chance of breaking something. So I'm spending this week catching up on my game-playing.
(I also made a really spiffy trailer for Avernum. Turns out, there's this site called YouTube. Who knew?)
This has given me a precious chance to find new pet peeves to complain about. And isn't that what blogs are for?
I Need To Drop Three Pounds Of Gloves So That I Can Walk Again
Of course, like everyone else in the world, our house has Skyrim-fever. As you may have heard, it's a good game.
But, like all RPGs Bethesda makes, you spend sooooo much time sorting through items. Looting the dungeons takes ten times longer than killing the monsters within. And you can only carry so many pounds of treasure. So every item you find requires tiresome "Is this hide shield worth enough money to justify the weight. OK. It weighs eight pounds and is worth 20 coins, or 2.5 coins per pound, so that is an efficient piece of treasure to pick up and ... AHHHH. MY BRAINS!!!!!" And then you pick up one suit of armor too many and you have to drop two pounds of stuff so you go through your pack to find something top drop and ...
Does anyone ever find this fun?
This is one of those things that gets hardcore gamerz mad at me, but screw realism. In my newest games, I give the player a Junk Bag. You can put infinite items in it, their weight isn't counted, and, when you reach a store, you can push a button to sell everything in it.
This is great for people who find even the awesome Dog Takes Your Stuff Back To Town To Sell It system in Torchlight too taxing.
It's the opposite of realism, and I really don't care. When I design a game, the first thing I do is decide what I want the player to spend most of his/her time doing. Hopefully, that part is where the fun is. The second thing I do is minimize time spent doing absolutely everything else.
If I can keep even one player from spending a hour picking through his or her backpack and trying to shed those three extra pounds, I have done my good work as a citizen of the Earth.
I Did Those Jumps In 61 Seconds Instead Of 59, So I Should Totally Be Punished.
In any game with a lot of jumping on platforms, it seems like a legal requirement that there has to be at least one room with a timed sequence. You're at the bottom of some shaft with sheer walls and a tunnel at the top. You push a button. Ledges slide out of the walls. And then you hear that accursed, stress-inducing ticking that lets you know that you have to get to the top quickly, or not at all.
"Tick. Tick. Tick. TICK. TICK. TICK. TICKTICKTICKTICKTICK. [Sound of ledges sliding back into walls.] [Sound of you falling to earth, swearing all the way.]"
Is there anyone, anywhere, who pushes that button, hears the telltale ticking sound, and thinks, "This is so AWESOME!"
This isn't fun. Here is why. Gaining a heroic skill (Fighting. Leaping.) is fun. Using that skill is fun. Perfecting a skill is far less fun. Repeating a series of jumps until you can do them perfectly is even less fun than that.
There. I Feel Better.
Very therapeutic. Now I can finish my game in peace.
Also, I was going to write about how every shooter now has you go down one long corridor with no branches (or alternate paths to victory, or variety), but this design trend is contemptible enough to deserve its own post. I just need time for my blood to get more angry.
This means that I have a very, very important job: Doing nothing. Don't touch the app. Hands off. Anything I change has a chance of breaking something. So I'm spending this week catching up on my game-playing.
(I also made a really spiffy trailer for Avernum. Turns out, there's this site called YouTube. Who knew?)
This has given me a precious chance to find new pet peeves to complain about. And isn't that what blogs are for?
I Need To Drop Three Pounds Of Gloves So That I Can Walk Again
Of course, like everyone else in the world, our house has Skyrim-fever. As you may have heard, it's a good game.
But, like all RPGs Bethesda makes, you spend sooooo much time sorting through items. Looting the dungeons takes ten times longer than killing the monsters within. And you can only carry so many pounds of treasure. So every item you find requires tiresome "Is this hide shield worth enough money to justify the weight. OK. It weighs eight pounds and is worth 20 coins, or 2.5 coins per pound, so that is an efficient piece of treasure to pick up and ... AHHHH. MY BRAINS!!!!!" And then you pick up one suit of armor too many and you have to drop two pounds of stuff so you go through your pack to find something top drop and ...
Does anyone ever find this fun?
This is one of those things that gets hardcore gamerz mad at me, but screw realism. In my newest games, I give the player a Junk Bag. You can put infinite items in it, their weight isn't counted, and, when you reach a store, you can push a button to sell everything in it.
This is great for people who find even the awesome Dog Takes Your Stuff Back To Town To Sell It system in Torchlight too taxing.
It's the opposite of realism, and I really don't care. When I design a game, the first thing I do is decide what I want the player to spend most of his/her time doing. Hopefully, that part is where the fun is. The second thing I do is minimize time spent doing absolutely everything else.
If I can keep even one player from spending a hour picking through his or her backpack and trying to shed those three extra pounds, I have done my good work as a citizen of the Earth.
I Did Those Jumps In 61 Seconds Instead Of 59, So I Should Totally Be Punished.
In any game with a lot of jumping on platforms, it seems like a legal requirement that there has to be at least one room with a timed sequence. You're at the bottom of some shaft with sheer walls and a tunnel at the top. You push a button. Ledges slide out of the walls. And then you hear that accursed, stress-inducing ticking that lets you know that you have to get to the top quickly, or not at all.
"Tick. Tick. Tick. TICK. TICK. TICK. TICKTICKTICKTICKTICK. [Sound of ledges sliding back into walls.] [Sound of you falling to earth, swearing all the way.]"
Is there anyone, anywhere, who pushes that button, hears the telltale ticking sound, and thinks, "This is so AWESOME!"
This isn't fun. Here is why. Gaining a heroic skill (Fighting. Leaping.) is fun. Using that skill is fun. Perfecting a skill is far less fun. Repeating a series of jumps until you can do them perfectly is even less fun than that.
There. I Feel Better.
Very therapeutic. Now I can finish my game in peace.
Also, I was going to write about how every shooter now has you go down one long corridor with no branches (or alternate paths to victory, or variety), but this design trend is contemptible enough to deserve its own post. I just need time for my blood to get more angry.
Thursday, November 24, 2011
/3GB switch to increase the SGA size in windows
On 32 bit OS we can increase the SGA maximum up to 1700MB but by using /3GB switchs for complete memory addressed on windows server 2003 you can use maximum up to 3GB SGA for Oracle.
Additionally by using /PAE & /NoExecute=AlwaysOn switch you can use more than 3.2GB Physical RAM on 32bit windows server 2003 for all programs other than oracle.
Means
In my test case i have 6 GB Physical RAM and 2Gb paging from OS. So if I use these switches I have maximum 3GB SGA and remaining 3GB+2GB for OS and other windows program.
NOTE
If I don't use these switches we have to face to possible errors
ORA-04030: out of process memory when trying to allocate 123404 bytes (QERHJ hash-joi,kllcqas:kllsltba)
OR
TNS-12518: TNS: listener could not hand off client connection
this error usually comes when your memory full reached or your listener comes in blocked state. you can check listener state by lsnrctl services command.
this error usually comes when your memory full reached or your listener comes in blocked state. you can check listener state by lsnrctl services command.
TEST CASE 1 with: /3GB /PAE /NoExecute=AlwaysOn switchs in boot.ini
Changes made to Boot.ini
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=AlwaysOn /3GB /PAE /fastdetect
MEMORY
Physical RAM = 6GB
OS Paging Area = 2GB
SPFILE.ORA PARAMETERS
SGA_MAX_SIZE=1300M
SGA_TARGET=1300M
PGA_AGGREGATE_TARGET =194M
PROCESSES=500
SESSIONS=555
After Taking connection form sqlpls of HR user
SQL> select * from v$resource_limit where resource_name='processes';
RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_AL LIMIT_VALU
------------------------------ ------------------- --------------- ---------- ----------
processes 499 500 500 500
SQL> select * from v$resource_limit where resource_name='sessions';
RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_AL LIMIT_VALU
------------------------------ ------------------- --------------- ---------- ----------
sessions 503 504 555 555
SQL> select username , module ,count(username) from v$session group by username, module;
USERNAME MODULE COUNT(USERNAME)
------------------------------ ------------------------------------------------ ---------------
SYSMAN OMS 1
HR SQL*Plus 474
DBSNMP emagent.exe 2
SYSMAN OEM.SystemPool 2
SYS sqlplusw.exe 1
SYSMAN OEM.Loader 1
After Taking 503 session new session blocked by listener because of processes parameter limits reached.
So this is because of switchs I can able to make 500 connections
HR 452 connections is from server side (in that case each sqlplus.exe took 14M aprox from memory which is also addressable) . So I can make more connection from different clients.
HR 22 connections is from client side
TEST CASE 2 with: /NoExecute=OptIn switchs in boot.ini
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=OptIn /fastdetect
MEMORY
Same as above
SPFILE.ORA PARAMETERS
Same as above
SQL> select * from v$resource_limit where resource_name='processes';
RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_AL LIMIT_VALU
------------------------------ ------------------- --------------- ---------- ----------
processes 266 269 500 500
SQL> select * from v$resource_limit where resource_name='sessions';
RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_AL LIMIT_VALU
------------------------------ ------------------- --------------- ---------- ----------
sessions 270 273 555 555
SQL> select username , module ,count(username) from v$session group by username, module;
USERNAME MODULE COUNT(USERNAME)
------------------------------ ------------------------------------------------ ---------------
0
SYSMAN OMS 1
HR SQL*Plus 241
DBSNMP emagent.exe 2
SYS sqlplusw.exe 1
SYSMAN OEM.SystemPool 2
SYSMAN OEM.Loader 1
After Taking total 270 session new session still open and processes parameter limits nopt reached.
HR 241 connections is from server side (in that case each sqlplus.exe took 14M aprox from memory also) . So I can make more connection from different clients.
HR 1 connections is from client side
After this I am facing the below error on connection.
As you can see currently 7.05 GB memory is using less than 900 MB from the 1st case. And we can make HR 271 connections and we make 474 connections of HR in 1st case
TEST CASE 3 with: /NoExecute=OptIn /PAE switchs in boot.ini
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=OptIn /PAE /fastdetect
MEMORY
Same as above
SPFILE.ORA PARAMETERS
Same as above
Only 249 session can able to connect to database in which 243 is HR
TEST CASE 4 with: /NoExecute=AlwaysOn /PAE switchs in boot.ini
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=AlwaysOn /PAE /fastdetect
MEMORY
Same as above
SPFILE.ORA PARAMETERS
Same as above
Only 255 session can able to connect to database in which 225 is HR
SQL> select * from v$resource_limit where resource_name='sessions';
RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_AL LIMIT_VALU
------------------------------ ------------------- --------------- ---------- ----------
sessions 255 257 555 555
SQL> select * from v$resource_limit where resource_name='processes';
RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_AL LIMIT_VALU
------------------------------ ------------------- --------------- ---------- ----------
processes 251 253 500 500
Hope you all understand the game of this switches.
ORA-06512: at "SYS.DBMS_DEBUG_JDWP", line 68
From Sql developer facing below issue.
Executing PL/SQL: ALTER SESSION SET PLSQL_DEBUG=TRUE
Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( '10.142.58.22', '52331' )
ORA-01031: insufficient privileges
ORA-06512: at "SYS.DBMS_DEBUG_JDWP", line 68
ORA-06512: at line 1
This session requires DEBUG CONNECT SESSION and DEBUG ANY PROCEDURE user privileges.
Process exited.
Disconnecting from the database KASBDB_RAC.
Solution
SQL> grant debug connect session, debug any procedure to <Username>
User and Role what priviliges have assign
What Role does user have in current running session
SQL> show user
USER is "VISION211"
SQL> select * from session_roles;
ROLE
------------------------------
CONNECT
RESOURCE
What Role does user have and with admin option or not
SQL> show user
USER is "VISION211"
SQL> select * from user_role_privs;
USERNAME GRANTED_ROLE ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
VISION211 CONNECT NO YES NO
VISION211 RESOURCE NO YES NO
What System Privileges does ROLE have and with admin option or not
SQL> desc role_sys_privs
Name Null? Type
----------------------------------------- -------- ----------------------------
ROLE NOT NULL VARCHAR2(30)
PRIVILEGE NOT NULL VARCHAR2(40)
ADMIN_OPTION VARCHAR2(3)
SQL> select PRIVILEGE, ADMIN_OPTION from role_sys_privs where role='RESOURCE';
PRIVILEGE ADM
---------------------------------------- ---
CREATE SEQUENCE NO
CREATE TRIGGER NO
CREATE CLUSTER NO
CREATE PROCEDURE NO
CREATE TYPE NO
FORCE TRANSACTION NO
CREATE VIEW NO
CREATE OPERATOR NO
CREATE TABLE NO
CREATE INDEXTYPE NO
Subscribe to:
Posts (Atom)





