VectorC {VU} FAQ
What’s the business case?
VectorC {VU} is designed to bring new features to PlayStation®2 game development so your titles are more technically competant and better looking than ever before. Crucially VectorC {VU} also saves time and money in achieving these goals. Here's 5 examples how:
- Get more complex code onto the VU - effects that look better than currently possible and rival those possible on Xbox and GameCube.
- Make your VU hand coding people more efficient - they can start from good assembler already, rather than a blank sheet.
- Reduce your reliance on the few technical programmers who can hand code for the VU, and improve code maintainability.
- Motivate your senior programmers - allow them to focus on gameplay rather than just getting things to work.
- Enable junior programmers to get code onto the VU, and hence get more productivity from them.
- Move code off the EE and on to the largely untapped VU0, your game is EE bound no longer.
Reducing the technical difficulty of harnessing PS2 performance means there's more time and resources to focus on gameplay issues and that means producing the most compelling entertainment software.
Is there an evaluation scheme?
Yes, there is. Licensed PlayStation®2 developers can go here and download any evaluation software we have available. However you may not use our evaluation software to produce code in commercial games. Also, if you have an account on the Codeplay web site, this may be upgraded to provide access to the PlayStation®2 NDA section which also has evaluation software for download as well as more technical information covered by NDA. See here for more.
What about site or title licenses?
In many case site or title licenses are more convienient and more economical. We don't provide fixed pricing for those but our sales team will be happy to discuss the options available.
What about updates?
A licence entitles you to all 'point' updates. A major new release is likely to be chargable but there will be favorable upgrade options. At this stage we don't forsee a major update occuring before a year after release.
Is there any annoying copy protection?
We have a form of copy protection but we like to think it's not annoying. Our software incorporates a Licence Manager application which ties an installation to a particular machine and fetches licence codes from our central server via e-mail. It's quick and easy and we don't stop you from installing on new machines. Also if you've bought VectorC {VU}, after it's unlocked it never needs to be unlocked again and neither do upgraded versions of the compiler.
What's the situation with support?
Codeplay doesn't believe in charging support and maintenance fees. We provide support and ongoing maintenance releases as part of the cost of our products. When it comes to significant updates, our goal is to add enough major functionality that upgrading is worthwhile. We also promise to fix all bugs in our products regardless of major new chargable versions being released.
How do I get support?
For our PlayStation®2 compilers, we prefer using the SCEE/SCEA developer newsgroups. However direct telephone and E-mail support is also provided.
I have PS2 Linux, can I buy VectorC {VU}?
No, sorry. Our current agreement with SCEI, SCEE and SCEA precludes selling to anyone that is not a licensed PlayStation®2 developer.
Techy questions
How does VectorC {VU} handle things like the clip instruction and subsequent tests?
So far only via provided intrinsic functions. We're open to suggestions in this area.
The 'Buts'
But I already have a large existing VU code base
No doubt you have hand-optimized loads of VU code, which you use across several games. Using VectorC will allow you to use the VU for much more complex functions, things that you did not think possible (or just really didn’t want to hand code!). VectorC complements your existing VU code (it can fully schedule inline assembly), so you can add to it and extend it.
Note: Due to popular request we have added more features enabling VectorC{VU} to be used with existing VU assembly. New elements such as restricting registered used, assigning variables to memory locations and setting calling conventions and compile locations all allow your VectorC {VU} generated code to run happily side by side that tried and trusted hand optimized code you've already written.
But we’re EE bound; VU1 spends half its time waiting for stuff to do
Move some stuff from the EE to a VU! Using VectorC, some of your existing EE code will compile for a VU - you can get more of the rendering pipeline across, things that you need to write in C. We also provide a feature where by VU0 micro-mode functions can be called from your EE code as if they were local functions. This is a dramatically higher performance alternative to using VU0 in macro-mode. There is more information on this in our PlayStation®2 NDA section.
We're VU1 bound, we're waiting for it to clip, transform and light those polys
Wow, you're doing a lot. There's a few solutions here such as implementing some level of detail in your rendering pipe or otherwise smartening it up so it it's not doing work unnecessarily. This is the kind of more complex, smarter rendering code we advocate rather than a simple brute force approach as is often the case with hand coded assembly.
What's more, you can't beat being able to move C/C++ code around the components of the PS2 in order to get that perfect performance balance to task the hardware best.
But what’s the point? VU assembler is fun!
We’re all in software development. You get some code that does the job, then add to it and extend it so it starts to do the job well. Once it works, you start changing it so it does more stuff. However, programming in dense assembly doesn’t work this way - you have to spend ages making it work at all, and changes can be a nightmare. We do know of some developers writing complex VU assembly for VU0 and VU1 but most game developers do not. VectorC {VU} provides the same benefits of having several well trained VU assembly gods and it still does it faster and cheaper.
VectorC allows for prototyping complex code, with changes and extensions easy. Add a light source? More sophisticated procedure generation? If it’s written in C, this is no problem. Take a look at the examples section to scratch the surface or our PlayStation®2 NDA section for more technical details on how VectorC {VU} can provide tangible performance improvements to your game.
PlayStation is a registered trademark of Sony Computer Entertainment Inc.
|