http://asawicki.info/ Programming, graphics, games, media, C++, Windows, Internet and more...
Entries for tag "warsztat", ordered from most recent. Entry count: 69.
After WGK Conference
Last weekend (6-8 September 2013) in Gdańsk University of Technology there was 3rd edition of WGK - Polish Conference on Computer Games Development. Just like in previous years, it was good and it's getting better and better. Many presentations were shown in up to 3 parallel sessions, so obviously everyone could see only a portion of them and my short review will be very subjective. You can also take a look at my photos from the conference.
There were two general kinds of presentations - scientific and industry. From the presentations made by game industry professionals, some were business oriented. That includes the discussion panel with Berlin delegation, as well as Saturday's "Lecture of the Day" with the outlook of European game market. Dates, percents, numbers, amounts, company names... - for me, that was quite boring, too much business and too little technology.
On the other hand, the presentation "Like a Boss" by Tomasz Gop and Michał Kuk from CI Games was great. They showed actual gameplay (played in real-time on a powerful PC) from their upcoming new titles - Alien Rage and Lords of the Fallen. The presentation was about designing bosses that players would like, so they presented boss fights and even showed some design docs of these bosses.
From the scientific lectures - the ones that also have a paper printed in the conference materials - I mostly remembered these two: Krzysztof Kluczek researched a way of animating skeleton of a 3D model using a set of control points connected with constraints on distance (something like springs) and also connected to an invisible triangle/tetrahedron to preserve general shape, all updated using Verlet method. He developed a tool where he can easily apply different kinds of presets and make a character of any skeleton topology run, attack or even dance with quite complex choreography (which looked very funny :)
Second interesting scientific lecture I've seen was the one presented by developers of Gizarma - a browser strategy game. They researched an algorithm for map generation. Based on sketched outline of island borders and rivers plus some density maps (like temperature, precipitation) and using some geography-based models, an iterative algorithm generated tesselation into irregular regions with desired properties and some parameters for each region (like the type of terrain). The execution of this algorithm can tak hours and we concluded that something similar could probably be achieved quickly (or even real-time) by starting with poisson disc, calculating Voronoi diagram and then applying some noise to its edges, but anyway their method is interesting and gives good-looking result.
Some papers were presented on the conference as posters. One of them caught my attention. Authors of an article "A role playing game name generator learning its creativity from Arkadia MUD players" developed an algorithm for generating new, yet reasonable names for fantasy RPG characters based on the concept of Markov Chains.
A very unusual presentation was showed by Maciej Mi±sik. As a veteran of Polish game industry with 20+ years of experience, he talked about the value and the ways of preserving our old game projects and the history of their development, so we can go back to it when necessary - even many years later, when hardware platforms and storage devices change. He gave many arguments why it's worth doing, as well as gave some specific advices, e.g. to backup all the email history. I don't share his beliefs on the big value of the history, but anyway that was a very interesting lecture.
There was also a discussion panel about crunch time, involving several Polish game developers, moderated by Piotr Gnyp. They quite agreed that the crunch is bad, but general conclusion from their discussion could be that the crunch is always present, in every project. So they talked about how to predict, manage and compensate it, but not how to avoid it. Maciej Mi±sik shared an interesting point of view - he said he studies this problem a lot and he currently believes that the crunch in gamedev is the result of making same mistakes that other businesses of software development made many years before. I asked a question about why do game developers - even those who strongly dislike crunch - usually stay until the end of the project and then leave, instead of leaving the job in the moment the manager announces start of the crunch. They said that developers generally "like to finish something", but I somehow feel that this answer is not fully exhaustive and satisfactory :)
There were also some workshops on the conference (e.g. about concept art or Unity), but I didn't attend any of them. Another part of the conference were integration parties. In both Friday and Saturday evenings, we were invited into quite elegant venues to have some beer and socialize. As always on such events, I met many friends from gamedev industry and Warsztat community, who came from all over the country. From our conversations, a general trend that remains in my mind is that many of them started their own business instead of having a stable, full-time job in some corporation. They are quite successful in terms of money, but they don't always claim to work less hours per week than they would in a traditional job. They also don't make their money from games (although they want to), but from different kinds of software projects. An outstanding exception is Daniel Sadowski with his company Nitreal Games. They started with doing games for government contracts, like Misja Bielany promoting Bielany - a Warsaw district, but now they made their own game (a time management casual PC game) - Gardens Inc. which is very successful.
Another part of the event was Developers Showcase - a place where amateur, as well as professional game developers could show their projects. I was amazed by the stands prepared for the exhibitors - they looked like on some kind of a small expo. The game that won voting on the best project was SuperHot - an FPS based on a novel idea that time passes (bullets fly, enemies walk) only when the players moves or rotates. The one project that was not a game used 4 Kinects to build a 3D model of objects so everyone who entered their space could see himself from any side as a colourful point cloud.
Finally, on Sunday there was the traditional game development competition (named Games Bonanza), where teams of up to 4 people had to develop a game in 8 hours. Unity and similar technologies were prohibited, so teams made their games in programming languages like C++ or Python with PyGame. The theme this year was "Spaghetti". I expected most games to be about the Flying Spaghetti Monster (especially after the lecture about designing boss fights), but the games turned out to be more diverse. One was about a cook avoiding spaghetti thrown at him by angry restaurant clients, another was about a piece spaghetti running away from the cook... At the end there were 5 entries in the competition. We took the 1st place :D Our team was: Krzysztof Kluczek "Krzysiek K." (programming, team leader), Tomasz D±browski "Dab" (programming, level design), Michał Rudnicki "Mildanach" (graphics) and me (programming, audio). We made our game in Visual C++ 2010 Express based on a framework prepared by Krzysiek K., which uses DirectX 9. We created a 2D platform game where a plumber jumps, collects points and finally fights a boss. Here are some screenshots:
tl;dr: WGK is a nice conference for game developers with many different events taking place and it's definitely worth attending. By the way, in 2 weeks (20-22 September) there is different kind of party - WeCan demoparty in ŁódĽ.
IGK 2013 Quiz
During IGK 2013 gamedev conference, just like in previous years, we organized a contest with 75 questions in 15 categories, from gaming to programming. We had 8 participants this year and the winner was Artur Poznański "artpoz" - congratulations! See full results.
You can now download new version of the application with source code in C# and this year's questions to test your gamedev knowledge by yourself or with your friends:
IGK_Quiz_2013.zip (2.76 MB)
Here be Dragons - Our Game from IGK 2013 Compo
During IGK 2013 gamedev conference there was traditional game development compo, where teams of up to 4 people have to make a game in about 8 hours. Of course we participated in it. This time we called our team "Mass Deffect" (just some random name). There were four of us, all programmers: Kamil Szatkowski "Netrix", Karol Kuczmarski "Xion", Krzysztof Kluczek "Krzysiek K.", and me.
The theme this year, with all the requested features of the game, was: "Artiller game - multiple ways of destroying map, hp & mp - at least 2 kinds of energies - achievements - multiplayer" That fitted into my plan to use two mice on one computer, which I researched recently and described in: Handling Multiple Mice with Raw Input. We designed our game in the Saturday evening, after considering multiple ideas. Finally we chose Krzysiek's idea inspired by Rampart - an old Atari game (see this video).
Our game has title "Here be Dragons". In works on PC, Windows. It is written in Visual C++ 2010 Express, based on a Direct3D 9 framework developed by Krzysiek K. We decided to use 3D graphics (which becomes more and more rare on this kind of game development compos). But game logic is 2D and map entirely fits the screen. Two players build castles on the opposite sides of the map (with left mouse button). On the large enough castle, towers with maidens appear which are resource needed by dragons :) When player has dragons, he can shoot fireballs at the enemy (with right mouse button).
We took 4th place out of 12. Our game lacks many planned features. It doesn't even have sound or music. Anyway, it was fun as always :) Here you can download the game with full source code:
HereBeDragons.7z (3.17 MB)
IGK 2013 - My Photos
After IGK 2013
Today I came back from 10th Polish Game Engineering Conference - X jubileuszowa Ogólnopolska Konferencja Inżynierii Gier Komputerowych IGK2013, which took place at Uniwersytet Przyrodniczo-Humanistyczny in Siedlce, Poland. See also Facebook page and topic on forum.warsztat.gd.
It was fun :) Maybe papers were not the highest possible quality in scientific terms. I also noticed complete lack of presentations from any companies producing "big" PC or console games. There were only talks about mobile and web-based games, as well as serious games - simulation and training for military.
The presentation I liked the most was "Desert Tycoon - Gra stworzona na piasku" by Konrad Rodzik and Jarek Potiuk from Polidea. They talked about their first iPhone game - Desert Tycoon. It's a game like Farmville, but taking place on Arabian desert. I was amazed by the openess they present when talking about what went good or wrong and all the technical details of their work. It was very interesting to hear about e.g. the quirks of rendering text in Arabic language.
My second favorite talk was "Testowanie rozproszonych aplikacji mobilnych opartych na Unity3D" by Marcin Korniluk and Piotr Duda. It's not the most interesting subject for me, but I liked the structure of this talk. They showed what they are talking about and what problem they want to address and then they presented the solution they are working on.
The big name of this conference was probably Sos Sosowski with his talk "It's not a bug, it's a feature". This indie game developer, author of McPixel, has great talent for speaking in funny and engaging way.
I'm glad we managed to organize the quiz. Congratulations artpoz for winning! I will publish the application we used along with all the questions we asked in the following days and link it from here. Meanwhile please leave your comments about any ideas, what you liked or not liked about this game, how we could improve the rules, the app and what kinds of questions would you prefer to see next year.
Of course on Sunday there was also game development competition. 12 teams participated this year. The theme was: "Artiller game - multiple ways of destroying map, hp & mp - at least 2 kinds of energies - achievements - multiplayer". We took 4th place. I will publish our entry soon. I think the level this year was quite high. Almost all compo entries looked like nice games. My favourite game was the one from team "Kryzys". They made a game for two players with top-down view about tanks shooting each other with different kinds of weapons and destroying the map. Tanks were controlled by... smartphones with Windows, using touchscreen and accelerometer.
There were around 70 participants this year. The possibly biggest groups were people from Polygon (game programming interest group at Warsaw University of Technology), Warsztat community, Vexillium group, Ganymede (game development company, one of the sponsors). Here is a group photo.
Some additional links:
10th Polish Game Engineering Conference IGK2013
5-7 April 2013 the 10th Polish Game Engineering Conference - X jubileuszowa Ogólnopolska Konferencja Inżynierii Gier Komputerowych IGK2013 will take place at Uniwersytet Przyrodniczo-Humanistyczny in Siedlce, Poland. There is still time to register until March 24th.
The agenda doesn't look very impressive, but I'm sure there will be a good vibe as always when people from warsztat.gd from all over the country come together. So me and Krzysiek K. are coming there. Xion will be there as well despite he now lives in Zürich, Switzerland.
Besides talks, there will be also a quiz. Everyone on the conference will have a chance to participate and test his knowledge about game development. Everyone except us because we make the questions :) I can reveal that this time my part of questions will be less about hardcore programming details and more about latest games and news from the gamedev industry.
And of course on Sunday there will be game development competition where teams will have to develop a game in 8 hours. So I'm sure there will be lots of fun :)
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.
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.