• Learn
    • Code Lab
    • Foldables and Large Screens
    • One UI Beta
    • Samsung Developers Podcasts
  • Develop
    • Mobile/Wearable
    • Galaxy GameDev
    • Galaxy Themes
    • Galaxy Watch
    • Health
    • Samsung Blockchain
    • Samsung DeX
    • Samsung IAP
    • Samsung Internet
    • Samsung Pay
    • Samsung Wallet
    • View All
      • Galaxy AR Emoji
      • Galaxy Accessory
      • Galaxy Edge
      • Galaxy Z
      • Galaxy Performance
      • Galaxy FM Radio
      • Galaxy S Pen Remote
      • Galaxy Sensor Extension
      • PENUP
      • Samsung Automation
      • Samsung Neural
      • Samsung TEEGRIS
      • Samsung eSE SDK
    • Visual Display
    • Smart TV
    • Smart Hospitality Display
    • Smart Signage
    • Digital Appliance
    • Family Hub
    • Platform
    • Bixby
    • Knox
    • SmartThings
    • Tizen.NET
  • Design
    • Design System
    • One UI
    • One UI Watch
    • Smart TV
  • Distribute
    • Galaxy Store
    • TV Seller Office
    • Galaxy Store Games
    • Samsung Podcasts
  • Support
    • Developer Support
    • Remote Test Lab
    • Issues and Bugs Channel
    • Samsung Android USB Driver
    • Galaxy Emulator Skin
  • Connect
    • Blog
    • News
    • Forums
    • Events
    • Samsung Developer Conference
    • SDC22
    • SDC21
    • SDC19 and Previous Events
  • Sign In
Top Global Search Form
Recommendation
  • Blog
  • Code Lab
  • Foldable and Large Screen Optimization
  • Forums
  • Galaxy Emulator Skin
  • Galaxy GameDev
  • Health
  • Remote Test Lab
  • Samsung Developer Conference
  • SDC22
  • Watch Face Studio
