Leszek Godlewski worked as a programmer at Nordic Games, focusing on Linux ports of games such as Darksiders and Painkiller. He discusses how game development differs from traditional software engineering due to real-time constraints, hardware limitations, and the interdisciplinary nature of game development teams. He then covers common types of bugs in game development like temporal bugs, graphical glitches, and content bugs which are often intertwined. Finally, he shares several case studies of bugs he encountered and how they were debugged, such as issues with animation states, stretched viewports, and mysterious crashes.
One Year of Porting - Post-mortem of two Linux/SteamOS launchesLeszek Godlewski
2013 was the year in which Linux finally got the attention of game developers; it was also the year in which my first two Linux/SteamOS ports were released. This talk will cover the learnings of one year of porting work from a programmer's point of view: DOs and DON'Ts and issues both expected and unexpected.
Linux commonly connotes with open-source zealots and a small PC market
share, not blockbuster video games. However, the arrival of Steam on
the platform might change the outlook quite dramatically, and Linux
support may soon become a must-have feature for your game. Setting the
open-source ideology aside, this lecture is an overview of the
technical challenges a game developer may face while porting their
game to this platform, along with solutions.
This document is a series of errata and clarifications from a previous talk on game development for Linux. It addresses shortcomings in SDL for threaded rendering and audio capabilities, and clarifies that OpenGL context sharing is possible in SDL2. It also recommends using SDL2's joystick and game controller APIs rather than low-level kernel interfaces. Placement of game files on Linux systems and XDG standard directories for configuration and user data are explained. The document concludes by thanking readers and suggesting that an upcoming game may also come to Linux.
Presenter notes: https://www.dropbox.com/s/lq6oxuw1s3bhoun/Advanced%20Linux%20Game%20Programming%20%E2%80%93%20Presenter%20Notes.pdf
Ever since the advent of SteamOS, interest in game development for Linux has seen an increase. This lecture aims to address some more advanced issues encountered by programmers on this platform, beyond the very basic Linux setup, and drawing from over a year and two and a half games of experience in the subject. The areas discussed will be:
• Executable build improvements
• Crash handling and reporting
• Memory debugging
• OpenGL instrumentation and debugging
• Various caveats, tips and tricks.
GigaSpaces Advantage For Gaming Platformsjimliddle
This document discusses GigaSpaces XAP, an in-memory data grid platform that provides scalability and high availability for online gaming applications. It addresses challenges like slow response times, difficult development and deployment, and downtime. Key features include clustering data and services in memory across nodes, automatic scaling of nodes under load, easy integration with frameworks like Spring, and deployment to public clouds. Customers include financial, telecom, and gaming companies building mission critical, low latency applications.
Vladimir ’mend0za’ Shakhov — Linux firmware for iRMC controller on Fujitsu P...Minsk Linux User Group
Доклад Владимира Шахова про прошивку BMC (iRMC) серверов Fujitsu Primergy на основе Linux.
Прозвучал на сентябрьской линуксовке Minsk LUG 26 сентября 2015.
Leszek Godlewski worked as a programmer at Nordic Games, focusing on Linux ports of games such as Darksiders and Painkiller. He discusses how game development differs from traditional software engineering due to real-time constraints, hardware limitations, and the interdisciplinary nature of game development teams. He then covers common types of bugs in game development like temporal bugs, graphical glitches, and content bugs which are often intertwined. Finally, he shares several case studies of bugs he encountered and how they were debugged, such as issues with animation states, stretched viewports, and mysterious crashes.
One Year of Porting - Post-mortem of two Linux/SteamOS launchesLeszek Godlewski
2013 was the year in which Linux finally got the attention of game developers; it was also the year in which my first two Linux/SteamOS ports were released. This talk will cover the learnings of one year of porting work from a programmer's point of view: DOs and DON'Ts and issues both expected and unexpected.
Linux commonly connotes with open-source zealots and a small PC market
share, not blockbuster video games. However, the arrival of Steam on
the platform might change the outlook quite dramatically, and Linux
support may soon become a must-have feature for your game. Setting the
open-source ideology aside, this lecture is an overview of the
technical challenges a game developer may face while porting their
game to this platform, along with solutions.
This document is a series of errata and clarifications from a previous talk on game development for Linux. It addresses shortcomings in SDL for threaded rendering and audio capabilities, and clarifies that OpenGL context sharing is possible in SDL2. It also recommends using SDL2's joystick and game controller APIs rather than low-level kernel interfaces. Placement of game files on Linux systems and XDG standard directories for configuration and user data are explained. The document concludes by thanking readers and suggesting that an upcoming game may also come to Linux.
Presenter notes: https://www.dropbox.com/s/lq6oxuw1s3bhoun/Advanced%20Linux%20Game%20Programming%20%E2%80%93%20Presenter%20Notes.pdf
Ever since the advent of SteamOS, interest in game development for Linux has seen an increase. This lecture aims to address some more advanced issues encountered by programmers on this platform, beyond the very basic Linux setup, and drawing from over a year and two and a half games of experience in the subject. The areas discussed will be:
• Executable build improvements
• Crash handling and reporting
• Memory debugging
• OpenGL instrumentation and debugging
• Various caveats, tips and tricks.
GigaSpaces Advantage For Gaming Platformsjimliddle
This document discusses GigaSpaces XAP, an in-memory data grid platform that provides scalability and high availability for online gaming applications. It addresses challenges like slow response times, difficult development and deployment, and downtime. Key features include clustering data and services in memory across nodes, automatic scaling of nodes under load, easy integration with frameworks like Spring, and deployment to public clouds. Customers include financial, telecom, and gaming companies building mission critical, low latency applications.
Vladimir ’mend0za’ Shakhov — Linux firmware for iRMC controller on Fujitsu P...Minsk Linux User Group
Доклад Владимира Шахова про прошивку BMC (iRMC) серверов Fujitsu Primergy на основе Linux.
Прозвучал на сентябрьской линуксовке Minsk LUG 26 сентября 2015.
This document outlines a presentation on the Dive tool. It begins with the initial rationale for Dive as a "poor man's SSHd" for starting programs inside LXC containers directly without additional configuration. It then discusses updates to Dive that expanded its capabilities for starting processes in various ways. Several usage examples are provided, including restricting privileges, running sudo without suid privileges, and namespace handling to function as a "poor man's LXC". The document concludes with an outline of the presentation topics.
Vikentsi Lapa — How does software testing become software development?Minsk Linux User Group
This document discusses using software testing to contribute to open source software development. It introduces the file system benchmarking tool IOzone, describes finding and reproducing a bug in IOzone, communicating with its sole active developer, and receiving suggestions to fix the bug. The author summarizes that through this process they gained development experience, and that testing open source software is a way for non-developers to help projects and build credibility.
This document discusses setting up IPv6 at home using NAT64, DNS64 and OpenVPN. It provides instructions on configuring NAT64 and DNS64 to translate IPv4 addresses to IPv6. It also outlines how to set up an OpenVPN server with IPv6 support that can push IPv6 routes and DNS settings to clients. The document demonstrates connecting to IPv6 resources through this configuration and provides resources for further information.
This document summarizes talks given at FOSDEM 2014. It discusses LanguageTool for finding grammar errors, miracast support on Linux, SailfishOS and Jolla, Fedora splitting into different editions, IPv6 networking at FOSDEM, KDE Connect for connecting devices, GPU offloading in Wayland, Wine performance improvements, and persistent storage challenges. The document ends thanking the audience and providing additional resource links.
Jenkins is an open source automation tool that can be used for continuous integration and continuous delivery. It was originally called Hudson but was later renamed to Jenkins. The document discusses Jenkins' capabilities for build automation and managing plugins.
This document discusses tools for testing a cluster environment and executing tests. It describes using tools like pdsh and Ansible to configure an 8 node cluster with 4 servers and 4 clients by running commands across nodes to check IP settings and time. It also recommends using screen to keep long running tests active in SSH sessions and log output to files.
This document outlines a presentation on the Dive tool. It begins with the initial rationale for Dive as a "poor man's SSHd" for starting programs inside LXC containers directly without additional configuration. It then discusses updates to Dive that expanded its capabilities for starting processes in various ways. Several usage examples are provided, including restricting privileges, running sudo without suid privileges, and namespace handling to function as a "poor man's LXC". The document concludes with an outline of the presentation topics.
Vikentsi Lapa — How does software testing become software development?Minsk Linux User Group
This document discusses using software testing to contribute to open source software development. It introduces the file system benchmarking tool IOzone, describes finding and reproducing a bug in IOzone, communicating with its sole active developer, and receiving suggestions to fix the bug. The author summarizes that through this process they gained development experience, and that testing open source software is a way for non-developers to help projects and build credibility.
This document discusses setting up IPv6 at home using NAT64, DNS64 and OpenVPN. It provides instructions on configuring NAT64 and DNS64 to translate IPv4 addresses to IPv6. It also outlines how to set up an OpenVPN server with IPv6 support that can push IPv6 routes and DNS settings to clients. The document demonstrates connecting to IPv6 resources through this configuration and provides resources for further information.
This document summarizes talks given at FOSDEM 2014. It discusses LanguageTool for finding grammar errors, miracast support on Linux, SailfishOS and Jolla, Fedora splitting into different editions, IPv6 networking at FOSDEM, KDE Connect for connecting devices, GPU offloading in Wayland, Wine performance improvements, and persistent storage challenges. The document ends thanking the audience and providing additional resource links.
Jenkins is an open source automation tool that can be used for continuous integration and continuous delivery. It was originally called Hudson but was later renamed to Jenkins. The document discusses Jenkins' capabilities for build automation and managing plugins.
This document discusses tools for testing a cluster environment and executing tests. It describes using tools like pdsh and Ansible to configure an 8 node cluster with 4 servers and 4 clients by running commands across nodes to check IP settings and time. It also recommends using screen to keep long running tests active in SSH sessions and log output to files.
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной сб...
Андрэй Захарэвіч — Hack the Hackpad: Першая спроба публічнага кіравання задачамі для лінуксовак
1. Hack the Hackpad
Першая спроба публiчнага кiравання задачамi для
лiнуксовак
Андрэй Захарэвiч
andrej@zahar.ws
1 / 10
Copyright c 2015. SaM Solutions
2. З чаго пачыналася
Што хацелi атрымаць:
Публiчна даступны спiс задач да лiнуксовак
2 / 10
Copyright c 2015. SaM Solutions
3. З чаго пачыналася
Што хацелi атрымаць:
Публiчна даступны спiс задач да лiнуксовак
Магчымасць дадаваць новыя задачы
2 / 10
Copyright c 2015. SaM Solutions
4. З чаго пачыналася
Што хацелi атрымаць:
Публiчна даступны спiс задач да лiнуксовак
Магчымасць дадаваць новыя задачы
Магчымасць браць на сябе iснуючыя задачы
2 / 10
Copyright c 2015. SaM Solutions
5. Новы цудоўны свет
Пасля абмеркаванняў на лiнуксоўцы i першых спроб паглядзець
на iнструменты пачалi эксперыментаваць з Hackpad. I мне гэта
нават вельмi падабалася некаторы час.
3 / 10
Copyright c 2015. SaM Solutions
6. Перавагi i выгоды
Што было добра:
Спiс даступны без анiякай аўтарызацыi
4 / 10
Copyright c 2015. SaM Solutions
7. Перавагi i выгоды
Што было добра:
Спiс даступны без анiякай аўтарызацыi
Лёгка дадаць новыя задачы, цi пазначыць сябе (у
каменце) адказным за iснуючыя
4 / 10
Copyright c 2015. SaM Solutions
8. Перавагi i выгоды
Што было добра:
Спiс даступны без анiякай аўтарызацыi
Лёгка дадаць новыя задачы, цi пазначыць сябе (у
каменце) адказным за iснуючыя
Лёгка пазначыць задачу выкананай
4 / 10
Copyright c 2015. SaM Solutions
9. Першы сабака блiну
Але лiтэральна ў першыя ж гадзiны высветлiўся дробны
недахоп, якi псаваў усё:
Яно не заўсёды запамiнае расстаўленыя птушачкi
выкананых задач!
I гэты касяк усплываў увесь час i не толькi ў мяне.
5 / 10
Copyright c 2015. SaM Solutions
10. Звярнiцеся за падтрымкай
Я, натуральна ж, напiсаў лiст ў тэхпадтрымку. I, нават,
пастараўся не ўжываць англiйскiх словаў з чатырох лiтар.
6 / 10
Copyright c 2015. SaM Solutions
11. Не кажы куды я мушу iсцi. . .
I яны мне нават адказалi. Дарэчы, таксама не ўжывалi словаў з
чатырох лiтар. Але ўсё ж параiлi мне паiсцi некуды. . .
7 / 10
Copyright c 2015. SaM Solutions
12. Што рабiць далей?
Мне здаецца, што далей мы можам:
Карыстацца далей, пазначаючы выкананыя задачы,
напрыклад з дапамогай [*]
8 / 10
Copyright c 2015. SaM Solutions
13. Што рабiць далей?
Мне здаецца, што далей мы можам:
Карыстацца далей, пазначаючы выкананыя задачы,
напрыклад з дапамогай [*]
Пераключыцца на kanboard
8 / 10
Copyright c 2015. SaM Solutions
14. Што рабiць далей?
Мне здаецца, што далей мы можам:
Карыстацца далей, пазначаючы выкананыя задачы,
напрыклад з дапамогай [*]
Пераключыцца на kanboard
Пераключыцца на нешта больш вялiкае i цяжкае (Redmine,
trac)
8 / 10
Copyright c 2015. SaM Solutions
15. Пытаннi цi прапановы?
Андрэй Захарэвiч
andrej@zahar.ws
www.sam-solutions.com
Value of Talent. Delivered.
9 / 10
Copyright c 2015. SaM Solutions
16. Ужытыя малюнкi
[1] Collaboration by Chris Lott;
[2] red tool box by Ali Edwards;
[3] If you’re happy and you know it, Clap your hands
by Kate Ter Haar;
[4] Лозунг «План — закон, выполнение — долг,
перевыполнение — честь!» в здании
Ольховско-Батьковского торфяного
предприятия в Кубринске, Переславский район.
by Газета «Переславская неделя» / Ю. Н. Частов
/.
10 / 10
Copyright c 2015. SaM Solutions