http://asawicki.info/ Programming, graphics, games, media, C++, Windows, Internet and more...
Entries for tag "productions", ordered from most recent. Entry count: 110.
DirectX 11 Renderer - a Screenshot
Here is what I've been working on in my free time recently. It's a renderer For PC, Windows, using DirectX 11.
It may not look spectacular here because I've just quickly put random stuff into this scene, but I already have lots of code that can do useful things, like deferred shading with dynamic directional and point lights, a bunch of material parameters, mesh processing and loading from OBJ file format, heightmap generation, particle effects and postprocessing (including bloom of course :)
In the next posts I will describe some pieces of my technology and share some C++ code.
C++ is Good for Fast Coding
Many people believe that C and C++ are languages suitable only for coding some special kinds of applications - low level or high performance. I think it's not 100% true. Here is a story: 2011-11-11 we had a game development competition organized in this topic on forum.warsztat.gd, called "Explosive Hamster Exhibition Compo". The name comes from crazy game titles that can be generated by Video Game Name Generator, which was used in this compo to generate a topic, unique for each participant. We had to develop a game in 3 hours. From 3 topics generated for me I chose "Micro Sewer Plus" and made a game about closing sewers. (Download: Reg - MicroSewerPlus.7z - binary + source code, 479 KB.)
You can prepare a good library by yourself or download one of many freely available on the Internet and use just like in any other programming language. What you get in return when deciding to use C++ is great flexibility in defining how the interface of your library looks like. Thanks to templates, operator overloading and all that stuff you can create your own domain-specific language inside C++ (like the << operator is used to write to stream objects). At the same time, due to compiling to native code, creating objects on the stack and other language features you don't have to sacrifice performance. You don't have to use separate variables float x, y, z or dynamically allocate new Vector(x, y, z). You can define a vector structure with overloaded operators, use it conveniently and compiler will optimize the code so you can do thousands or millions of vector computations per second.
Zjazd Twórców Gier 2012 - Review
By request of Tomasz Cieślewicz "tdc", I've written a review of Zjazd Twórców Gier - Game Developers Convention that took place 27-28th October 2012. It is in Polish, published on atarionline.pl website:
Ribbon Runner - WGK 2012 - Games Bonanza
Last weekend (31 August - 2 September 2012) I attended 2nd edition of National Conference on Computer Games Development in Gdańsk, Poland. This time I didn't have to travel far because I now live in Gdańsk :) It was great to see face-to-face again all these people from Polish gamedev and Warsztat community. Lectures were interesting (well, at least some of them :) There were other attractions too like poster session or Developers Showcase, where developers presented their game projects.
I spent sunday participating in Games Bonanza - a competition where teams of up to 4 people had to develop a game in 8 hours... and we took first place! Thanks for voting for us. The theme this year was "space-time warp", so we came up with an idea for a game which is 2D, but played on a 3D surface that folds, tars and glues like a sheet of paper. Here is a video from our game:
Title of the game - "Ribbon Runner", as well as name of our team - "';DROP TABLE uczestnicy --" we came up in a hurry. Our team was:
We developed it in Visual C++ 2010 Express, using Direct3D 9 for graphics and FMOD library for sound. As a base we used framework prepared by Krzysiek. You can download full source code here: WGK2012.ZIP (12.5 MB). In case you want to compile and run it yourself, remember that: 1) Release version crashes on level 5. 2) Levels don't finish automatically, you can switch them with F1..F9 keys.
Automated Level Design Compo - Castle
16-17 June 2012 there was 3rd edition of "Automated Level Design Compo" on forum.warsztat.gd. Participants of this competition have to create a program (in any programming language) that generates a 3D voxel map with given theme, in a special file format that can be viewed in a provided viewer application, coded by Krzysiek K. Custom textures, 3D models and skybox can also be attached. Theme this time was "Castle". Here are forum topics about this competition: , .
It looks like I took place 1 out of 6 :) despite I didn't manage to do much from what I planned. Instead I spent most of my time during the competition for preparing an universal framwork that simplifies coding of map generators for this competition (and playing Max Payne 3 :) It contains functions for easy writing of the file format, as well as library for integer 2D vector, 3D vector and 4x3 transform matrix. Here is my entry with full source code. Let's say it is Public Domain - you may use this library in future editions of the competition if you want :)
Compo_Zamek.zip (186 KB)
IGK-9'2012 - PrisonEscape Game
Our team (called Rosyjscy wieśniacy - from Russian peasants multiplication algorithm) - that is Krzysztof Kluczek "Krzysiek K.", Karol Kuczmarski "Xion" and me - scored 1st place in the gamedev compo at IGK-9'2012 conference! Thanks for all your votes, I'm glad you like our game. The theme this year was "Escape", so we decided to make an oldschool looking 2D game with pixel art, where a prisoner tries to escape, runs through constantly scrolling map, avoids policemen etc. It is coded in C++ using Direct3D 9. Here you can download binaries:
IGK2012_PrisonEscape.zip (5.83 MB)
NoConsole - My C# Project
Some time ago I started a new personal project. It is called NoConsole. I uploaded it to
SourceForge GitHub, with C# source code in Git repository, under GNU GPL. The idea (and name) comes from my aversion to console-based programs. I want to create a framework which enables easy development of GUI over command line tools.
Probably the most interesting part is C# scripting. .NET Framework includes C# compiler, so user doesn't have to install any development environment to be able to compile C# source code into managed EXE or DLL files. So if my program is coded in C#, there was no purpose in including any other scripting language. Scripts that control this program are just CS files. They are compiled into DLL-s on first use. They can execute arbitrary code, but the library shipped with NoConsole simplifies some some common tasks and enables integrating with host application:
The project is in early stage of development. Much can be added or changed. But I already use it to simplify some of the work I do, using my scripts I didn't share here.
I finished and present my latest production - a tutorial for C++/CLI programming language. C++/CLI is an extension to C++ made by Microsoft and available in Visual Studio / Visual C++ IDE. At the same time it is one of the languages of .NET platform, next to C# or VB.NET. With it you can freely mix native and managed code, which gives extraordinary power in some applications. I've been using this language in my previous job and now I want to share this piece of knowledge. Here is the PDF document and ZIP archive with sample source code: