Saturday, October 23, 2010

Coding skill +1 (Jan-Ken-Pon of DOOM in C++)

More code from over half a decade ago!
// Jan-Ken-Pon of DOOM by Dopefish
#include <iostream>
#include <ctime>
#include <stdlib.h>
#include <conio.h>

using namespace std;

void score(int iW, int iL, int iT)        // Function for writing out the score
{
    cout << "Win: " << iW << " Lost: " << iL << " Tie: " << iT << endl;
}


int main () 
{
    int iFool;        // Random start message
    int iComp;        // Computer choice
    int iPlay;        // Player choice
    int iLost;        // Lost counter
    int iWin;         // Win counter
    int iTie;         // Tie counter
    bool bGame;       // Game status
    bGame = 1;        // Game is active
    srand (time(0));  // Random seed from system clock
        

    cout << "Welcome to Jan-Ken-Pon of DOOM!" << endl;
    while (bGame == 1)
    {
        iComp = (1 + (rand() % 3));    // Comp choice on random (1=Rock, 2=Paper, 4=Scissor)
        if (iComp == 3)
        {
            iComp = 4;        // 3 is changed to 4 (Scissor) for calc purposes
        }


        iFool = (rand() % 3);        // Random start message
        switch(iFool)
        {
            case 1:
                cout << "I'll cut your throat with my scissor!\n" << endl;
                break;
            case 2:
                cout << "You'll eat my rock!\n" << endl;
                break;
            default:
                cout << "I'm going to slice you up with my paper!\n" << endl;
                break;
        }


        cout << "What are you going to do:" << endl;
        cout << "1. (Rock)\n2. (Paper)\n3. (Scissor)\n4. (Give up!)" << endl;
        cin >> iPlay;
        cout << endl;

        switch(iPlay)
        {
            case 1:
                cout << "Rock" << endl;
                break;
            case 2:
                cout << "Paper" << endl;
                break;
            case 3:
                cout << "Scissor" << endl;
                iPlay = 4;            // 3 is changed to 4 for calc purposes
                break;
            case 4:
                cout << "You run away in to the distance..." << endl;
                bGame = 0;
                break;
            default:
                cout << "That wasn't an option sucker!" << endl;
                cout << "I don't play with cheaters..." << endl;
                bGame = 0;
                break;
        }


        if (bGame == 1)
        {
            switch(iComp)
            {
                case 1:
                    cout << "Rock\n" << endl;
                    break;
                case 2:
                    cout << "Paper\n" << endl;
                    break;
                case 4:
                    cout << "Scissor\n" << endl;
                    break;
            }
        }


        iPlay = iPlay - iComp;    // Win, Tie or Loose check (1=Rock, 2=Paper, 4=Scissor)
        switch(iPlay)        
        {
            case -3:    // Rock vs Scissor
                iWin++;
                score(iWin, iLost, iTie);
                break;
            case -2:    // Paper vs Scissor
                iLost++;
                score(iWin, iLost, iTie);
                break;
            case -1:    // Rock vs Paper
                iLost++;
                score(iWin, iLost, iTie);
                break;
            case 0:        // Both picked the same
                iTie++;
                score(iWin, iLost, iTie);
                cout << "Hmm... that was strange... ";
                break;
            case 1:        // Paper vs Rock
                iWin++;
                score(iWin, iLost, iTie);
                break;
            case 2:        // Scissor vs Paper
                iWin++;
                score(iWin, iLost, iTie);
                break;
            case 3:        // Scissor vs Rock
                iLost++;
                score(iWin, iLost, iTie);
                break;
        }


    getch();
    }    // end of while loop

    return 0;

}    // end of main

Coding Skill +1 (Zombie mower in C++)

Found some code I did over half a decade ago :)


// Zombie mower by Dopefish
#include <iostream>
#include <iodos.h>
#include <conio.h>

using namespace std;

int main()
{
 dos_console();

 int zombies = 1;

 cout << "How many do you see standing on the lawn?" << endl << "> ";
 cin >> zombies;

 while (zombies > 0)
 {
  cout << zombies << " zombies left under the moon" << endl;
  cout << zombies << " zombies is going to be mown" << endl;
  cout << "If one of em' happens to be mown," << endl;
  zombies--;
  cout << "then it's only " << zombies << " left on the lawn" << endl << endl;
 }

 if (zombies < 1)
 {
  cout << zombies << " zombies left under the moon" << endl;
  cout << zombies << " zombies is going to be mown" << endl;
  cout << "There are no more zombies left to mown..." << endl;
 }

 getch();
 return(0);
}

Thursday, October 07, 2010

Deus Ex 3 Gameplay footage


ModDB Spotlight September 2010

nDo - Normal creation toolkit!

"Yesterday at about 10:43am (PST), teddybergsman posted a thread in the Pimping & Previews forum that caused quite a stir and also caused a lot of jaws to drop. With his first post, he became an instant legend in the Polycount community by sharing his normal mapping toolkit called nDo.

nDo has a wide variety of normal map creation features, which gives the user great control to create quality normal maps all within Photoshop in a simple and easy to use script."
nDo tutorial by Philip Klevestav
Polycount - nDo Normal Map Creation Toolkit
nDo Download and Installation Instructions

Monday, September 20, 2010

Marco Spitoni - I'm the Freeman (machinima?)


"I've always been in love with the PC game "Half-Life" so I've decided to work out a project that would have been a trailer for an hypothetic feature film of Half-Life. Again, is not live action, althought I would have love to have the chance and the time to work out something like that.
So, here is the teaser, but at the end there won't be any short movie, just a trailer which it will be a lot longer, packed with more contents and telling a little bit about the story."
Escape From City 17 - Part One

Thursday, September 16, 2010

APB shuts down

DAMN IT! Didn't have a chance to get the latest update, so I can't join in for the last session :(

APB has been a fantastic journey, but unfortunately that journey has come to a premature end. Today we are sad to announce that despite everyone's best efforts to keep the service running; APB is coming to a close.

It's been a pleasure working on APB and with all its players. Together we were building an absolutely amazing game, and for that, we thank you. You guys are awesome! From all of the Realtime World staff we thank you for your continued support. The servers are still up, so join the party and say goodbye!
- Ben 'APBMonkey' Bateman (Community Officer)

"I truly wish we had the chance to continue to craft APB into the vision we had for it. It has been a long & difficult journey but ultimately rewarding to have had the chance to try something bold and different. APB holds some great memories, from the last night of the beta, to the clans and individuals who amazed us with their creativity and sense of community.

I am so sorry it had to end so quickly but hopefully the good memories will stay with us all for a long time. Thanks to all the team for the years of hard work, and to the players who contributed so much."
- Dave Jones

Please spare a thought to all the thousands of brave men and women of San Paro who despite knowing the odds, still dared to cross the street. They will be sorely missed..
- Johann van der Walt (Software Engineer: Living City)

Thanks for sticking with us through the hard times guys, we put a huge amount of our lives into APB, but unfortunately we.re not going to get the chance to make it the game we all knew it had the potential to be. Thanks." 
- Rob 'bobbyd' Anderberg (Technical Lead).

"Thanks for being a creative and imaginative community, the cookies, feedback and ideas were appreciated." 
- Ben ' Giefster ' Skelly

"Working on APB was rewarding, frustrating, amazing, depressing, exciting, and overall, surreal. I've never experienced anything quite like it, but I.ve enjoyed it all the way. I hope the players enjoyed the time they had despite the short comings, and will remember the game in a good light for what it was meant to be, not quite what it turned out to be. Now just to get started on that Xbox version..."
- Jon McKellan (the guy who did the loading screens)

I had the great pleasure of working with some extremely talented people in both the Dundee and Boulder office, and for the longest time APB was our lives. It is truly sad that it ended this way ... but when you aim for the stars, you sometimes fall on your face..
- Ben Abbott, Live Producer

"Press F to apply for Jobseekers Allowance."
- Ben Hall (Development QA)

"In every way APB was a dichotomy. I have witnessed the project alter from a fragile and delicate entity used to show the world the depth of our vision through to the sturdy beast we released to the public.

There were the unusual errors and crashes which are to be expected but it worked. Once in the hands of our community I have never seen something elicit such a polarisation of people. It was dismissed as overhyped and broken or else taken to heart to be loved and cherished, buoyed on by a fanaticism I was proud to have played a part in bringing to the world.

Although still again among our players APB brought out both the poles in human behaviour. I bore witness to raw hatred and fury, arrogance and mean spirits but I was also delighted to experience the kindest side of human nature as players came to the aid of others when in a tight spot or they created works of art with the tools provided.

In all APB was a fantastic experience with an incredible team and it is one that I will always cherish and has added to who I am. Thank you everyone involved from our excellent players to our incredible dev team."
- Conor Crowley (Senior QA, System design assistant, Tech support, in-game support, Overall CS, 1 man Publishing QA team, Tea Boy, Morale Officer)

"I'm sad to see the project go. Of all the games I.ve worked on, APB was probably the one with the most potential. I genuinely believe that given more time, we could have turned APB into the game we all wanted it to be.

I'd like to thank the community for all their support, the good times I've had playing against them, and for the amazing (and often hilarious) user-generated content that they've created. I'd also like to thank the rest of the team for all of their hard-work, and for generally being great people to work with. "
- Bryan Robertson (Gameplay Programmer)

Where Realtime Worlds went wrong

Where Realtime Worlds went wrong, part 1
Where Realtime Worlds went wrong, part 2
Where Realtime Worlds went wrong, part 3

Words from the inside of Realtime Worlds

Sunday, August 29, 2010

Words from the inside of Realtime Worlds

ExRTW says: (August 16, 2010 at 11:32 am)
"What a fucking mess. I’m ex-RTW.

An outcome like this wasn’t desired by anyone at RTW, but game development is a weird business. A game can play poorly right up until only a few months before release, for a variety of reasons – Crackdown was awful right up until a month or two before it came out (some would say awful afterwards, too, but I’m trying to make a point :)
Knowing this, it can blind you to a game’s imperfections – or lead you to think it’s going to come right by release. You end up in this situation where you’re heads down working your ass off, not well able to critically assess your own product.

APB itself only really came together technically relatively late in its development cycle (and it still obviously has problems), leaving too little time for content production and polish, and lacking any real quality in some of its core mechanics (shooting / driving).

It’s not that the team was unaware of these huge issues, but a million little things conspire to prevent you from being able to do anything about them. It can seem difficult to comprehend, it certainly was for me before entering the industry – ‘How did those idiots get X wrong in game Y?’.
No team sets out to ship something anything less than perfection, but projects can evolve in ways that no one seems to be in total control of. All that said, it was pretty clear to me that the game was going to get a kicking at review – the gap between expectation and the reality was huge.


I wasn’t on the APB team, so I played it infrequently, during internal test days etc. I was genuinely shocked when I played the release candidate – I couldn’t believe Dave J would be willing to release this.

All the issues that had driven me nuts about it were still there – the driving was poor (server-authoritative with no apparent client prediction, ergo horrendously lag intolerant), combat impact-less, and I found the performance of the game sub-par on what was a high-spec dev machine.
But the real killer, IMO, is the business model. This was out of the team’s hands. The game has issues, but I think if you separate the business model from the game itself, it holds up at least a little better. A large scale team based shooter, in big urban environments, with unprecedented customisation and some really cool, original features.

The problem was that management looked at the revenue they wanted to generate and priced accordingly, failing to realise (or care) that there are literally a dozen top quality, subscription free team based shooters. Many of which, now, have progression and persistence of some sort – for free.

The game would have been immeasurably better received it had simply been a boxed product, with paid-for in-game items, IMO. This may not have been possible, given what was spent on the game and the running costs, but the market is tough.
You can’t simply charge what you feel like earning and hope the paying public will agree with your judgement of value. Many of us within RTW were extremely nervous at APB’s prospects long before launch, and with good reason, as it turns out.

They also failed spectacularly to manage expectations. When Dave J spoke out saying there would ‘not be a standard subscription model’, he unwittingly set expectations at ‘free to play’. When it’s announced that we’re essentially pay-per-hour, we get absolutely killed in the press, somewhat understandably.

The game also announced far too early (though it kept being delayed), and had little to show but customisation for what seemed like years, largely because internally we (correctly) judged it to be the stand out part of the game. But we should have kept our powder dry.
Our PR felt tired and dragged on and on, rather than building a short, sharp crescendo of excitement pre-release. We also went to beta far too early, wiser heads were ignored when it was pointed out that any kind of beta, even very early beta, might as well be public as far as generating word of mouth.

The real purpose of beta is publicity, not bug fixing. We never took that lesson on board. We also made the error of not releasing fixes externally to many of the issues early beta testers were picking up, keeping the fixes on internal builds, I presume to lessen the load on QA.

This simply meant that to early beta testers, it looked as though we were never bothering to fix the issues they found, when in fact, they were being fixed, simply being deployed back into beta very infrequently. This lesson was eventually learnt, but only after we’d pissed off a large number of early-adopters.
The sheer time spent and money it took to make APB is really a product of fairly directionless creative leadership. Certainly Dave J has great, strong, ambitious ideas for his games.

But he’s a big believer in letting the details emerge along the way, rather than being planned out beyond even a rudimentary form. For most of the lifetime of APB, he was also CEO of the whole company, as well as Creative Director. His full attention was not there until it late in the day.

This has ramifications for how long his projects run – many years, on average – and the associated cost. This, in turn, means that the business model options were constrained, conspiring to place APB in a really difficult position, commercially.
Ultimately, it’s this pairing of a subscription model cost with free to play game play that really did for the game. And many of us saw it coming a mile off. I must admit I’m dismayed about the scale of the failure, however.

Many of us thought APB might do OK at retail and sell a few hundred thousand, though struggle on ongoing revenue, and gradually carve a niche. But it absolutely tanked at retail I believe (though I’m not privvy to figures) I think due to the critical mauling it received.

It never made the top 20 of the all format UK chart. It’s scraping along the bottom of the PC-only chart, a situation I’m assuming is replicated in its major markets. And being at the bottom of the PC-only chart is not where you want to be as a AAA budget game.
God knows what the budget was, but when you account for the 150-odd staff and all the launch hardware and support, it was in the tens of millions of dollars. MyWorld is an innocent bystander caught up in the demise of APB.

Which is a real shame, because it is genuinely ground breaking, though not aimed at the traditional gamer audience. It was going great guns over the last year or so, coming on leaps and bounds, impressing everyone who saw it.

MyWorld might as well have been a different company – there was very little staff overlap on the two projects, they worked under entirely different production methodologies, and because we were not the next in line for release we received very little attention from the execs (which was a good thing, to be honest).
We knew that time was limited, and tried to encourage management to go the ‘google-style beta route – release a limited, but polished core feature set early, and iterate. What happens to it from here on out is not clear, but without the people who wrote it, the code isn’t worth a damn, so I can’t see the project being picked up.

Management tried to get a publisher onboard to fund continued development, but the time scales involved meant that was always unlikely, despite some considerable interest from potential partners.

God knows what will happen to it now the team are gone. Probably nothing. Years of my life were poured into that project, but it was a blast to make, and at least it was made public so I can point and say, “I helped make that”.
RTW tried something bold, and fucked it up. It tried to make what amounted to two MMOs at once, as well as self-publish. I have to hand it to Dave J. He’s ballsy. But in the end, we couldn’t do it, and I think the whole company will go under sooner rather than later.

It’s a shame, too, as Dundee can’t absorb the level of game dev redundancies that are about to hit, which means the Dundee scene gets that little bit smaller. But that’s the price of failure, and we certainly failed.

No excuses, really. We were well funded, hired some great engineers, designers and artists, and great QA guys. Ultimately, the senior management team must take responsibility. I think they had far too much focus on the company’s ‘strategic direction’ and not enough on day-to-day execution, which was where it really matters.
And I think a huge part of the blame lies with Dave J, though I can’t emphasize enough how nice a man he is personally; ultimately APB has torpedoed the company, and it failed largely under his creative leadership.

It has other issues (technical, for instance), but the design and the business plan are largely down to him and the board, and they are what have failed so irrevocably for the rest of us."



Unknown-contractor says: (25 August, 2010 at 16:37 am)
“The last 6 months was chaos and no one seemed to know what they were doing. The amount of lies told, especially to EA, was unbelievable.

I think there was a realisation early on this year that the economic crash had finally hit the gaming world and this game that had taken 7+ years to develop and in excess of $100 million really wasn’t that different than the other games being released.

Coupled with a nasty double cross of EA - waiting until last minute to take back online publishing rights - right before launch and a confused marketing campaign meant no one other than hardcore gamers knew the game had launched.
Include some internal politics - mainly from the senior producers and art department - leading to stale advertising material and negative beta campaign the game never really had a chance.

RTW was hemorrhaging $2 million a month between January to May in operation costs. It is a shame as David Jones was still very passionate about his vision for the game but it was kind of stale and a bit 2006-07.

There was a frantic push to de-bug and just get a working game out for summer and no one was asking if the game was actually worth playing let alone paying for.”

APB Insider: 'Realtime Worlds Lied To EA'
Redundancies At Real Time Worlds (comments)

Monday, August 23, 2010

Saturday, August 14, 2010

Cooking Skill +0.5 - The story about the fish

Found a bowl with berries in the fridge. Open lid and see only a white fur/spores growing up. I think they were gathering strength to lift the lid themselves and escape. Oh well, let's try to eat some bread instead. Wth, molded.

Damn it to hell, I jinxed me-self! The only edible stuff in the freezer was fish. There's a reason why I hadn't eaten it already... I hate fish...

I don't even know how it's supposed to look like when it's done ó_Ò

Guess I might have overcompensated with the french fries due to my abnormal fear of fish. And the worst thing of all, it actually taste good!

Probably the best fish I've had since I ate fish sticks as a kid. Not accounting for sushi though. The small amount of fish were Alaska Pollock. Need to remember that they are edible :)