All Search Form
Recommendation
    Suggestion
      All Search Form
      Filter
      Filter
      Filter
      • ALL (55)
      • DOCS
      • SDK
      • API REFERENCE
      • CODE LAB
      • BLOG
      • NEWS/EVENTS
      • OTHERS
        api reference code lab blog news/events
      1. tutorials | game, mobile

      blog

      Using Conservative Morphological Anti-Aliasing to Improve Game Visuals

      anti-aliasing is an important addition to any game to improve visual quality by smoothing out the jagged edges of a scene. msaa (multisample anti-aliasing) is one of the oldest methods to achieve this and is still the preferred solution for mobile. however it is only suitable for forward rendering and, with mobile performance improving year over year, deferred rendering is becoming more common, necessitating the use of post-process aa. this leaves slim pickings as such algorithms tend to be too expensive for mobile gpus with fxaa (fast approximate anti-aliasing) being the only ‘cheap’ option among them. fxaa may be performant enough but it only has simple colour discontinuity shape detection, leading to an often unwanted softening of the image. its kernel is also limited in size, so it struggles to anti-alias longer edges effectively. space module scene with cmaa applied. conservative morphological anti-aliasing conservative morphological anti-aliasing (cmaa) is a post-process aa solution originally developed by intel for their low power integrated gpus 1. its design goals are to be a better alternative to fxaa by: being minimally invasive so it can be acceptable as a replacement in a wide range of applications, including worst case scenarios such as text, repeating patterns, certain geometries (power lines, mesh fences, foliage), and moving images. running efficiently on low-medium range gpu hardware, such as integrated gpus (or, in our case, mobile gpus). we have repurposed this desktop-developed algorithm and come up with a hybrid between the original 1.3 version and the updated 2.0 version 2 to make the best use of mobile hardware. a demo app was created using khronos’ vulkan samples as a framework (which could also be done with gles) to implement this experiment. the sample has a drop down menu for easy switching between the different aa solutions and presents a frametime and bandwidth overlay. cmaa has four basic logical steps: image analysis for colour discontinuities (afterwards stored in a local compressed 'edge' buffer). the method used is not unique to cmaa. extracting locally dominant edges with a small kernel. (unique variation of existing algorithms.) handling of simple shapes. handling of symmetrical long edge shapes. (unique take on the original mlaa shape handling algorithm.) pass 1 edge detection result captured in renderdoc. a full screen edge detection pass is done in a fragment shader and the resulting colour discontinuity values are written into a colour attachment. our implementation uses the pixels’ luminance values to find edge discontinuities for speed and simplicity. an edge exists if the contrast between neighbouring pixels is above an empirically determined threshold. pass 2 neighbouring edges considered for local contrast adaptation. a local contrast adaptation is performed for each detected edge by comparing the value of the previous pass against the values of its closest neighbours by creating a threshold from the average and largest of these, as described by the formula below. any that pass the threshold are written into an image as a confirmed edge. threshold = (avg+avgxy) * (1.0 - nondominantedgeremovalamount) + maxe * (nondominantedgeremovalamount); nondominantedgeremovalamount is another empirically determined variable. pass 3 this pass collects all the edges for each pixel from the previous pass and packs them into a new image for the final pass. this pass also does the first part of edge blending. the detected edges are used to look for 2, 3 and 4 edges in a pixel and then blend in the colours from the adjacent pixels. this helps avoid the unnecessary blending of straight edges. pass 4 the final pass does long edge blending by identifying z-shapes in the detected edges. for each detected z-shape, the length of the edge is traced in both directions until it reaches the end or until it runs into a perpendicular edge. pixel blending is then performed along the traced edges proportional to their distance from the centre. before and after of z-shape detection. results image comparison shows a typical scenario for aa. cmaa manages high quality anti-aliasing while retaining sharpness on straight edges. cmaa demonstrates itself as a superior solution to aliasing than fxaa by avoiding the latter’s limitations. it maintains a crisper look to the overall image and won’t smudge thin lines, all while still providing effective anti-aliasing to curved edges. it also provides a significant performance advantage to qualcomm devices and only a small penalty to arm. image comparison shows a weakness of fxaa where it smudges thin lined geometry into the background. cmaa shows no such weakness and retains the colour of the railing while adding anti-aliasing effectively. msaa is still a clear winner and our recommended solution if your game allows for it to be resolved within a single render pass. for any case where that is impractical, cmaa is overall a better alternative than fxaa and should be strongly considered. graph shows the increase in frametime for each aa method across a range of samsung devices. follow up this site has many resources for developers looking to build for and integrate with samsung devices and services. stay in touch with the latest news by creating a free account or by subscribing to our monthly newsletter. visit the marketing resources page for information on promoting and distributing your apps. finally, our developer forum is an excellent way to stay up-to-date on all things related to the galaxy ecosystem. references filip strugar and leigh davies: conservative morphological anti-aliasing (cmaa) – march 2014. filip strugar and adam t lake: conservative morphological anti-aliasing 2.0 – april 2018.

      Samsung GameDev Team

      https://developer.samsung.com/galaxy-gamedev/blog/en-us/2021/06/01/using-conservative-morphological-anti-aliasing-to-improve-game-visuals
      1. tutorials | game, mobile

      blog

      New Game Changing Vulkan Extensions for Mobile: Timeline Semaphores

      the samsung developers team works with many companies in the mobile and gaming ecosystems. we're excited to support our partner, arm, as they bring timely and relevant content to developers looking to build games and high-performance experiences. this vulkan extensions series will help developers get the most out of the new and game-changing vulkan extensions on samsung mobile devices. in previous blogs, we have already explored two key vulkan extension game changers that will be enabled by android r. these are descriptor indexing and buffer device address. in this blog, we explore the third and final game changer, which is 'timeline semaphores'. the introduction of timeline semaphores is a large improvement to the synchronization model of vulkan and is a required feature in vulkan 1.2. it solves some fundamental grievances with the existing synchronization apis in vulkan. the problems with vkfence and vksemaphore in earlier vulkan extensions, there are two distinct synchronization objects for dealing with cpu <-> gpu synchronization and gpu queue <-> gpu queue synchronization. the vkfence object only deals with gpu -> cpu synchronization. due to the explicit nature of vulkan, you must keep track of when the gpu completes the work you submit to it. vkqueuesubmit(queue, …, fence); the previous code is the way we would use a fence, and later this fence can be waited on. when the fence signals, we know it is safe to free resources, read back data written by gpu, and so on. overall, the vkfence interface was never a real problem in practice, except that it feels strange to have two entirely different api objects which essentially do the same thing. vksemaphore on the other hand has some quirks which makes it difficult to use properly in sophisticated applications. vksemaphore by default is a binary semaphore. the fundamental problem with binary semaphores is that we can only wait for a semaphore once. after we have waited for it, it automatically becomes unsignaled again. this binary nature is very annoying to deal with when we use multiple queues. for example, consider a scenario where we perform some work in the graphics queue, and want to synchronize that work with two different compute queues. if we know this scenario is coming up, we will then have to allocate two vksemaphore objects, signal both objects, and wait for each of them in the different compute queues. this works, but we might not have the knowledge up front that this scenario will play out. often where we are dealing with multiple queues, we have to be somewhat conservative and signal semaphore objects we never end up waiting for. this leads to another problem … a signaled semaphore, which is never waited for, is basically a dead and useless semaphore and should be destroyed. we cannot reset a vksemaphore object on the cpu, so we cannot ever signal it again if we want to recycle vksemaphore objects. a workaround would be to wait for the semaphore on the gpu in a random queue just to unsignal it, but this feels like a gross hack. it could also potentially cause performance issues, as waiting for a semaphore is a full gpu memory barrier. object bloat is another considerable pitfall of the existing apis. for every synchronization point we need, we require a new object. all these objects must be managed, and their lifetimes must be considered. this creates a lot of annoying “bloat” for engines. the timeline – fixing object bloat – fixing multiple waits the first observation we can make of a vulkan queue is that submissions should generally complete in-order. to signal a synchronization object in vkqueuesubmit, the gpu waits for all previously submitted work to the queue, which includes the signaling operation of previous synchronization objects. rather than assigning one object per submission, we synchronize in terms of number of submissions. a plain uint64_t counter can be used for each queue. when a submission completes, the number is monotonically increased, usually by one each time. this counter is contained inside a single timeline semaphore object. rather than waiting for a specific synchronization object which matches a particular submission, we could wait for a single object and specify “wait until graphics queue submission #157 completes.” we can wait for any value multiple times as we wish, so there is no binary semaphore problem. essentially, for each vkqueue we can create a single timeline semaphore on startup and leave it alone (uint64_t will not overflow until the heat death of the sun, do not worry about it). this is extremely convenient and makes it so much easier to implement complicated dependency management schemes. unifying vkfence and vksemaphore timeline semaphores can be used very effectively on cpu as well: vksemaphorewaitinfokhr info = { vk_structure_type_semaphore_wait_info_khr }; info.semaphorecount = 1; info.psemaphores = &semaphore; info.pvalues = &value; vkwaitsemaphoreskhr(device, &info, timeout); this completely removes the need to use vkfence. another advantage of this method is that multiple threads can wait for a timeline semaphore. with vkfence, only one thread could access a vkfence at any one time. a timeline semaphore can even be signaled from the cpu as well, although this feature feels somewhat niche. it allows use cases where you submit work to the gpu early, but then 'kick' the submission using vksignalsemaphorekhr. the accompanying sample demonstrates a particular scenario where this function might be useful: vksemaphoresignalinfokhr info = { vk_structure_type_semaphore_signal_info_khr }; info.semaphore = semaphore; info.value = value; vksignalsemaphorekhr(device, &info); creating a timeline semaphore when creating a semaphore, you can specify the type of semaphore and give it an initial value: vksemaphorecreateinfo info = { vk_structure_type_semaphore_create_info }; vksemaphoretypecreateinfokhr type_info = { vk_structure_type_semaphore_type_create_info_khr }; type_info.semaphoretype = vk_semaphore_type_timeline_khr; type_info.initialvalue = 0; info.pnext = &type_info; vkcreatesemaphore(device, &info, null, &semaphore); signaling and waiting on timeline semaphores when submitting work with vkqueuesubmit, you can chain another struct which provides counter values when using timeline semaphores, for example: vksubmitinfo submit = { vk_structure_type_submit_info }; submit.waitsemaphorecount = 1; submit.pwaitsemaphores = &compute_queue_semaphore; submit.pwaitdststagemask = &wait_stage; submit.commandbuffercount = 1; submit.pcommandbuffers = &cmd; submit.signalsemaphorecount = 1; submit.psignalsemaphores = &graphics_queue_semaphore; vktimelinesemaphoresubmitinfokhr timeline = { vk_structure_type_timeline_semaphore_submit_info_khr }; timeline.waitsemaphorevaluecount = 1; timeline.pwaitsemaphorevalues = &wait_value; timeline.signalsemaphorevaluecount = 1; timeline.psignalsemaphorevalues = &signal_value; submit.pnext = &timeline; signal_value++; // generally, you bump the timeline value once per submission. vkqueuesubmit(queue, 1, &submit, vk_null_handle); out of order signal and wait a strong requirement of vulkan binary semaphores is that signals must be submitted before a wait on a semaphore can be submitted. this makes it easy to guarantee that deadlocks do not occur on the gpu, but it is also somewhat inflexible. in an application with many vulkan queues and a task-based architecture, it is reasonable to submit work that is somewhat out of order. however, this still uses synchronization objects to ensure the right ordering when executing on the gpu. with timeline semaphores, the application can agree on the timeline values to use ahead of time, then go ahead and build commands and submit out of order. the driver is responsible for figuring out the submission order required to make it work. however, the application gets more ways to shoot itself in the foot with this approach. this is because it is possible to create a deadlock with multiple queues where queue a waits for queue b, and queue b waits for queue a at the same time. ease of porting it is no secret that timeline semaphores are inherited largely from d3d12’s fence objects. from a portability angle, timeline semaphores make it much easier to have compatibility across the apis. caveats as the specification stands right now, you cannot use timeline semaphores with swap chains. this is generally not a big problem as synchronization with the swap chain tends to be explicit operations renderers need to take care of. another potential caveat to consider is that the timeline semaphore might not have a direct kernel equivalent on current platforms, which means some extra emulation to handle it, especially the out-of-order submission feature. as the timeline synchronization model becomes the de-facto standard, i expect platforms to get more native support for it. conclusion all three key vulkan extension game changers improve the overall development and gaming experience through improving graphics and enabling new gaming use cases. we hope that we gave you enough samples to get you started as you try out these new vulkan extensions to help bring your games to life follow up thanks to hans-kristian arntzen and the team at arm for bringing this great content to the samsung developers community. we hope you find this information about vulkan extensions useful for developing your upcoming mobile games. the samsung developers site has many resources for developers looking to build for and integrate with samsung devices and services. stay in touch with the latest news by creating a free account or by subscribing to our monthly newsletter. visit the marketing resources page for information on promoting and distributing your apps and games. finally, our developer forum is an excellent way to stay up-to-date on all things related to the galaxy ecosystem.

      Arm Developers

      https://developer.samsung.com/galaxy-gamedev/blog/en-us/2021/07/12/new-game-changing-vulkan-extensions-for-mobile-timeline-semaphores
      1. tutorials | game, mobile

      blog

      New Game Changing Vulkan Extensions for Mobile: Buffer Device Address

      the samsung developers team works with many companies in the mobile and gaming ecosystems. we're excited to support our partner, arm, as they bring timely and relevant content to developers looking to build games and high-performance experiences. this vulkan extensions series will help developers get the most out of the new and game-changing vulkan extensions on samsung mobile devices. android r is enabling a host of useful vulkan extensions for mobile, with three being key 'game changers'. these are set to improve the state of graphics apis for modern applications, enabling new use cases and changing how developers can design graphics renderers going forward. you can expect to see these features across a variety of android smartphones, such as the new samsung galaxy s21, and existing samsung galaxy s models like the samsung galaxy s20. the first blog explored the first game changer extension for vulkan – ‘descriptor indexing'. this blog explores the second game changer extension – ‘buffer device address.’ vk_khr_buffer_device_address vk_khr_buffer_device_address is a monumental extension that adds a unique feature to vulkan that none of the competing graphics apis support. pointer support is something that has always been limited in graphics apis, for good reason. pointers complicate a lot of things, especially for shader compilers. it is also near impossible to deal with plain pointers in legacy graphics apis, which rely on implicit synchronization. there are two key aspects to buffer_device_address (bda). first, it is possible to query a gpu virtual address from a vkbuffer. this is a plain uint64_t. this address can be written anywhere you like, in uniform buffers, push constants, or storage buffers, to name a few. the key aspect which makes this extension unique is that a spir-v shader can load an address from a buffer and treat it as a pointer to storage buffer memory immediately. pointer casting, pointer arithmetic and all sorts of clever trickery can be done inside the shader. there are many use cases for this feature. some are performance-related, and some are new use cases that have not been possible before. getting the gpu virtual address (va) there are some hoops to jump through here. first, when allocating vkdevicememory, we must flag that the memory supports bda: vkmemoryallocateinfo info = {…}; vkmemoryallocateflagsinfo flags = {…}; flags.flags = vk_memory_allocate_device_address_bit_khr; vkallocatememory(device, &info, null, &memory); similarly, when creating a vkbuffer, we add the vk_buffer_usage_shader_device_address_bit_khr usage flag. once we have created a buffer, we can query the va: vkbufferdeviceaddressinfokhr info = {…}; info.buffer = buffer; vkdevicesize va = vkgetbufferdeviceaddresskhr(device, &info); from here, this 64-bit value can be placed in a buffer. you can of course offset this va. alignment is never an issue as shaders specify explicit alignment later. a note on debugging when using bda, there are some extra features that drivers must support. since a pointer does not necessarily exist when replaying an application capture in a debug tool, the driver must be able to guarantee that virtual addresses returned by the driver remain stable across runs. to that end, debug tools supply the expected va and the driver allocates that va range. applications do not care that much about this, but it is important to note that even if you can use bda, you might not be able to debug with it. typedef struct vkphysicaldevicebufferdeviceaddressfeatures { vkstructuretype stype; void* pnext; vkbool32 bufferdeviceaddress; vkbool32 bufferdeviceaddresscapturereplay; vkbool32 bufferdeviceaddressmultidevice; } vkphysicaldevicebufferdeviceaddressfeatures; if bufferdeviceaddresscapturereplay is supported, tools like renderdoc can support bda. using a pointer in a shader in vulkan glsl, there is the gl_ext_buffer_reference extension which allows us to declare a pointer type. a pointer like this can be placed in a buffer, or we can convert to and from integers: #version 450 #extension gl_ext_buffer_reference : require #extension gl_ext_buffer_reference_uvec2 : require layout(local_size_x = 64) in; // these define pointer types. layout(buffer_reference, std430, buffer_reference_align = 16) readonly buffer readvec4 { vec4 values[]; }; layout(buffer_reference, std430, buffer_reference_align = 16) writeonly buffer writevec4 { vec4 values[]; }; layout(buffer_reference, std430, buffer_reference_align = 4) readonly buffer unalignedvec4 { vec4 value; }; layout(push_constant, std430) uniform registers { readvec4 src; writevec4 dst; } registers; placing raw pointers in push constants avoids all indirection for getting to a buffer. if the driver allows it, the pointers can be placed directly in gpu registers before the shader begins executing. not all devices support 64-bit integers, but it is possible to cast uvec2 <-> pointer. doing address computation like this is fine. uvec2 uadd_64_32(uvec2 addr, uint offset) { uint carry; addr.x = uaddcarry(addr.x, offset, carry); addr.y += carry; return addr; } void main() { uint index = gl_globalinvocationid.x; registers.dst.values[index] = registers.src.values[index]; uvec2 addr = uvec2(registers.src); addr = uadd_64_32(addr, 20 * index); cast a uvec2 to address and load a vec4 from it. this address is aligned to 4 bytes. registers.dst.values[index + 1024] = unalignedvec4(addr).value; } pointer or offsets? using raw pointers is not always the best idea. a natural use case you could consider for pointers is that you have tree structures or list structures in gpu memory. with pointers, you can jump around as much as you want, and even write new pointers to buffers. however, a pointer is 64-bit and a typical performance consideration is to use 32-bit offsets (or even 16-bit offsets) if possible. using offsets is the way to go if you can guarantee that all buffers live inside a single vkbuffer. on the other hand, the pointer approach can access any vkbuffer at any time without having to use descriptors. therein lies the key strength of bda. extreme hackery: physical pointer as specialization constants this is a life saver in certain situations where you are desperate to debug something without any available descriptor set. a black magic hack is to place a bda inside a specialization constant. this allows for accessing a pointer without using any descriptors. do note that this breaks all forms of pipeline caching and is only suitable for debug code. do not ship this kind of code. perform this dark sorcery at your own risk: #version 450 #extension gl_ext_buffer_reference : require #extension gl_ext_buffer_reference_uvec2 : require layout(local_size_x = 64) in; layout(constant_id = 0) const uint debug_addr_lo = 0; layout(constant_id = 1) const uint debug_addr_hi = 0; layout(buffer_reference, std430, buffer_reference_align = 4) buffer debugcounter { uint value; }; void main() { debugcounter counter = debugcounter(uvec2(debug_addr_lo, debug_addr_hi)); atomicadd(counter.value, 1u); } emitting spir-v with buffer_device_address in spir-v, there are some things to note. bda is an especially useful feature for layering other apis due to its extreme flexibility in how we access memory. therefore, generating bda code yourself is a reasonable use case to assume as well. enables bda in shaders. _opcapability physicalstoragebufferaddresses opextension "spv_khr_physical_storage_buffer"_ the memory model is physicalstoragebuffer64 and not logical anymore. _opmemorymodel physicalstoragebuffer64 glsl450_ the buffer reference types are declared basically just like ssbos. _opdecorate %_runtimearr_v4float arraystride 16 opmemberdecorate %readvec4 0 nonwritable opmemberdecorate %readvec4 0 offset 0 opdecorate %readvec4 block opdecorate %_runtimearr_v4float_0 arraystride 16 opmemberdecorate %writevec4 0 nonreadable opmemberdecorate %writevec4 0 offset 0 opdecorate %writevec4 block opmemberdecorate %unalignedvec4 0 nonwritable opmemberdecorate %unalignedvec4 0 offset 0 opdecorate %unalignedvec4 block_ declare a pointer to the blocks. physicalstoragebuffer is the storage class to use. optypeforwardpointer %_ptr_physicalstoragebuffer_writevec4 physicalstoragebuffer %_ptr_physicalstoragebuffer_readvec4 = optypepointer physicalstoragebuffer %readvec4 %_ptr_physicalstoragebuffer_writevec4 = optypepointer physicalstoragebuffer %writevec4 %_ptr_physicalstoragebuffer_unalignedvec4 = optypepointer physicalstoragebuffer %unalignedvec4 load a physical pointer from pushconstant. _%55 = opaccesschain %_ptr_pushconstant__ptr_physicalstoragebuffer_writevec4 %registers %int_1 %56 = opload %_ptr_physicalstoragebuffer_writevec4 %55_ access chain into it. _%66 = opaccesschain %_ptr_physicalstoragebuffer_v4float %56 %int_0 %40_ aligned must be specified when dereferencing physical pointers. pointers can have any arbitrary address and must be explicitly aligned, so the compiler knows what to do. opstore %66 %65 aligned 16 for pointers, spir-v can bitcast between integers and pointers seamlessly, for example: %61 = opload %_ptr_physicalstoragebuffer_readvec4 %60 %70 = opbitcast %v2uint %61 // do math on %70 %86 = opbitcast %_ptr_physicalstoragebuffer_unalignedvec4 %some_address conclusion we have already explored two key vulkan extension game changers through this blog and the previous one. the third and final part of this game changer blog series will explore ‘timeline semaphores’ and how developers can use this new extension to improve the development experience and enhance their games. follow up thanks to hans-kristian arntzen and the team at arm for bringing this great content to the samsung developers community. we hope you find this information about vulkan extensions useful for developing your upcoming mobile games. the samsung developers site has many resources for developers looking to build for and integrate with samsung devices and services. stay in touch with the latest news by creating a free account or by subscribing to our monthly newsletter. visit the marketing resources page for information on promoting and distributing your apps and games. finally, our developer forum is an excellent way to stay up-to-date on all things related to the galaxy ecosystem.

      Arm Developers

      https://developer.samsung.com/galaxy-gamedev/blog/en-us/2021/07/06/new-game-changing-vulkan-extensions-for-mobile-buffer-device-address
      1. tutorials | game

      blog

      Create ASTC Textures Faster With the New astcenc 2.0 Open Source Compression Tool

      adaptive scalable texture compression (astc) is an advanced lossy texture compression format, developed by arm and amd and released as royalty-free open standard by the khronos group. it supports a wide range of 2d and 3d color formats with a flexible choice of bitrates, enabling content creators to compress almost any texture asset, using a level of compression appropriate to their quality and performance requirements. astc is increasingly becoming the texture compression format of choice for mobile 3d applications using the opengl es and vulkan apis. astc’s high compression ratios are a perfect match for the mobile market that values smaller download sizes and optimized memory usage to improve energy efficiency and battery life. astc 2d color formats and bitrates astcenc 2.0 the ‘astcenc’ astc compression tool was first developed by arm while astc was progressing through the khronos standardization process seven years ago. astcenc has become widely used as the de facto reference encoder for astc, as it leverages all format features, including the full set of available block sizes and color profiles, to deliver high-quality encoded textures that are possible when effectively using astc’s flexible capabilities. today, arm is delighted to announce astcenc 2.0! this is a major update which provides multiple significant improvements for middleware and content creators. apache 2.0 open source license the original astcenc software was released under an arm end user license agreement. to make it easier for developers to use, adapt, and contribute to astcenc development, including integration of the compressor into application runtimes, arm relicensed the astcenc 1.x source code on github in january 2020 under the standard apache 2.0 open source license. the new astcenc 2.0 source code is now also available on github under apache 2.0. compression performance astcenc 1.x emphasized high image quality over fast compression speed. some developers have told arm they would love to use astcenc for its superior image quality, but compression was too slow to use in their tooling pipelines. the importance of this was reflected in the recent astc developer survey organized by khronos where developer responses rated compression speed above image quality in the list of factors that determine texture format choices. for version 2.0, arm reviewed the heuristics and quality refinement passes used by the astcenc compressor—optimizing those that were adding value and removing those that simply didn’t justify their added runtime cost. in addition, hand-coded vectorized code was added to the most compute intensive sections of the codec, supporting sse4.2 and avx2 simd instruction sets. overall, these optimizations have resulted in up to 3x faster compression times when using avx2, while typically losing less than 0.1 db psnr in image quality. a very worthwhile tradeoff for most developers. astcenc 2.0 - significantly faster astc encoding command line improvements the tool now supports a clearer set of compression modes that directly map to astc format profiles exposed by the khronos api support and api extensions. textures compressed using the ldr compression modes (linear or srgb) will be compatible with all hardware implementing opengl es 3.2, the opengl es khr_texture_compression_astc_ldr extension, or the vulkan astc optional feature. textures compressed using the hdr compression mode will require hardware implementing an appropriate api extension, such as khr_texture_compression_astc_hdr. in addition, astcenc 2.0 now supports commonly requested input and output file formats: loading ldr images in bmp, jpeg, png, and tga formats loading hdr images in openexr and radiance hdr formats loading compressed textures in the “.astc” file format provided by astcenc, and the dds and ktx container formats storing ldr images into bmp, png, and tga formats storing hdr images into openexr and radiance hdr formats storing compressed texturesinto the “.astc” file format provided by astcenc, and the dds or ktx container formats core codec library finally, the core codec is now separable from the command line front-end logic, enabling the astcenc compressor to be integrated directly into applications as a library. the core codec library interface api provides a programmatic mechanism to manage codec configuration, texture compression, and texture decompression. this api enables use of the core codec library to process data stored in memory buffers, leaving file management to the application. it supports parallel processing for compression of a single image with multiple threads or compressing multiple images in parallel. using astcenc 2.0 you can download astcenc 2.0 on github today, with full source code and pre-built binaries available for windows, macos, and linux hosts. for more information about using the tool, please refer to the project documentation: getting started: learn about the high-level operation of the compressor. format overview: learn about the astc data format and how the underlying encoding works. efficient encoding: learn about using the command line to effectively compress textures, and the encoding and sampling needed to get functional equivalents to other texture formats that exist on the market today. arm have also published an astc guide, which gives an overview of the format and some of the available tools, including astcenc . arm astc guide: an overview of astc and available astc tools. if you have any questions, feedback, or pull requests, please get in touch via the github issue tracker or the arm mali developer community forums: https://github.com/arm-software/astc-encoder https://community.arm.com/graphics/ khronos® and vulkan® are registered trademarks, and anari™, webgl™, gltf™, nnef™, openvx™, spir™, spir-v™, sycl™, openvg™ and 3d commerce™ are trademarks of the khronos group inc. openxr™ is a trademark owned by the khronos group inc. and is registered as a trademark in china, the european union, japan and the united kingdom. opencl™ is a trademark of apple inc. and opengl® is a registered trademark and the opengl es™ and opengl sc™ logos are trademarks of hewlett packard enterprise used under license by khronos. all other product names, trademarks, and/or company names are used solely for identification and belong to their respective owners.

      Peter Harris

      https://developer.samsung.com/galaxy-gamedev/blog/en-us/2020/09/09/create-astc-textures-faster-with-the-new-astcenc-20-open-source-compression-tool
      1. Learn
      2. Developers Podcast

      doc

      Episode 8, Andy Beaudoin

      season 1, episode 8 previous episode | episode index | next episode this is a transcript of one episode of the samsung developers podcast, hosted by and produced by tony morelan. a listing of all podcast transcripts can be found here. host tony morelan senior developer evangelist, samsung developers instagram - twitter - linkedin guest andy beaudoin microsoft/turn 10 studios in this episode of pow, i interview andy beaudoin, principal design director at turn 10 studios, the microsoft team behind the mega successful racing game, forza. andy and i sat down to chat about their latest addition to the forza franchise, forza street, and how they specifically designed this game for play on mobile devices. listen download this episode topics covered turn 10 studios samsung partnership forza motorsport forza street soundtrack galaxy s10 optimizations galaxy gamedev more about forza street forza street is an all-new forza experience where players collect and assemble a lineup of cars to compete in quick, cinematic races. it’s a fun experience for new forza fans and experienced drivers alike and is the first forza game designed specifically with mobile devices in mind. transcript note: transcripts are provided by an automated service and reviewed by the samsung developers web team. inaccuracies from the transcription process do occur, so please refer to the audio if you are in doubt about the transcript. tony morelan 0:02 hey, i'm tony morelan. this is pow! podcast of wisdom from the samsung developer program, where we talk about the latest tech trends and get insight into all the opportunities available for developers looking to create for samsung. on today's show, i interview andy beaudoin principal design director at turn 10 studios, the microsoft team behind the mega successful racing game forza. andy and i sat down to chat about their latest addition to the forza franchise, forza street, and how they specifically designed this game for play on mobile devices. and all of the music in this episode? it's the official soundtrack from forza street. enjoy. tony morelan 0:40 andy, thanks for coming on the podcast. the first question i'm going to ask you is who is andy beaudoin? andy beaudoin 0:47 hi tony. andy beaudoin is me. i'm a principal design director at turn 10 studios. i've been making games for about two and a half years. decades, around 2324 years. i grew up in the bay area, which i believe is near and dear to you as well. and yeah, so i'm a father of two lovely and very ambitious little kids. and i live up here in seattle, and i like to explore the outdoors when i'm not making games. tony morelan 1:19 excellent. i'm sure it's absolutely beautiful up there. so getting outside must be a ton of fun. what is your job title at turn 10? andy beaudoin 1:27 i am a principal design director. so i work in the part of the company and the part of turn 10 that isn't motorsport. so we have a big motorsport team that's responsible for that title. and we work with another term development team over in the uk playground studios who are the ones who make the horizon series. and then my group works on forza street, which is the new mobile title we released and also, i'm responsible for some of the other parts of the franchise from a design perspective. so we're kind of the floating design team out on the third floor of our studio. tony morelan 2:04 so what was your journey to the to the team at turn 10? how did you actually land that position? andy beaudoin 2:11 so we can go way back to the beginning. andy beaudoin 2:15 i started at turn 10. about five years ago. i came to microsoft, right out of sony had been working on a game with sony called mag was part of the socom franchise. it was part of the studio in this area that worked on the socom franchise for sony. and so from there, i came to microsoft and i worked in xp la, which was the xbox live arcade about 10 years ago and that was some of the first digital distributed games on the xbox and i was really excited to come here. and really kind of work on what i saw was the future of games where it was not all about buying a box product at the store and bringing it home but these light quick, easy to download. and easily accessible games were really compelling to me at the time. so it was fun to come in and work on that aspect of the business. and then soon after that, i got back into the larger scale games worked on a game called quantum break with a really fun team. main gravity there out of finland. and so i work with that team for a few years. and then after that, i want to travel a little bit less with young kids. and so i had an opportunity to come join, turn 10 studios, which is great, given i started my career off electronic arts working on the need for speed series 20 some odd years ago. wow. so it's been really fun to come and come back and come full circle to the racing the racing genre. it's been a great time. tony morelan 3:42 that's great. so turn 10 studios, it's part of microsoft, correct? andy beaudoin 3:46 absolutely. yeah. it's a studio that was created within microsoft, specifically to give really a top tier racing title to be a showcase for the graphics technology of our xbox devices. so just turn 10 studios working pretty much independently from microsoft or is it all part of the big masterplan team, we're part of the xbox organization. so we're definitely well integrated into xbox, which is, you know, part of microsoft as a whole, the way that we're treated within the larger organization, we do operate relatively independently. of course, we have our business goals that we have to try to achieve. and we do a whole lot to try to promote our hardware, like i mentioned. and of course, we're integrated into kind of the grand more strategic plans of microsoft all up, but they're pretty hands off and let us really do what we need to do creatively to make fantastic experiences for the people that play our games. tony morelan 4:45 so i'm a huge fan of the forza franchise have actually spent a ton of hours playing forza motorsport. so awesome. absolutely blast of a game. tons of fun. so tell me the history of forces streets andy beaudoin 4:57 and forza. the streets have very different products for us. so the team that i'm most connected to at the studio is a small team that started off actually with a product called forza motorsport six apex. and so this was our attempts to one of the things i love about turn 10 is it's a very future focused studio. i'm very pragmatic. so we're not afraid to take risks, but we also really take one step at a time, walk, crawl, fly. so with forza motorsport six apex, our team, it was a small team, i was the only designer on the team. we got together and we had a mission which was take forza motorsport six, and see if you can create a smaller bit more bite sized experience using all the assets from that game and then release it on windows for free. it wasn't truly a free to play game. there was, i think, one or two little things. you could spend some money on the game, but it largely was something we built and released for free and the reason we did that was so that we could learn how to ship forts in our forza engine on pc. i mentioned before that our studio really has been at the forefront of trying to showcase the xbox device. so our technology in our forza engine was really optimized down to every little bit of metal to be just as performant as it could be on xbox. so it was a it was a decent amount of work to get it to work on the pc. not that i mean, there's a lot of shared hardware between the two. so it's not that it didn't work. but there are things that we wanted to do to really make it a true pc experience, support for keyboard support for mouse support for different graphics settings, since there's such a wide array of pc devices. so anyway, long story short, this was an investment the studio made, so we can ship something on pc for free, and then lay the groundwork for the next motorsport and the next horizon all of which have also shipped on pc. so how long ago was that when the force apex when you guys were working on that about three and a half four years ago, if i recall correctly. so following up on that the team moved on to the next adventure, which was okay now that we've got four to showing up on two platforms, xbox and pc, obviously the next big opportunity for us to take the franchise that we love the cars, we love, the racing we love and reach a much larger audience was to live to mobile devices. and so with forza street, we set out to design an experience that was mobile first, which is kind of funny because we actually released it on pc first. i'll get to that in a minute. but the core experience itself was designed to be really, really mobile friendly, because we knew that this is a game we wanted to get onto mobile devices so we could reach the millions and millions of people out there that love cars, and primarily game on mobile devices. tony morelan 7:49 so you said the team was small starting off his team started to grow a bit. what's the what's the size of your team right now working on forza street. andy beaudoin 7:56 we have grown a bit so the core leadership team is here. handful of people. and we work with a developer out of the uk, a team that we've worked with now for a handful of years, and they do the heavy lifting on development. we also have our services team internally, which does all of our back-end technology. and that's all handled on the turn 10 sides. so it's a partnership between the software developer in the uk as well as our internal teams. my team is primarily a leadership team where we have a handful of individuals that spend most of their time looking at street but also have some other shared responsibilities in the studio. tony morelan 8:36 so let's talk about forza street on the galaxy store. andy beaudoin 8:38 one of the coolest things if you have a galaxy device and download the game on the galaxy stores, then you get a freebie. you get a unique car that's delivered to you after you've downloaded the game and after you fire it up and that's the 2015 ford mustang gt so that's cool right out of the gate. we give you a little bit of nod for pulling the game down the store. other than that the game is compatible with all devices. what's really fun about street is that you can download it on your galaxy store, you can play for a while, if you register and connect with xbox live, you can then go to a tablet and play with all the same progress there. if you've got a windows pc, you can pull up the game on your windows pc and play it there. a lot of the folks in the studio myself included tend to do different activities on the different devices. so if i really want to get into the race, oftentimes i'll sit in my big gaming pc and i'll see it and it's full. you know, i think i'm running it to k or something like that really, really high def play. but then from outside of my kids and they're doing stuff i can also sneak in a bunch of races on my i've got an s 10 personal device. i can play in plays great and looks great there. it's a very continuous experience. tony morelan 9:45 so you know, recently we released the s20. so can you tell me what was done to optimize for the street for the 21st off andy beaudoin 9:52 i have to say i'm super jealous because i literally bought my ass 10 right before we started working with you guys and he found out about the device. oh, they just waited an extra month but the s 10 scream and it's already doing great for me. so the s 20. i'm not an engineer, so i won't be able to get into all the nuts and bolts of it. but my understanding what they did is they worked with the samsung team to really optimize the experience to run and refresh rates higher than 60 hertz, which is kind of, on, you know, xbox and console gaming 60 hertz is, is the target and a lot of games don't even achieve that. so on the s20, i believe we're running at about 96 hertz, if i'm if i'm not mistaken. so really fast refresh. another bit of work that was done to work with the s20 has taken advantage of the game sdk that your team provides. this has been a new learning opportunity for us coming from console and pc to mobile is that you really have to think about things like battery life and heat management and all of those elements, which was kind of a new set of challenges for us to think about. and using some of these optimizations, working with your team. you working with the game sdk, we were able to find ways to kick it up to 96 hertz when we need to when we're in the race, we want that really, really crisp response rate. but then when you're in some of the menus, we can also vary our resolution or vary our refresh rate so that you're getting the best of both worlds both long battery life really well managed heat profile on the device, but also something that looks incredible. when you're racing and need all that really fast response. or in the main menus, where we can go to a higher resolution, we can actually show a lot of nuance in the car and all the different effects on the car. and you don't necessarily need to be pushing the same refresh rate. and it still is a great experience and you're also doing a better job of managing your resources. so that's been a really good partnership for us. and out of that came, you know, optimizations to the game even beyond just the device that we're really able to take advantage of thanks to the support from, from the tech team from samsung. tony morelan 11:57 that's great. you know, having played the game on the s20 i can tell you it is absolutely beautiful. andy beaudoin 12:03 so you're telling me i should upgrade? tony morelan 12:04 yeah, definitely need to upgrade your, your device. yeah, it's a ton of fun and it is i mean it is just a beautiful game. so well done. so for those people out there that own an s 20 are there any special perks for them when they download the game? andy beaudoin 12:22 absolutely. so not only do you get the 2015 ford mustang gt from downloading through the store, but you also get the 2015 chevy corvette 06 with a custom paint job, you'll get some in game credits and you'll get some gold and it's a really good start to the game. the corvette is a is a really high-end sports car in the game and it's one that's going to be really set up to be upgraded in a really compelling fashion. so with that extra golden extra credits you're getting a good jumpstart on building out your awesome collection of cars and of course the street. tony morelan 12:55 you know, one thing that really stood out for me when i played the game, it was the art behind if it wasn't just straight cars and a beautiful road, there was a lot of intel put into the artistic approach to this game. we talked a little bit about the art that was used to enforce the street. andy beaudoin 13:10 yeah, absolutely. so at turn 10, we've got this creative concept called the emotional core. and so whenever we do a new product line, we spend time thinking about emotionally what do we want players to take away from the experience. so if you look at motor sport, it's got a very different aesthetic from horizon, for example, and which is different from sports history. and so we started that off and some of the terms that we looked at and for our emotional core was street were evocative and stylish. from the beginning, we wanted it to kind of feel like a high gloss. you know, red carpet, hip hop, music video where, you know, the streets are all wet, not for any reason other than cars just look great on wet streets. so really trying to push that feel of this being a high production as opposed to motorsport, which is all about photorealistic. down the track heat coming off, this needed to look like, you know, you had a film producer that was there trying to put everything just in the right place. so we're trying to capture that bond. so from there we started to think about, you know, what kind of aesthetic would look good, what kinds of environments would look good the game takes place evening and tonight just because it looks great with the neon and feels different from other titles as well. and all that led us down the path of trying to think of what are the best locations that can try to encapsulate this, this type of look and feel and that's where we landed with miami. tony morelan 14:37 so did you guys do any in person the photo research? andy beaudoin 14:40 i did not but yeah, the development team and our art director took a trip down to miami and really spent some time both looking at the amazing car culture down there. there's some really high-end automotive shops down there and you know, it's a great place to drive. it's a great place. it's nice weather there's a great beach scene is a really cool edm kind of dance nightclub scene with a lot of that kind of cuban vibe mixed in. so it's just a really cool it hits that emotional core of really being stylish. and so i know that the team took away a lot of that a lot of the music that's in the game is kind of inspired by that trap, kind of edm meets hip hop type of vibe, which is just pulsing through the streets of miami, so i'm bummed i missed it. but here's a pretty cool, pretty cool research trip. tony morelan 15:28 yeah. and i will say that i actually helped teach a course in design for samsung, in miami. oh, cool. this past year. so having played the game after i was in miami, i totally recognize some of the streets that i was racing down as the streets that i was on when i was helping teach this course in miami, so ods did a great job with that. cool. will the game be adding any additional locations for racing or is it primarily right now just focused on the miami scene? andy beaudoin 15:56 right now we're focused on miami. the game if the game is built to be a live operations game, and that means that we're intending to continue to invest in the game both from our resources standpoint as well as time standpoint to continue to change the game over time, every three to six weeks, we bring a new event into the game, so that players who play the game over a long period of time, we'll always have something new to do, there's, of course, a good story that you can play through that's got a significant amount of content. there's a rivals mode, which has, you know, the ability to pit your car collection up against those of other players and in the world. and then every month or so, we're going to release a new event with new cars, new content, new ways to play new ways to win. so with that ethos of this is something that, you know, launching the game is just the start of the life of a mobile game. and so, the future is pretty wide open, we're going to see what our players do, what they like to play and where they want to take the game and try to manage what we do with the game in the future accordingly. tony morelan 16:58 got it. getting back a little bit to the graphics. are you able to leverage from any of your existing forza titles or with all the graphics or the created fresh new for forza street? it's a mix. andy beaudoin 17:07 we have an amazing library of cars at turn 10 as part of the forza franchise, we're knocking on 1000. and so when we started with fort st, and one of the things we want to do is try to find a way to take advantage of all that hard work that went into making those cars amazing. so the team created a new pipeline by which we could take cars that were ready for forza motorsport, and put them through a process to get them game ready into st. so all the cars started off in motorsport. they've gone through this process, there's some hand touching that has to go into make them as efficient as we want them to be on the mobile platforms. but yeah, they've got the same cars. you know, all the shaders are carried over and there's a lot of similarities there. the environments themselves were all custom built for street and to take advantage of again of how mobile devices work. the footprint wanted to keep on the mobile devices. and things like that. so it's a really cool blend of both existing assets and art and new stuff. tony morelan 18:07 you know, another aspect of the game that really stands out is music. so is this music written specifically for forza street? or did you just license existing songs? andy beaudoin 18:14 now it was all written. like i mentioned, we had really good inspiration from the music scene that is kind of alive and well in miami. and we had a soundtrack that was created specifically for the game. five of the tracks came from a team called heavy duty projects and their music production company based in la, and new york, and they've got some award-winning composers and music producers. and so it was great to work with that team. and then there was a sixth track, which was from pete international airport, which is a solo project of peter holmstrom. and he's best known for his work with the dandy warhols. so that's, that's great. it's kind of this fun, different mix. tony morelan 18:52 yeah, i'm a big fan of dandy warhols. do you know anything about that relationship? and how did that come about? andy beaudoin 18:58 yeah, so our audio director for this studios a guy named mixer as well. and he's phenomenally talented. he's a great guitar player. and he's also really gotten me into the rabbit hole of guitar pedals. so i have him to thank for the board i have on my floor that i'm nowhere near talented enough to use, but i believe he's good friends with peter. and they've known each other for years and work together. and nick was in the music scene over in the uk a couple of decades ago, too. so there's, i think a long-term relationship that is has led to that partnership. tony morelan 19:27 that's great. so let's talk a little bit more about how the team created the audio and the sound for the game. were these effects that were pulled from other forza games or did you create any of these audio clips specifically for street andy beaudoin 19:39 definitely both new and harvested from existing forts of stuff so we've got probably 15 or more years of sound recording that's gone into the forza franchise, all the different cars, the different squeak, squeals turbos, you know, one of the cool things about forza street is that even though it's a mobile game, and it's a timing based game, rather than a full on, you know, track based steering game, it's still running for it's a physics. and one of the cool elements of that is that we get to use all that physics data that's coming out of our physics simulation to drive the audio. so all the audio for the cars, how they move how they sound comes from the original games, obviously, with some modifications to optimize them for mobile devices. but you know, if you've got a turbo on the car, there's actually a part simulation running out of the hood that's saying there's a turbo that kicks off the turbo sounds and there's a lot of this nuance that that we get to pull out of our cars audibly because we're built on the back of that really rich and robust for it's a physics system. andy beaudoin 20:43 so is the audio for the most part computer generated or these literally like you know, sound tech guy with a mic out in front of a, you know, chevy corvette recording the exhaust andy beaudoin 20:54 it sound tech guy out there, and with the chevy corvette, in fact, one of the funny stories i think that the audio team, too took a little bit of flak from our studio head, alan hartman because back in the day, i think it was his rs. four he had it was really souped up. and i think they put it on the dyno and ran it a little bit too hard to try to capture the sounds and might have done a bit of damage to it. so we're all in as a studio and trying to make sure that the audio scape is the best it can be. tony morelan 21:19 that's awesome. so do you feel that you know, the realistic graphics that you have in the game that realistic sounds, you know, does that help users become more engaged? or do you think they want more of that sort of arcade style? andy beaudoin 21:32 yeah, i think there's a good overlap between the racing players that wants simulation and the racing players that want arcade. obviously, there are little niches that just you know, some players that just want one or another but as you know, i've played in i've worked on racing games for over 20 years now and you know, need for speeds got a style that i think is really compelling and cool. it provides one experience for us has got its own style. there's the asphalt games on mobile that are great and provide a different experience. we've tried to with street stay true to forza and to the fort's of brand, and that to us means, you know, we want to be a best in class experience with high quality, high quality graphics, high quality experience so that there's this immersive sensation to us. we also want to be authentic. so we want our cars to look and feel like the real things, they want to have weight, they want to have mass. so those are those two things keep us from going too far down the over the top, because then we start to stray from what we think 40 is and what customers expect. so even though we've created a racing experience with street, where you interact very differently, you're not steering the car down the track, you're really just focused. it's a timing game, which we think is a really great match for how people play on mobile. but it's still the cars have mass. like i mentioned, they're still running forward to physics, they're still throwing up smoke when they lose grip and all that kind of stuff. and if you hit your boost too late going into a corner, your car's going to go sideways and hit the wall. all those things carry through that immersive sense of weight and that one would expect from a forex title. tony morelan 23:04 yeah. and i can i can attest to that as far as going into a turn too late and with my boost and ending up in the in the wall there and seeing myself crash. so yeah, it's nice and realistic. so obviously a huge collection of cars that you've licensed. so tell me is it difficult to license these cars? i mean, obviously forges a big brand. but is that something that's a challenge when you're trying to bring in new cars to the game? andy beaudoin 23:26 i don't know. that's a challenge. i think the biggest challenge we have is that we have an incredible list of partners in the forza franchise. and these are partners brands that we've worked with for years. and we have amazing support mclaren’s an example where we, right now we're running an event that's really celebrating the mclaren brand. and that was a team that was really eager to work with us, and to get their name and get their brand in our game and also to co-promoter. so it's been a really good partnership. so i wouldn't say it's difficult. i think the complexity comes in that we've got these long-standing relationships with partners. and now we're bringing in a mobile game. so we've got business structures and deals that are built upon console and built upon that type of business model. and so a lot of the discussions or licensing team has been having with partners has been trying to give an understanding of how the mobile space is a bit different than what we've got in our existing agreements. and it's not that the manufacturers are pretty used to working with mobile titles and you know, mclaren’s, and other in other mobile titles as well. but to think about how we take existing franchise level agreements and make them work with now a mobile game as well has meant some just reeducation, i guess, in realignment of how we work with existing deals. so it really the only complexity is that we have a whole franchise that we're licensing for, rather than a particular game, which just means we have a few more considerations, then, you know, some of the smaller teams working on a mobile game line. tony morelan 24:53 i'm sure that you've got some updates that you can't quite share publicly yet. but are there any anything that you can share? that we get for the straight users excited about. andy beaudoin 25:03 i think the biggest thing is that, like i mentioned earlier, we're going to be releasing new stuff every month, every month and change. so the game and how it looks today is not what it's going to look like in a couple of weeks. it's not what it's going to look like in six months. so you know, hop in now so you got a chance to win. i think we had a few days left on the mclaren event. so you can get some of those awesome mclaren's there's never a better time to win them. and then following that, there'll be something else to win. and the game is continuously growing. we've been out on mobile for, you know, worldwide for just a little bit over a month, just shy of two months now. so we've been learning a ton from how people are playing our game and we're going to take that information and continue to make the game better. our goal is to make people that play the game feel like this is a place that they can have as a home for their mobile racing fix for months, years to come. so that's our top priority is making it a place that people want to stay and enjoy staying and feeling your time is really well spent. so that's a north star where you keep driving for. andy beaudoin 26:05 yeah, i'd love to hear that, you know, it's kind of nice to because if it's a game that that you can set down for a moment, and then know that next time you pick it up is something new and fresh. that just gives you a good reason to grab your device and get back into playing. absolutely. tony morelan 26:18 any other games coming from xbox studios that are coming to mobile that you can talk about andy beaudoin 26:22 nothing that i'm able to speak about, i can just kind of focus on what we're doing with forza. i mean, you've seen gears has released a mobile game recently, which is great. and, you know, we've got a couple of other titles mine crafts out there as well. i think we're just speaking to the fact that a whole bunch of people play games on mobile. and so with our goal of trying to entertain customers everywhere and meet people where they are and entertain them with xbox titles, i think that's kind of an indication of where we're at now. and i would expect more things from us on the mobile space in the future. tony morelan 26:56 so what advice would you give developers looking to bring their games to the galaxy store? andy beaudoin 27:01 biggest thing i would say is don't hesitate to reach out to the team for advice and support. we were really impressed with the level of support we got from the tech support team over there in the in the uk when we're they were working with our partners that the guys came on site for a period of time helped us optimize helped us point out some ways that we can make the game better. so i would reach out to the team earlier and see if there are any ways that they can kind of partner earlier on. we had a great experience working with samsung on pre-registrations and a lot of people that pre-registered the game, which meant that as soon as we launched worldwide, we had a really big cohort of folks coming in, which is really valuable for us, you know, to climb the charts and make sure that we're in a good position to drive organic acquisition. so yeah, i think reach out early. try to engage the team as much as possible early on, and don't discount the amount of pre-registrations you can get from a really good partnership with samsung. tony morelan 27:59 it's great. to hear why would you say that it's important that developers do offer their game on the galaxy store? andy beaudoin 28:04 again, it's another surface area that, you know, again, i'm biased because the galaxy device, but it's yeah, it's a hugely popular device, hugely popular suite of devices. the galaxy store sits on every one of those devices. you know, it's also if i remember correctly, we had really good product placement as well, when the game went live. i think the team did a really good job of promoting forza street, which not only gave us the strong registrations that we had when we went live, but we also got some really good organics installs when the game went live as well. so i think that the format of the store is really good to promoting the visuals of the game. it's really focused, and we had a great experience with it. so tony morelan 28:45 excellent. all right. so tell me in forza street, what is your favorite car to drive? andy beaudoin 28:51 my highest rated cars the boss 302 that is my highest pi car. okay. it's a tough question. i've got the 99 spider which is my epic supercar that it's taking me a little bit longer to upgrade because it's hard to get those epics. and you need to duplicate cars in order to upgrade them. but andy beaudoin 29:11 yeah, it's passion versus functionality. that's a challenging one. tony morelan 29:15 all right. so in real life, what would be your favorite car to drive? andy beaudoin 29:18 so i've got an s for now it's 2013. so it's a little bit longer in the tooth. i've been pining after an rs five sport back for many, many years, but i've not yet gotten to the spot where i can. i can make that transition but my wife and i have a plan. and someday in the future, i hope to have an rs five sport back. i'm a father of two i like we've discussed mountain biking, i like to ride mountain bikes. my bike in the back of my house for having that sport back would make it even easier to throw my bike in the back of the car and go out for a ride afterwards. so that's my current, my current object of my desire. tony morelan 29:54 yeah. so as you'd mentioned, we both are big fans of mountain biking you obviously being up there in the northwest. you've got some beautiful trails to ride me being in california. we've got a lot of great trails out here. so i'm going to ask you, when you're not doing your day to day job with turn 10 studios, what do you like to do for fun? andy beaudoin 30:12 for fun, i got to kind of primary hobbies and that's music and mountain biking and probably equally skilled at both, which means i'm not particularly skilled at either. now i love i play with some guys at work. i play some really poor guitar and sing it mediocre lee for them. but that's a lot of fun. we just do a bunch of covers and get together every week or two and get together and jam. but yeah, mountain biking is kind of the biggest passion right now. and i started that a couple years ago, just looking at what's in my backyard up here in the northwest and how many amazing trails are to ride and i grew up in the bay area. and so i grew up kind of in the bmx and skateboarding era in the 80s. and so you know, in my now mid 40s, to discover that there's this awesome thing where you can take bikes and go off jumps and, and you don't look completely silly at my age doing that was pretty captivating. tony morelan 31:01 now i will say andy is currently wearing an arm brace. so it sounds like you're having a little too much fun. maybe out there on the trails. andy beaudoin 31:09 yeah, i need to learn to slow down. i've had a couple of crashes over the past six months. i'm nursing a broken collarbone right now, which doesn't hurt that much, but keeps me off the bike for a couple of months. so looking forward to getting healed and maybe going slightly slower off jumps next time. tony morelan 31:24 nice. nice. that sounds fine. why are you going to take that passion and then bring it into the video world forza street? andy beaudoin 31:30 that's cool. yeah, i know. it's a little bit less dangerous to racing horses straight than it is on a bike. so but yeah, they both they both hit the same endorphins for sure. tony morelan 31:38 that's wonderful. okay, andy, want to absolutely thank you and appreciate you taking the time to join me today on this podcast, tons of fun. love what the guys are doing over there turn 10 studios and forza street. super fun game to play. so go download it. have a blast, and we'll talk to you soon. awesome. thanks so much. tony's a pleasure. outro 31:55 looking to start creating for samsung. download the latest tools to code your next app. or get software for designing apps without coding at all. sell your apps to the world on the samsung galaxy store. check out developer.samsung.com today and start your journey with samsung. the pow! podcast is brought to you by the samsung developer program and produced by tony morelan.

      https://developer.samsung.com/developers-podcast/s01e08-andy-beaudoin.html
      No Search Results
      No Search results. Try using another keyword.
      • <<
      • <
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • >
      • >>
      Samsung Developers
      Samsung Developers
      Quick Link
      • Android USB Driver
      • Code Lab
      • Galaxy Emulator Skin
      • Foldables and Large Screens
      • One UI Beta
      • Remote Test Lab
      • Samsung Developers Podcast
      Family Site
      • Bixby
      • Knox
      • Samsung Pay
      • SmartThings
      • Tizen
      • Samsung Research
      • Samsung Open Source
      • Samsung Dev Spain
      • Samsung Dev Brazil
      Legal
      • Terms
      • Privacy
      • Open Source License
      • Cookie Policy
      Social Communications
      • Facebook
      • Instagram
      • Twitter
      • YouTube
      • Buzzsprout
      • Rss
      • Linkedin
      • System Status
      • Site Map
      • System Status
      • Site Map
      • facebook
      • instagram
      • twitter
      • youtube
      • buzzsprout
      • rss
      • linkedin

      Copyright © 2023 SAMSUNG. All rights reserved.