Jump to content
Sign in to follow this  
Kam

Application for programming

Recommended Posts

Hi all folks,

I have been following your project for some time, now that I have some time I'd like to get into it and start to collaborate. I have done several projects on Unity and Unreal, and I am looking to do some engine C++ programming to learn more about engine programming for the portfolio and just because the project Rocks!!

I've already downloaded the code and compiled it succesfully, I also have checked on track some of the task available but I am kinda lost on the flow of the engine and how is all built up. I guess that is a matter of getting into the code with a cup of coffee and start figuring it out but would be nice to have some help when the situation arise.

I hope that we get along and learn a lot from each other.

Thanks all.

  • Like 4

Share this post


Link to post
Share on other sites

Hi @Kam, welcome to the forum!

Actually you don't have to make an application for programming. There is a wiki page https://trac.wildfiregames.com/wiki/GettingStartedProgrammers to start. I suppose you already have seen it.

Our engine has a popular single loop based architecture. You can follow it in the main.cpp, it looks like:

while (gameIsRunning)
{
	cleanupProfiler();

	// Common stuff
	tryStepLoadSomethingIfPresent();
	processEvents();
	processNetwork();
	updateGUI();
	updateGameState(); // Including simulation

	// Rendering stuff
	prepareForRendering();

	findAllVisibleActorsForSun();
	renderSceneToShadowMap();

	findAllVisibleActorsForCamera();
	renderSceneToScreenBuffer();

	doPostProcessingIfEnabled();

	renderGUI();

	swapBufferToRealScreen();

	// End of the frame
	recordProfiler();
}

 

  • Like 3

Share this post


Link to post
Share on other sites

Hello,

Thanks for the reply, I know there is no need to apply for programming but I wanted to introduce myself here :P.

I already saw the starter list task and I was investigating about the engine a bit before taking one. Thanks for pointing me where to start to follow the execution, I'll get hands on and take one task a soon as I know a bit about the architecture.

  • Like 1

Share this post


Link to post
Share on other sites

Welcome Kam! The page Vlad listed contains a lot of useful information, and I encourage you to hang around on IRC if you have questions :)

Share this post


Link to post
Share on other sites

Hi again it seems that I am gonna need a bit more help, I have been looking for the method @vladislavbelov told me and can't seem to find it. In main.cpp the method that more resembles to it is "frame( )" but is a lot different. Besides, I have been looking at the engine code and for some tickets to get started and there are several that I can't get what is getting asked for. For example there are some that need patching but there are design Issues on how to do it (this https://trac.wildfiregames.com/ticket/4224 and this for example https://trac.wildfiregames.com/ticket/3696), so doesn't get clear on how the designers want that to be patched (what behaviour should be the correct one). Besides I was interested in this ticket (https://trac.wildfiregames.com/ticket/5210) as I can find the class which is referred but when I have opened it, it doesn't seem to be any debug breakpoints to what the tickets makes reference.

I am a bit lost and would appreciate if you could guide me a bit.

Share this post


Link to post
Share on other sites
3 hours ago, Kam said:

Hi again it seems that I am gonna need a bit more help, I have been looking for the method @vladislavbelov told me and can't seem to find it. In main.cpp the method that more resembles to it is "frame( )" but is a lot different.

I told you about architecture in general, not a certain function. You're right, start point is the frame function. But a lot of details are hidden behind functions inside the frame.

3 hours ago, Kam said:

Besides, I have been looking at the engine code and for some tickets to get started and there are several that I can't get what is getting asked for. For example there are some that need patching but there are design Issues on how to do it (this https://trac.wildfiregames.com/ticket/4224 and this for example https://trac.wildfiregames.com/ticket/3696), so doesn't get clear on how the designers want that to be patched (what behaviour should be the correct one). Besides I was interested in this ticket (https://trac.wildfiregames.com/ticket/5210) as I can find the class which is referred but when I have opened it, it doesn't seem to be any debug breakpoints to what the tickets makes reference.

The first ticket doesn't look like the C++ part changes. I'm not sure about the second one. But the third one is definitely about C++. It doesn't have breakpoints in a usual understanding. It has assertions (ENSURE), that could be breakpoints for some implementations/configurations. So in this task you need to replace some relevant ENSURE to LOGERROR (not all): https://trac.wildfiregames.com/browser/ps/trunk/source/network/NetServer.cpp.

  • Like 1

Share this post


Link to post
Share on other sites

Oh, makes much sense now :P

Thanks for the answers, I guess I can continue myself now. I'll get back if I have another doubt.

Edited by Kam

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...