nikagra Posted November 5, 2015 Report Share Posted November 5, 2015 (edited) Position: Programmer (Graphics, Gameplay, AI)Do you understand that Wildfire Games is a non-commercial project, work for 0 A.D. is volunteer, and work is done for free?YesDo you agree to distribute all your work for Wildfire Games under Creative Commons Attribution Share-Alike license?YesName:Mikita HradovichEmail:nikagra (at) gmail (dot) comLocation:Wrocław, PolandAvailability:~10h (it depends really)Age:26Occupation:Software Developer (Gigaset), Doctoral Study (Wrocław university of Technology)Bachelor Thesis on 3d landscape generation and some procedural techniquesSkills and Experience:4+ years of commercial programming experience, strong and deep interest in game developmentMotivation:I'm passionate gamer and my long-term goal is to become a game developerPersonality:I'd like to challenge myself and constantly learn new thingsShort Essay:I've learned about 0 a.d. when it appeared on indiegogo. A few days ago I've got an email from Wildfire Games and decided to finally try to take active role in 0 a.d. development.This is a great opportunity to get gamedevelopment experience, to learn more about game engine architecture, to participate in real game and to meet passionate gamers and developers like meInterests and Hobbies:Computer science and programming, gaming and gamedev, sci fi (books, movies), astronomyStaff:NoCommunity:RedditFavorite Game:Witcher 3, Skyrim, Crusader Kings 2, Age of Empires 2, Cossacs, Assassin's Creed series, list goes on...Work Examples:C++ developer in Nokia Networks (2 years) Edited November 5, 2015 by nikagra 2 Quote Link to comment Share on other sites More sharing options...
Stan` Posted November 5, 2015 Report Share Posted November 5, 2015 Hey, first of all welcome to the forums.Programmers don't really need to make an application, contribute enough and you'll be part of the team.If you haven't read the wiki yet I'd suggest reading the programmers section http://trac.wildfiregames.com/If you need any help to find a task just ask me, I have been lurking around trac a long time, and I know mostof the tickets. I saw you dropped by IRC, that's great, that's our #1 way of communication.So hope to hear from you, and see bugfixing Quote Link to comment Share on other sites More sharing options...
Yves Posted November 6, 2015 Report Share Posted November 6, 2015 Hello Mikita and welcome!As Stan already said, programmers usually just pick a task and submit one or more patches before they eventually get invited to join the team.You may want to pick a simple task (link) or fix a bug to start with. If you are interested in a specific task, you may also work on that.Is there anything you are particularly interested in (AI development, GUI programming, network code, rendering etc.)? Quote Link to comment Share on other sites More sharing options...
nikagra Posted November 6, 2015 Author Report Share Posted November 6, 2015 (edited) Thanks Yves and stanislas69I've already submitted patch to #3570 (smth simple to start with)I'm more intreseted in rendering and AI, but I won't turn up my nose from any task Edited November 6, 2015 by nikagra Quote Link to comment Share on other sites More sharing options...
Stan` Posted November 6, 2015 Report Share Posted November 6, 2015 (edited) If you are interested in rendering there are different things you could do.You could make an antialiasing fragment shader for the game there is a todo about it in the code somewhere. Here is an attempt of niektb and I but it just happens to make the screen blurry.antialiasing.7zElse here are some tickets you might be interested inhttp://trac.wildfiregames.com/ticket/40 Weatherhttp://trac.wildfiregames.com/ticket/44 Terrain Special Effectshttp://trac.wildfiregames.com/ticket/569 A bug with alphamaps in Crenderererhttp://trac.wildfiregames.com/ticket/1116 A incorrect usage in the Terrain Rendererhttp://trac.wildfiregames.com/ticket/919 Fix territory boundaries renderinghttp://trac.wildfiregames.com/ticket/1368 Problem with selection ringhttp://trac.wildfiregames.com/ticket/1229 Territory sometimes has holeshttp://trac.wildfiregames.com/ticket/2506 Some issues with glslelse Yves is working on an OpenGL4? port, so you could probably try to help him I guess.https://github.com/Yves-G/0ad/tree/OGL4 see http://trac.wildfiregames.com/ticket/3054If you need anything tell me, or drop by IRC Edited November 6, 2015 by stanislas69 Quote Link to comment Share on other sites More sharing options...
niektb Posted November 6, 2015 Report Share Posted November 6, 2015 fyi, (if AA is something you like) my shader was an (attempt to) implementation of FXAA as described here: http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdfBut like Stan said, the shader did smooth everything rather than just the edges... Anti-Aliasing is definitely something that 0 A.D. lacks though, so a good and performant shader is welcome. Quote Link to comment Share on other sites More sharing options...
nikagra Posted November 6, 2015 Author Report Share Posted November 6, 2015 Ok, great, I'll try to implement antialiasing then. Is there is a ticket for this? Need to do a small research)Thanks Quote Link to comment Share on other sites More sharing options...
niektb Posted November 6, 2015 Report Share Posted November 6, 2015 I don't think there is a ticket for that, better drop by on IRC (though we can always make a ticket for it ofc) Quote Link to comment Share on other sites More sharing options...
Stan` Posted November 6, 2015 Report Share Posted November 6, 2015 See line 167 of gamesetup.cpp for related TODO. case 6: // TODO: add anisotropic filtering q_flags = OGL_TEX_FULL_QUALITY; filter = GL_LINEAR_MIPMAP_LINEAR; break; // invalid Quote Link to comment Share on other sites More sharing options...
wraitii Posted November 6, 2015 Report Share Posted November 6, 2015 No that's something else stan.Nikagra you may want to get in touch with Yves who is currently rewriting the renderer to use OpenGL 4+, if you run into such issues.As far as understanding our current code goes, I think Yves, Philip (on IRC) and myself would be the most knowledeable.Thanks for your interest! 2 Quote Link to comment Share on other sites More sharing options...
nikagra Posted November 8, 2015 Author Report Share Posted November 8, 2015 (edited) You could make an antialiasing fragment shader for the game there is a todo about it in the code somewhere. Here is an attempt of niektb and I but it just happens to make the screen blurry.antialiasing.7zI've made an attempt to reimplement FXAA. Implementation is basically very similar to yours and some other implementations available over Internet (e.g. at geeks3d.com)Here picture to compare results:I don't know if this results are any better then previous ones. FXAA can blur textures as it detects edges during post-processing stage and tries to smooth them all. From my perspective it still looks better than aliased. Edited November 8, 2015 by nikagra 2 Quote Link to comment Share on other sites More sharing options...
nikagra Posted November 8, 2015 Author Report Share Posted November 8, 2015 Here is Reddit discussion on AA: Anti-Aliasing modes explainedMaybe we should try SMAA: 1 Quote Link to comment Share on other sites More sharing options...
wraitii Posted November 8, 2015 Report Share Posted November 8, 2015 I think for our game's detail FXAA is slightly too on the blurry side. We have many very small details everywhere that get blurred. SMAA looks like it would fit us better indeed. 2 Quote Link to comment Share on other sites More sharing options...
nikagra Posted November 8, 2015 Author Report Share Posted November 8, 2015 Maybe you are right, this is strategy game, not FPS.So I try to dig into SMAA 1 Quote Link to comment Share on other sites More sharing options...
niektb Posted November 9, 2015 Report Share Posted November 9, 2015 How's the performance from SMAA vs FXAA? Quote Link to comment Share on other sites More sharing options...
nikagra Posted November 9, 2015 Author Report Share Posted November 9, 2015 SMAA is also image-based post-processing technique. It should be only slightly worse than FXAA but more accurate in edge detection 1 Quote Link to comment Share on other sites More sharing options...
niektb Posted November 9, 2015 Report Share Posted November 9, 2015 Following http://www.hardocp.com/article/2013/03/12/crysis_3_video_card_performance_iq_review/6#.VkBVX7fhBhE and http://www.tweakguides.com/Crysis3_6.htmlit depends on which option you pick. The medium option seems a real nice one to me... (probably with an option to go for the low preset?) Quote Link to comment Share on other sites More sharing options...
nikagra Posted November 12, 2015 Author Report Share Posted November 12, 2015 (edited) It seems SMAA implementation is available under liberal license (this is official repo from developers of this method)It's performed in three passes (edge detection pass, blending weights pass and neighborhood blending pass) and uses a number of precomputed textures (this texture and scripts in Python are also available)Here is another repository with demo of SMAA using OpenGLAs for execution times here is citation from the paper:Performance metrics are measured on a NVIDIA GeForce GTX 470 using 1080p images. Typical execution times for our technique are of 1.02 ms for SMAA 1x, 1.32 ms for SMAA T2x, 2.04 ms for SMAA S2x and 2.34 ms for SMAA 4x.I'm trying to integrate this shader into the game now Edited November 12, 2015 by nikagra 3 Quote Link to comment Share on other sites More sharing options...
Stan` Posted November 12, 2015 Report Share Posted November 12, 2015 Nice, hold use updated if you succeed Quote Link to comment Share on other sites More sharing options...
nikagra Posted November 17, 2015 Author Report Share Posted November 17, 2015 I've faced some problems with GLSL preprocessor. First it doesn't allow #elif directive. This can be fixed if we stick to one SMAA quality. Another is that preprocessor returns error when it meet defines like this:#define SMAA_DEPTH_THRESHOLD (0.1 * SMAA_THRESHOLD)It reports '0' as unexpected token. There is nothing special with this define. Error is returned on each token after braces. Any ideas? Quote Link to comment Share on other sites More sharing options...
FeXoR Posted November 17, 2015 Report Share Posted November 17, 2015 I don't have much knowledge about C++ but are you sure the space between name and brackets is allowed (not changing the meaning)?For a better answer try the developers forum http://webchat.quakenet.org/?channels=0ad-dev Quote Link to comment Share on other sites More sharing options...
nikagra Posted November 17, 2015 Author Report Share Posted November 17, 2015 It's ok. General syntax for defines in C is:#define CNAME valueOR#define CNAME (expression) Quote Link to comment Share on other sites More sharing options...
nikagra Posted November 18, 2015 Author Report Share Posted November 18, 2015 I've found 0ad GLSL preprocessor. It actually do not support of some features. So, I'll try add them #elif directive and directive expressions Quote Link to comment Share on other sites More sharing options...
wraitii Posted November 18, 2015 Report Share Posted November 18, 2015 This seems like a good solution, this code is quite old. Quote Link to comment Share on other sites More sharing options...
nikagra Posted November 18, 2015 Author Report Share Posted November 18, 2015 Oh, and #include directive seems to be very usefull Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.