Skip to content

GDC08 Notes – Torpex’s Schizoid

Array ( [blocks] => specificItem [show] => [itemId] => 961 [exactSize] => 200 [itemFrame] => none [albumFrame] => none ) Array ( [blocks] => specificItem [show] => [itemId] => 971 [exactSize] => 200 [itemFrame] => none [albumFrame] => none )
Error (ERROR_STORAGE_FAILURE)
  • in modules/core/classes/GalleryStorage.class at line 494 (GalleryCoreApi::error)
  • in modules/core/classes/Gallery.class at line 202 (GalleryStorage::search)
  • in modules/core/classes/helpers/GalleryUserGroupHelper_simple.class at line 105 (Gallery::search)
  • in modules/core/classes/GalleryCoreApi.class at line 1876 (GalleryUserGroupHelper_simple::fetchGroupsForUser)
  • in modules/core/classes/helpers/GalleryPermissionHelper_simple.class at line 64 (GalleryCoreApi::fetchGroupsForUser)
  • in modules/core/classes/helpers/GalleryPermissionHelper_simple.class at line 39 (GalleryPermissionHelper_simple::_fetchAccessListIds)
  • in modules/core/classes/GalleryCoreApi.class at line 501 (GalleryPermissionHelper_simple::fetchAccessListIds)
  • in modules/core/classes/helpers/GalleryUserHelper_simple.class at line 76 (GalleryCoreApi::fetchAccessListIds)
  • in modules/core/classes/GalleryCoreApi.class at line 566 (GalleryUserHelper_simple::hasItemPermission)
  • in modules/imageblock/classes/ImageBlockHelper.class at line 217 (GalleryCoreApi::hasItemPermission)
  • in modules/imageblock/classes/ImageBlockHelper.class at line 93 (ImageBlockHelper::_getBlockData)
  • in /home/aarmgorg/public_html/journal/wp-content/plugins/wpg2/wpg2embed.inc at line 1352 (ImageBlockHelper::loadImageBlocks)
  • in /home/aarmgorg/public_html/journal/wp-content/plugins/wpg2/wpg2embed.inc at line 867
  • in /home/aarmgorg/public_html/journal/wp-content/plugins/wpg2/wpg2embed.inc(1229) : regexp code at line 1
  • in /home/aarmgorg/public_html/journal/wp-content/plugins/wpg2/wpg2embed.inc at line 1229
  • in ??? at line 0
  • in /home/aarmgorg/public_html/journal/wp-includes/plugin.php at line 213
  • in /home/aarmgorg/public_html/journal/wp-includes/post-template.php at line 230
  • in /home/aarmgorg/public_html/journal/wp-content/themes/barthelme/single.php at line 12
  • in /home/aarmgorg/public_html/journal/wp-includes/template-loader.php at line 75
  • in /home/aarmgorg/public_html/journal/wp-blog-header.php at line 16
  • in /home/aarmgorg/public_html/index.php at line 4
1
The talk by Bill Dugan entitled Torpex’s Schizoid was part of the Indie Games Summit, and was done on Tueday afternoon. I took down quite a few quick notes from it, since it detailed how to make a game using XNA/C#, through the process and on a shoestring budget.

Part One XNA studio

  • C#, HLSL, VS2005 tools
  • XNA creators club – $99 per person
  • XBLA process:
    • NDA
    • Pitch meeting XBLA team
    • Concept
    • Submission
    • Green light meeting
    • Alpha
    • “code complete”
    • Pre-cert
    • “content complete”
    • “international content complete”
    • …and some more final stuff, including the final release and certification (if his slides are released, it’ll have them on)
  • Recommend XNA GS? (XNA Game Studio)
    • Maybe. It was good for Schizoid
  • Early speed for development!
  • Test kits are expensive – some should still use PC’s to test
  • Cons of XNA GS (some pros above, others are detailed later):
    • Optimisation takes a while
      • garbage collector problems (solved with reusing objects to stop garbage collector running)
      • Switching between kernel and user mode
    • No external DLL’s
    • Not got all 360 API present – like downloadable content (and other bits, but most are minor)
    • C# Express – not so good since it hasn’t got thread debugging (and you can’t use the pro version)

Use XNA?

  1. Wii? PS3?
  2. CPU bound? do C++
  3. Is there an off the shelf engine to use?

Can be good for prototypes.

