Entries for tag "productions", ordered from most recent. Entry count: 121.
# Hack3city 2014 - Our Game
I just came back from Hack3city - a programming competition. Participants had to develop their applications over this week - Monday to Friday working from home, while Saturday and Sunday working in Starter, Gdańsk. There were 4 tracks. We participated in track organized by Playsoft, where we had to create a game. The theme of this competition was "fear of the dark". We took 3rd place.
As I promised to some of you, I publish playable version of our game today. The game is created in Unity and can be run in web browser if you have Unity Player installed.
Our game is called "Jason McBrady Dark Adventure". It's a 2D platform game. It's about an adventure seeker exploring ancient tombs full of dangers like zombies, who want to kill you, but run away from from the light. It's quite difficult :)
We called our team NOQA. Credits are:
In the next post, I will write more about Hack3city. See: Hack3city 2014 - Review
# Ball-B - Our Game at Global Game Jam 2014
Here is the game we made during this year's Global Game Jam. It's called Ball-B. The goal is to defend the base at the center of the arena. You are rolling a physically simulated ball (using arrow keys or WSAD) of one of 5 kinds, each one (except the green one) having a special ability activated with Space. ESC key shows menu.
The game is made in Unity, so it works on the web page (if you have Unity Web Player installed) and can be build for multiple desktop as well as mobile platforms.
Windows Binary: Ball_B_Windows.zip (8.78 MB)
Source Code: Ball_B_Source.zip (20.4 MB)
See also Ball-B at globalgamejam.org
One week before the jam I decided to learn Unity a little bit instead of make a game using custom C++ technology, as I always did before. Arek, who is doing 2D graphics at work, also a week ago decided to learn making 3D graphics. So it was a new and interesting experience for both of us. We made our game in same team as last year, only without Klamacz (who now lives in Czech Rapublic and works in Bohemia Inteactive). Our roles were:
I was the only programmer in the team and I didn't try to be the leader of the team or a designer, so I could say the game was artist-driven - most of the time developed considering how things should look like. Which is a good approach. Of course not everything went right and there are many things we could have done better. But it was fun to participate. In the competition at our site we scored 3rd place.
# (PL) Pisząc kod natywny C/C++... - Prezentacja
Zapraszam do obejrzenia slajdów z mojej prezentacji zatytułowanej "Pisząc kod natywny C/C++, czyli nie taki diabeł straszny", którą pokazałem dzisiaj podczas targów Kariera Programisty.
# Time Measurement in Game Programming - My Article in ProgramistaMag
In new issue 9/2013 (16) of Programista magazine there is my next article (in Polish) - "Pomiar czasu w programowaniu gier" (Time Measurement in Game Programming). This is an article about very specific subject, important in game development, as well as programming other real-time systems. Most books about game development mention the subject of time measurement, but usually go quickly to higher level like creating some timer class etc. This article focuses on lower level and gives solid theoretical background. It covers:
Plus some other information... You can find the magazine e.g. in Empik stores, as well as subscribe for electronic or paper version.
# Smart Pointers in C++11 - My Article in ProgramistaMag
In new issue 7/2013 (14) of Programista magazine there is my next article (in Polish) - "Inteligentne wskaźniki w C++11" (Smart Pointers in C++11). This is a long one. In this article I introduce the problem of manual memory management in C++ along with the concept of object lifetime and the matter of object ownership. I then describe RAII idiom and explain what smart pointer mean. I describe features of smart pointer classes available in C++11 standard library (auto_ptr, unique_ptr, shared_ptr, weak_ptr) and show how to use them with short examples. I also touch some additional topics like writing custom deleters and show source code of custom implementation of a simple smart pointer.
You can find the magazine e.g. in Empik stores, as well as subscribe for electronic or paper version.
# About Demoscene - My Article in ProgramistaMag
In the latest issue of Programista 6/2013 (13) magazine, there is my second article: "About Demoscene" (in Polish). This time it is less technical, so it should be understandable to everyone, regardless of known programming languages. I might not be the best person to write about demoscene, but I did my best to gather my experiences, research and describe different aspects of this phenomenon - from history and the beginnings at the time when 8-bit and 16-bit computers were used, through the explanation of what demoscene and a demo really is, how demoparty looks like, few words about competitions, until some details about different kinds of productions (demos for retro platforms, modern demos, intros) and how are they made.
Besides my article, on 140 pages if this issue, you will find many interesting articles about programming from assembler to C#. I encourage to find the magazine in Empik store or subscribe it online.
# Floating-Point Formats Cheatsheet
Floating-point numbers (or floats in short) are not as simple as integer numbers. There is much to be understood when dealing with these numbers on low level - basic things like the sign + exponent + significand representation (and that exponent is biased, while significand has implicit leading 1), why you should never compare calculation results operator ==, that some fractions with finite decimal representation cannot be represented exactly in binary etc., as well as why there are two zeros -0 and +1, what are infinite, NaN (Not a Number) and denorm (denormal numbers) and how they behave. I won't describe it here. It's not an arcane knowledge - you can find many information about this on the Web, starting from Wikipedia article.
But after you understand these concepts, quantitative questions come to mind, like: how many significant decimal digits can we expect from precision of particular float representation (half, single, double)? What is the minimum non-zero value representable in that format? What range of integers can we represent exactly? What is the maximum value? And finally: if our game crashes with "Access violation, reading location 0x3f800000", what chances are that we mistaken pointer for a float number, as this is one of common values, meaning 1.0?
So to organize such knowledge, I created a "Floating-Point Formats" cheatsheet:
# Writing Efficient C++ Code - my Article in ProgramistaMag
My article - "Writing Efficient C++ Code" - is about achieving best possible efficiency of native C++ code. It describes data-oriented design as an alternative to pure object-oriented philosophy and shows its advantages, mostly related to consciously designed layout of data in memory, which makes good use of CPU cache. It also mentions operations that should be avoided if code is to be efficient, shows some language tricks and Visual C++ project options that help with generating efficient code and mentions parallelization.
Besides, in each issue of the magazine you can find interesting articles about different programming languages, libraries and technologies, as well as interviews, book reviews and other articles related to software development. The magazine is available for subscription in electronic and paper form.