• Advertisement
  • Popular Tags

  • Popular Now

  • Advertisement
  • Similar Content

    • By Alex Daughters
       

      Hi, I am currently a college student studying to become a Game Developer. I need to interview current game developers for a class I'm taking. if anyone seeing this could answer just the 5 questions that I have provided below as well as your name, current position, and how many years you've been in the game industry. I'd really appreciate any responses. 
       
      Name:
      Position:
      Year in the industry:
       
      What was the starting salary?
      How many hours do you work?
      What did you learn outside of school that was useful?
      How did you get your job and how hard was it to find it?
      how was this job different than you expected it to be?
       
      Thank you for your time.
      -Alex Daughters
    • By RyRyB
      I got into a conversation awhile ago with some fellow game artists and the prospect of signing bonuses got brought up. Out of the group, I was the only one who had negotiated any sort of sign on bonus or payment above and beyond base compensation. My goal with this article and possibly others is to inform and motivate other artists to work on this aspect of their “portfolio” and start treating their career as a business. 
      What is a Sign-On Bonus?
      Quite simply, a sign-on bonus is a sum of money offered to a prospective candidate in order to get them to join. It is quite common in other industries but rarely seen in the games unless it is at the executive level. Unfortunately, conversations centered around artist employment usually stops at base compensation, quite literally leaving money on the table.
      Why Ask for a Sign-On Bonus?
      There are many reasons to ask for a sign-on bonus. In my experience, it has been to compensate for some delta between how much I need vs. how much the company is offering.
      For example, a company has offered a candidate a position paying $50k/year. However, research indicates that the candidate requires $60k/year in order to keep in line with their personal financial requirements and long-term goals. Instead of turning down the offer wholesale, they may ask for a $10k sign on bonus with actionable terms to partially bridge the gap.
      Whatever the reason may be, the ask needs to be reasonable. Would you like a $100k sign-on bonus? Of course! Should you ask for it? Probably not. A sign-on bonus is a tool to reduce risk, not a tool to help you buy a shiny new sports car.
      Aspects to Consider
      Before one goes and asks for a huge sum of money, there are some aspects of sign-on bonus negotiations the candidate needs to keep in mind.
      - The more experience you have, the more leverage you have to negotiate
      - You must have confidence in your role as an employee.
      - You must have done your research. This includes knowing your personal financial goals and how the prospective offer changes, influences or diminishes those goals.
      To the first point, the more experience one has, the better. If the candidate is a junior employee (roughly defined as less than 3 years of industry experience) or looking for their first job in the industry, it is highly unlikely that a company will entertain a conversation about sign-on bonuses. Getting into the industry is highly competitive and there is likely very little motivation for a company to pay a sign-on bonus for one candidate when there a dozens (or hundreds in some cases) of other candidates that will jump at the first offer.
      Additionally, the candidate must have confidence in succeeding at the desired role in the company. They have to know that they can handle the day to day responsibilities as well as any extra demands that may come up during production. The company needs to be convinced of their ability to be a team player and, as a result, is willing to put a little extra money down to hire them. In other words, the candidate needs to reduce the company’s risk in hiring them enough that an extra payment or two is negligible.
      And finally, they must know where they sit financially and where they want to be in the short-, mid-, and long-term. Having this information at hand is essential to the negotiation process.
      The Role Risk Plays in Employment
      The interviewing process is a tricky one for all parties involved and it revolves around the idea of risk. Is this candidate low-risk or high-risk? The risk level depends on a number of factors: portfolio quality, experience, soft skills, etc. Were you late for the interview? Your risk to the company just went up. Did you bring additional portfolio materials that were not online? Your risk just went down and you became more hireable.
      If a candidate has an offer in hand, then the company sees enough potential to get a return on their investment with as little risk as possible. At this point, the company is confident in their ability as an employee (ie. low risk) and they are willing to give them money in return for that ability.
      Asking for the Sign-On Bonus
      So what now? The candidate has gone through the interview process, the company has offered them a position and base compensation. Unfortunately, the offer falls below expectations. Here is where the knowledge and research of the position and personal financial goals comes in. The candidate has to know what their thresholds and limits are. If they ask for $60k/year and the company is offering $50k, how do you ask for the bonus? Once again, it comes down to risk.
      Here is the point to remember: risk is not one-sided. The candidate takes on risk by changing companies as well. The candidate has to leverage the sign-on bonus as a way to reduce risk for both parties.
      Here is the important part:
      A sign-on bonus reduces the company’s risk because they are not commiting to an increased salary and bonus payouts can be staggered and have terms attached to them. The sign-on bonus reduces the candidate’s risk because it bridges the gap between the offered compensation and their personal financial requirements.
      If the sign-on bonus is reasonable and the company has the finances (explained further down below), it is a win-win for both parties and hopefully the beginning a profitable business relationship.
      A Bit about Finances
      First off, I am not a business accountant nor have I managed finances for a business. I am sure that it is much more complicated than my example below and there are a lot of considerations to take into account. In my experience, however, I do know that base compensation (ie. salary) will generally fall into a different line item category on the financial books than a bonus payout. When companies determine how many open spots they have, it is usually done by department with inter-departmental salary caps.
      For a simplified example, an environment department’s total salary cap is $500k/year. They have 9 artists being paid $50k/year, leaving $50k/year remaining for the 10th member of the team. Remember the example I gave earlier asking for $60k/year? The company cannot offer that salary because it breaks the departmental cap. However, since bonuses typically do not affect departmental caps, the company can pull from a different pool of money without increasing their risk by committing to a higher salary.
      Sweetening the Deal
      Coming right out of the gate and asking for an upfront payment might be too aggressive of a play (ie. high risk for the company). One way around this is to attach terms to the bonus. What does this mean? Take the situation above. A candidate has an offer for $50k/year but would like a bit more. If through the course of discussing compensation they get the sense that $10k is too high, they can offer to break up the payments based on terms. For example, a counterpoint to the initial base compensation offer could look like this:
      - $50k/year salary
      - $5k bonus payout #1 after 30 days of successful employment
      - $5k bonus payout #2 after 365 days (or any length of time) of successful employment
      In this example, the candidate is guaranteed $55k/year salary for 2 years. If they factor in a standard 3% cost of living raise, the first 3 years of employment looks like this:
      - Year 0-1 = $55,000 ($50,000 + $5,000 payout #1)
      - Year 1-2 = $56,500 (($50,000 x 1.03%) + $5,000 payout #2)
      - Year 2-3 = $53,045 ($51,500 x 1.03%)
      Now it might not be the $60k/year they had in mind but it is a great compromise to keep both parties comfortable.
      If the Company Says Yes
      Great news! The company said yes! What now? Personally, I always request at least a full 24 hours to crunch the final numbers. In the past, I’ve requested up to a week for full consideration. Even if you know you will say yes, doing due diligence with your finances one last time is always a good practice. Plug the numbers into a spreadsheet, look at your bills and expenses again, and review the whole offer (base compensation, bonus, time off/sick leave, medical/dental/vision, etc.). Discuss the offer with your significant other as well. You will see the offer in a different light when you wake up, so make sure you are not rushing into a situation you will regret.
      If the Company Say No
      If the company says no, then you have a difficult decision to make. Request time to review the offer and crunch the numbers. If it is a lateral move (same position, different company) then you have to ask if the switch is worth it. Only due diligence will offer that insight and you have to give yourself enough time to let those insights arrive. You might find yourself accepting the new position due to other non-financial reasons (which could be a whole separate article!).
      Conclusion/Final Thoughts 
      When it comes to negotiating during the interview process, it is very easy to take what you can get and run. You might fear that in asking for more, you will be disqualifying yourself from the position. Keep in mind that the offer has already been extended to you and a company will not rescind their offer simply because you came back with a counterpoint. Negotiations are expected at this stage and by putting forth a creative compromise, your first impression is that of someone who conducts themselves in a professional manner.
      Also keep in mind that negotiations do not always go well. There are countless factors that influence whether or not someone gets a sign-on bonus. Sometimes it all comes down to being there at the right time at the right place. Just make sure you do your due diligence and be ready when the opportunity presents itself.
      Hope this helps!
    • By Ty Typhoon
      I like to build my A - Team now.
       
      I need loyal people who can trust and believe in a dream.
      If you got time and no need for direct pay please contact me now.
       
      We cant pay now, you will recieve a lifetime percentage if the released game will give earnings. 
      If I get the best people together for a team, everything should be possible.
       
       
      What i need:
      - Programmer c++
      - Unity / Unreal - we must check whats possible, please share your experience with me.
      - Sculpter, 3D Artist
      - Animator
      - Marketing / Promotion 
       
       
      What i do:
      - Studio Owner
      - Director
      - Recruit exactly you
      - Sounddesign
      - Main theme composing
      - Vocals
      - Game design
      - Gun, swords, shields and weapon design
      - Character, plants and animal design
       
       
      Please dont ask about the Name of the Game, about Designs or Screenshots.
      The game will be defintitly affected about our and your skills if you join the team.
       
       
      Planned for the big Game:
      - 1st person shooter
      - online multiplayer
      - character manipulation
      - complete big open world with like lifetime actions and reactions
      - gunstore with many items to buy
      - many upgrades for players
      - specials like mini games
       
      So if you are interested in joining a team with a nearly complete game idea, contact me now and tell me what you can do.
       
      discord:
      joerg federmann composing#2898
       
       
    • By codelyoko373
      I wasn't sure if this would be the right place for a topic like this so sorry if it isn't.
      I'm currently working on a project for Uni using FreeGLUT to make a simple solar system simulation. I've got to the point where I've implemented all the planets and have used a Scene Graph to link them all together. The issue I'm having with now though is basically the planets and moons orbit correctly at their own orbit speeds.
      I'm not really experienced with using matrices for stuff like this so It's likely why I can't figure out how exactly to get it working. This is where I'm applying the transformation matrices, as well as pushing and popping them. This is within the Render function that every planet including the sun and moons will have and run.
      if (tag != "Sun") { glRotatef(orbitAngle, orbitRotation.X, orbitRotation.Y, orbitRotation.Z); } glPushMatrix(); glTranslatef(position.X, position.Y, position.Z); glRotatef(rotationAngle, rotation.X, rotation.Y, rotation.Z); glScalef(scale.X, scale.Y, scale.Z); glDrawElements(GL_TRIANGLES, mesh->indiceCount, GL_UNSIGNED_SHORT, mesh->indices); if (tag != "Sun") { glPopMatrix(); } The "If(tag != "Sun")" parts are my attempts are getting the planets to orbit correctly though it likely isn't the way I'm meant to be doing it. So I was wondering if someone would be able to help me? As I really don't have an idea on what I would do to get it working. Using the if statement is truthfully the closest I've got to it working but there are still weird effects like the planets orbiting faster then they should depending on the number of planets actually be updated/rendered.
    • By BenjaminBouchet
      Learning game development in Unreal Engine could be a daunting task for someone who don’t know where to start, and a cumbersome process if you don’t organize your progression correctly. One thing commonly known by experienced developers and by people unfamiliar with coding: mastering a development language is a long and difficult task.
      From blueprints to C++ in Unreal Engine
      If you want to learn fast, you need a good learning strategy. Unreal Engine contains a very powerful tool which you can use to learn C++ faster: its blueprint system. Blueprints are extremely easy to learn (and you may already have a good knowledge of them). Thus you can conveniently use them as a guide for writing code in C++. This is the reason why I am writing a tutorial series on how to make the transition from Unreal Engine blueprints to C++.
      Learn and practice C++
      Following this tutorial, you’ll acquire new concepts of C++ programming in every chapter. Then following chapters will give you reasons to reuse and practice those same concepts. There’s no better way to wire you brain.
      Link to the tutorial: [Tutorial] Learn C++ in Unreal Engine 4 by making a powerful camera
      Please do send me as much feedback as you want. I’ll be considering every constructive remarks and taking them into consideration. Your feedback will help me to improve and update the existing chapters and to make the next one better.

      View full story
  • Advertisement
  • Advertisement

C++ Structuring C++ code (Visual Studio)

Recommended Posts

I'm getting back into C++ after not playing with it for many years.

Being spoiled as a C# programmer I'm finding quite a few things about the Visual Studio environment surprisingly puzzling.
I'm used to just being able to add a class to a folder, and I want to structure my code in folders with matching namespace, but whenever I try to add a class to a folder Visual Studio just puts it in the root. I can of course move it but I can't help thinking - if VS is making it so hard for me to do what I want am I doing something wrong? How do you structure your C++ code?

Share this post


Link to post
Share on other sites
Advertisement

Hi Polydone!

I think the files are supposed to be in the same folder, Visual Studio uses filters to organize the files within the IDE. It looks like they are in folders but they are in the same folder in the file-system. I use filters to organize my files according to namespace.

you could also brake up your code into several projects in the same solution and the files for each project would go into different folders.

i also found this if you want the filters in Visual Studio to look like the folders in the filesystem.

https://marketplace.visualstudio.com/items?itemName=Dllieu.GenerateCProjectFilters

 

Share this post


Link to post
Share on other sites

Thanks for the link. I'm actually putting the files in folders because I'm choosing "Show all files" but it isn't optimal. I guess I'll just accept the "VS" way and use their filters.

Share this post


Link to post
Share on other sites

As Hodgman say, use CMake with 'source_group(folder files)' to organize your files.

A recommendation if you are just starting out your project is to use cmake from the beginning. It's easier than to add your dependencies later.

Share this post


Link to post
Share on other sites

It is there, but you're right that it is confusing.

In the Solution Explorer window, select the project. A toggle button at the top should be available called "Show All Files". 

When "show all files" is enabled it shows the actual directory structure. When "show all files" is disabled it shows the Filters view.  

Filters can work when you've got a large complex project and the directory structure doesn't match the logical structure. Consider a project that has publicly-exposed portions for modding or third party development and hidden portions kept internal to your organization. That project might have headers in one area of a source tree, proxy or intermediate or other PImpl implementation files in another, and the internal or private use headers and implementation files in a third and fourth location.  There are other cases, but that is probably the most clear within this industry. The filters can put all the different pieces (the public headers, the publicly visible classes, and the internal non-published code) all together in a logical place to make it easier for developers to work with.

When you want to switch between them, hit the toggle button.

Share this post


Link to post
Share on other sites

On the other hand, if your tool fails to do what you need, you shouldn't adjust yourself to your tool's limitations.  You should get a better tool.

There are many alternatives to Visual Studio available.  Try Microsoft's VS Code for example.

Share this post


Link to post
Share on other sites
5 hours ago, Hodgman said:

I use CMake to generate my VS projects with filter layouts that match my disk folder layouts.

I was quite surprised when I started a C# project and realized that VS would do this automatically there! 

Surely there's some hidden option to turn in on for C++ projects (/ off for C# projects)? 

I'll give it a try if I decide to move past prototype for C# -> C++ migration thanks :)

It also seems like it would make it a lot easier to move to another IDE?

2 hours ago, Bregma said:

On the other hand, if your tool fails to do what you need, you shouldn't adjust yourself to your tool's limitations.  You should get a better tool.

There are many alternatives to Visual Studio available.  Try Microsoft's VS Code for example.

Yeah you're right - I haven't kept up with alternatives and I probably should.
15 years ago alternatives to VS were all either unstable immature visual IDE's or emacs etc.

But no matter what product I choose there will probably one or more features I dislike:)

Share this post


Link to post
Share on other sites
On 4/12/2018 at 1:14 PM, Polydone said:

Thanks for the link. I'm actually putting the files in folders because I'm choosing "Show all files" but it isn't optimal. I guess I'll just accept the "VS" way and use their filters.

Do not do this.

Your folder structure should strictly always match your IDE tree structure.  It is never acceptable to browse the actual folder tree and just have them all blobbed together in a mess of random files.


L. Spiro

Share this post


Link to post
Share on other sites

Going one step further, do never split header (.h) and implementation (.cpp) files because it is pure bad design to do so especially but not limited to greater projects! I always feel wasting my time to seek for the coresponding .h or .cpp files when investigating projects on GitHub.

A clear folder structure and strong naming will always be your best friend in such things. What you will still to have is setting VS options correctly because even if you structure your files correctly on disk, VS will throw them all together so either work in folder view or (in my case because my project structure has some more sub levels) use filters. But be aware of VS creating files for you, it will throw them into your main directory even if filters indicate something else.

I personally have written my own in-house tool for that (and a lot of other) task(s) but CMake or anything else fill also fit it.

I don't really like VS Code because it seems like a variant of Visual Studio but behaves completely different in some cases but thats my taste ;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Advertisement