Error (ERROR_STORAGE_FAILURE)
  • in modules/core/classes/GalleryStorage.class at line 494 (GalleryCoreApi::error)
  • in modules/core/classes/Gallery.class at line 202 (GalleryStorage::search)
  • in modules/core/classes/helpers/GalleryUserGroupHelper_simple.class at line 105 (Gallery::search)
  • in modules/core/classes/GalleryCoreApi.class at line 1876 (GalleryUserGroupHelper_simple::fetchGroupsForUser)
  • in modules/core/classes/helpers/GalleryPermissionHelper_simple.class at line 64 (GalleryCoreApi::fetchGroupsForUser)
  • in modules/core/classes/helpers/GalleryPermissionHelper_simple.class at line 39 (GalleryPermissionHelper_simple::_fetchAccessListIds)
  • in modules/core/classes/GalleryCoreApi.class at line 501 (GalleryPermissionHelper_simple::fetchAccessListIds)
  • in modules/core/classes/helpers/GalleryUserHelper_simple.class at line 76 (GalleryCoreApi::fetchAccessListIds)
  • in modules/core/classes/GalleryCoreApi.class at line 566 (GalleryUserHelper_simple::hasItemPermission)
  • in modules/imageblock/classes/ImageBlockHelper.class at line 217 (GalleryCoreApi::hasItemPermission)
  • in modules/imageblock/classes/ImageBlockHelper.class at line 93 (ImageBlockHelper::_getBlockData)
  • in /home/aarmgorg/public_html/journal/wp-content/plugins/wpg2/wpg2embed.inc at line 1352 (ImageBlockHelper::loadImageBlocks)
  • in /home/aarmgorg/public_html/journal/wp-content/plugins/wpg2/wpg2embed.inc at line 867
  • in /home/aarmgorg/public_html/journal/wp-content/plugins/wpg2/wpg2embed.inc(1229) : regexp code at line 1
  • in /home/aarmgorg/public_html/journal/wp-content/plugins/wpg2/wpg2embed.inc at line 1229
  • in ??? at line 0
  • in /home/aarmgorg/public_html/journal/wp-includes/plugin.php at line 213
  • in /home/aarmgorg/public_html/journal/wp-includes/post-template.php at line 230
  • in /home/aarmgorg/public_html/journal/wp-content/themes/barthelme/single.php at line 12
  • in /home/aarmgorg/public_html/journal/wp-includes/template-loader.php at line 75
  • in /home/aarmgorg/public_html/journal/wp-blog-header.php at line 16
  • in /home/aarmgorg/public_html/index.php at line 4
1

Part two: How to save cash

#1 reason: Royalties (based on gross revenue) and not for cash

XNA test kits are less costly then XDK’s

NUnit for unit tests, parabuild for the autobuild machine

PC’s for designers + audio (don’t need proper dev kits)

No office – 10AM conference calls every day instead (recommendation: don’t use Xbox live for this 😉 )

  • Telecommuters – yes
  • Rent an office though! If he went back to do it, they’d at least have a place to meet producers/publishers rather then someones house. Would keep the telecommuters though.

Full time QA is important

Localisation: 8 languages – use a localisation company (cost is per word).

Part time PR person! (They still don’t have a full time one).

  • SF preview tour is good to do
  • Talk to all websites (all PR is good, any mention on MS sites is a few more people – all adds up)
  • PR person should know how to phrase game hooks (the developers know the hook, but not how to say it well)

Lawyers

  • Independent contract agreement
  • Review at start and end at least
  • Might want to try relative arrangement

Focus groups

  • Don’t tell them anything
  • Trail used
  • Faster (?) feedback
  • Kleenex testers (throw away)

TCR’s – 30-35% of programmer time (certification things needed – like Xbox profile usage, localisation, etc)

  • Catch early?
  • Can try and waive less important ones, only a few!
  • Example was Xbox 360 profiles – tried to do a “Not signed in” profile – don’t do this! it has a ton of odd cases (trying to log in if they previously used the “Not logged in” account for instance). Easier not to do it to start with.

Questions

On prototyping – apart from C#, alternatives?

  • Managed DirectX
  • Torque
  • Pygame
  • C++ even

{ 3 } Comments

  1. Max Battcher | February 28th, 2008 at 1:26 | Permalink

    Thanks for the notes. I read Jamie Fristrom’s blog (the other founder of Torpex) so I’ve heard all/most of this before, but you’ve summarized it nicely.

    For that last question, if you yourself are looking into prototyping I’d add two more important options: Flash and Silverlight. Silverlight, in particular, I think could be a great prototyping tool, because it is a web plugin, but with C# support.

    If I were to be starting a new design from scratch I would seriously consider Silverlight. In fact, I keep debating if it might not still be worth it to switch from XNA to Silverlight, even with all of the work I’ve already invested in XNA…

    Silverlight has some great designer tools (the Expressions products), and is already cross-platform (the main Microsoft version covers IE, Firefox, and Safari on Windows and Mac; Moonlight is pretty close behind with support for Linux and others).

    Anyway, just some of my recent thoughts tangentially related to your post that you might find interesting…

  2. Andrew Armstrong | February 28th, 2008 at 1:30 | Permalink

    I’m not looking for prototyping myself right this moment, but at the end that was the only question I noted down (the others, I recall, were silly and he ran out of time – the last question, with a groan from the audience, was “So when is Schizoid coming out?” 😉 ).

    But I’ll take note of Silverlight and Flash. It can work well for quick data concepts and certainly 2d work, and as demonstrated at the IGF awards, can be worked into some pretty complex stuff. I don’t have any experience in either however, so I myself would check on C#/XNA or C++ instead.

  3. David McGraw | February 28th, 2008 at 3:43 | Permalink

    I should have paid attention to my surroundings. I was only a couple rows in front of you. That was a good talk.

Post a Comment

Your email is never published nor shared. Required fields are marked *