Download presentation
Published byDortha Quinn Modified over 9 years ago
1
Maths & Technologies for Games Console Development & Middleware
Week 18
2
Today’s Lecture Comparing PC & Console Development
Development Environments Commercial Dev Kits Indie Development Middleware Note: All material here can be found in the public domain
3
PC & Console Development
Historically, console development has been much closer to the hardware than the PC Known hardware specification Tendency to drive hardware with assembly language, direct I/O, interrupts, etc. To get maximum performance Early PC games were similar, but gradually moved to higher level programming Due to wide range of possible hardware Two layer approach – API <-> Driver
4
PC & Console Development
Lifespan of a console is up to 7-8 years Between release and eventual fall from use E.g. PS1: 1994->2002, PS2: 2000->2008, PS3: 2006/7->2014/15 XBox One & PS >2021? Hardware barely changes during this time Need to gain maximum performance, especially during latter years Low level work essential for best performance PC hardware constantly evolves Can increase minimum spec slightly every year Higher level approach more suitable
5
Current Gen: PC vs Console
However, the current generation of consoles are very close in specification to a PC Multi-core CPU Powerful GPU (similar to PC variants) Concurrent programming very important Shader programming key for graphics Ability to develop using higher level APIs Xbox One uses a variant of the Windows 8 APIs Games of the standard of a moderately powerful PC Although PC games usually have better graphics now Latest gen titles, so far, do not seem to be outstripping recent PC titles. This is unusual so early in console lifetime…
6
Current Gen: PC vs Console
Still some differences between PC / console development: Hardware is known So little need to query hardware, run performance tests. Assumptions about available features are OK More requirements on the operation of software e.g. being locked into the platform holders UI (e.g. Sony’s XMB) Closer integration between parts E.g. CPU / GPU memory have symmetrical performance (shared on 360 / Xbox One), unlike a PC Low-level development can still be key Especially for commercial games, and later in the console lifetime Custom development environments help with this
7
Commercial Development: Dev Kits
Commercial console development requires a Development Kit (Dev Kit) A special form of console that can be hooked into a PC for programming / debugging etc. Various types: from a basic console that can just run user code, to machines with additional hardware to assist debugging Supplied with a custom SDK Development environment Compiler and linker Graphics, Sound, Storage and other libraries Complete technical and software documentation Note that console development can emulated on a PC Testing on a development kit in the later stages
8
Commercial Development
Dev kits must be licensed: Apply to platform holder Only experienced & viable developers accepted Licensing is easier later in console lifecycle Developer must sign NDA (Non-Disclosure Agreement) Dev kit details are a trade secret Until the current gen, dev kits have been expensive £10,000+ each at launch, price dropping with time Fair sized team could expect outlay > £100,000 However, the costs for development on the latest gen have been greatly reduced, or even disappeared To boost indie development (see later)
9
PS4 Development Kit Note: limited public domain info on latest gen dev kits Playstation 4 dev kits cost ~$2,500 each Although Sony have a dev kit loan program Initial version looked like a tower PC There have been several subsequent versions available GameMaker: Studio and MonoGame (as well as Unity) are made available for free to indie developers
10
Xbox One Development Kit
All retail Xbox One’s can operate as a debug station. Simplest kind of dev kit, which can run user code This may possibly be used later to encourage indie development Fully featured dev kits are available to developers Again, the initial version looked like a tower PC, but latest iterations look like ordinary consoles Although current dev kits are more powerful than retail consoles Indie developers can get two dev kits free.
11
Final Dev Kit is same shape as standard PS3
Prev-Gen: PS3 Dev Kit Playstation 3 dev kits (called the PS3 Reference Tool) eventually dropped in price to ~£1,000 each: Final Dev Kit is same shape as standard PS3 Original Dev Kit Included development tools (SN Systems): ProDG – development environment Distributed C++ compiler, linker, build tool Can compile and link on multiple PCs
12
Prev-Gen: PS3 Dev Kit Two graphics libraries are part of the SDK:
libgcm: low-level – direct access to RSX chip and graphics memory PSGL: [rarely used] implementation of OpenGL ES (full source code provided) Also a full game engine – PhyreEngine is available (free for developers) Use a special debugging station for testing Standard console that can run user code or discs burned by the developer (effectively no copy protection)
13
Prev-Gen: Xbox 360 Dev Kit Much like the Xbox one, an Xbox 360 dev kit looks similar to the retail console Compiles C or C++ using Visual Studio variant Old Version New Version Uses variations of PC libraries: DX 9+: like DX9 with low level extras (command buffer, predicated tiling) XAudio2: Successor to DirectSound Many low level tools provided
14
Indie Development The cost & licensing of professional development kits used to limit hobbyist, homebrew or indie games However, in the latest gen, Sony and Microsoft have begun to make indie development easier Lower price points, loans, or even free kits Lower barriers to register as a developer More indie developer support, conferences etc. Still, the support for indie development may not be as rich as that offered for AAA titles. Maybe limited tools, generic or simplified libraries Possible less low-level hardware access Too early to tell which platform will be better. Microsoft have the “all consoles are dev kits” advantage, but Sony have been very active in supporting indies…
15
Middleware Middleware traditionally describes software used to connect different components or applications However, in games development, the term middleware is used differently, describing self-contained software libraries Performing distinct tasks, e.g. AI, physics or rendering I.e. Use middleware instead of own technology Typically this allows the developer to cut costs Less technology to develop Rely instead on a pre-built, robust solution At the expense of flexibility for their own needs
16
Middleware Middleware ranges from very general engines, to specialist technologies There are many middleware options, choosing an appropriate one is often a challenge Here is a random selection of popular middleware: Unity [free], Unreal [free], Source, etc. (game engines) Havok, Bullet, Box2D (physics [free]) Euphoria (human animation synthesis) Speed Tree (Tree rendering) fmod (audio [free]) ScaleForm, Coherent UI (vector UIs) [Those noted as free are for non-commercial use only]
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.