http://asawicki.info/ Graphics programming, game programming, C++, games, Windows, Internet and more...
Entries for tag "productions", ordered from most recent. Entry count: 109.
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:
WGK 2011 - Our Compo Game
Part of the National Conference on Computer Games Development was COMPO Games Bonanza - a competition where teams of up to 4 people have to develop a game in 9 hours. Our team was: Krzysztof Kluczek (Krzysiek K.), Tomasz Dąbrowski (Dab), Piotr Iwanicki (zxc) and me. That was our first participation in a contest in such configuration and it worked quite well. Zxc made all the graphics, sound and recorded voice. He was also doing game design by insisting on making this game cool, while we focused more on technical details :) Rest of us was coding. Music is done by Krzysiek K. in Fruity Loops, also during the contest.
Here is a video recorded by 2009xor. You can see our game presented by Krzysiek K. from the beginning of the video until 1:50.
The theme for this competition was "surrealism". We came up with a game about Salvador Dali. His thoughts (the players) are fighting in his mind - that's the story. Obstacles on the map are eyes which always look at some player. Periodically some bigger object appear, like a cat in a box or a guitarist with spider legs - so thanks to zxc's creativity the game is really surreal/psychedelic :)
Our work went quite well. We managed to implement most of what we planned - a difficult task. Of course we weren't happy about how the project is going all the time, there was some rush and frustration. But there were also epic moments, especially when Krzysiek K. implemented bloom shader literally in 10 minutes, right before deadline!
The game is written in C++. We used a framework coded by Krzysiek K., same as on IGK conference in previous years, that just initializes Direct3D, handles texture loading, mouse and keyboard input etc. Playing sound and music is implemented using FMOD library. Right before the competition I figured out how to handle multiple gamepads using Raw Input API. Unfortunately that decision forced us to implement only particular models of Logitech gamepads - the ones that we took with us and used during the compo.
Our game makes sense only for 2-4 players playing simultaneously. During the presentation we used two wired gamepads, one wireless gamepad and the keyboard. Players moving on the top-down view fight each other. By killing opponents they gain experiance, and after leveling up they upgrade to better weapon.
I'd like to thank everyone who voted for us, congratulate other teams that participated in the competition and thank organizers for arranging this competition - so traditional in our community - during the conference. See you next year!