• Advertisement
  • Popular Tags

  • Popular Now

  • Advertisement
  • Similar Content

    • By akshayMore
      I am trying to make a GeometryUtil class that has methods to draw point,line ,polygon etc. I am trying to make a method to draw circle.  
      There are many ways to draw a circle.  I have found two ways, 
      The one way:
      public static void drawBresenhamCircle(PolygonSpriteBatch batch, int centerX, int centerY, int radius, ColorRGBA color) { int x = 0, y = radius; int d = 3 - 2 * radius; while (y >= x) { drawCirclePoints(batch, centerX, centerY, x, y, color); if (d <= 0) { d = d + 4 * x + 6; } else { y--; d = d + 4 * (x - y) + 10; } x++; //drawCirclePoints(batch,centerX,centerY,x,y,color); } } private static void drawCirclePoints(PolygonSpriteBatch batch, int centerX, int centerY, int x, int y, ColorRGBA color) { drawPoint(batch, centerX + x, centerY + y, color); drawPoint(batch, centerX - x, centerY + y, color); drawPoint(batch, centerX + x, centerY - y, color); drawPoint(batch, centerX - x, centerY - y, color); drawPoint(batch, centerX + y, centerY + x, color); drawPoint(batch, centerX - y, centerY + x, color); drawPoint(batch, centerX + y, centerY - x, color); drawPoint(batch, centerX - y, centerY - x, color); } The other way:
      public static void drawCircle(PolygonSpriteBatch target, Vector2 center, float radius, int lineWidth, int segments, int tintColorR, int tintColorG, int tintColorB, int tintColorA) { Vector2[] vertices = new Vector2[segments]; double increment = Math.PI * 2.0 / segments; double theta = 0.0; for (int i = 0; i < segments; i++) { vertices[i] = new Vector2((float) Math.cos(theta) * radius + center.x, (float) Math.sin(theta) * radius + center.y); theta += increment; } drawPolygon(target, vertices, lineWidth, segments, tintColorR, tintColorG, tintColorB, tintColorA); } In the render loop:
      polygonSpriteBatch.begin(); Bitmap.drawBresenhamCircle(polygonSpriteBatch,500,300,200,ColorRGBA.Blue); Bitmap.drawCircle(polygonSpriteBatch,new Vector2(500,300),200,5,50,255,0,0,255); polygonSpriteBatch.end(); I am trying to choose one of them. So I thought that I should go with the one that does not involve heavy calculations and is efficient and faster.  It is said that the use of floating point numbers , trigonometric operations etc. slows down things a bit.  What do you think would be the best method to use?  When I compared the code by observing the time taken by the flow from start of the method to the end, it shows that the second one is faster. (I think I am doing something wrong here ).
      Please help!  
      Thank you.  
    • By Court
      Hi there, I am currently studying a diploma of screen and media and want to move on to the bachelor of game animation and design after this course finishes. I was just wondering if there was any advice anyone had on landing job interviews and finding work in general for this field. I was also wondering how hard it is to find a job in this field for females as well?
      many thanks
    • 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. 
      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!
  • Advertisement
  • Advertisement

Recommended Posts

I want to pursue my career in game development . I don't know much how to start. Currently , I have knowledge of Java, C ,Python and little bit of javascript. Now I want to know the recommended learning path. I just want to start making simple games .Please recommend some learning too. Thanks

Share this post

Link to post
Share on other sites

As a start consider a game is much more than code.

In my experience simple games run great in browser. Everybody can play them, they're portable, need no install and nowadays you can get quite far with them I mean pure HTML/JS stuff. OFC you don't use HTML nor JS but some framework, and maybe Dart or Typescript. And there are plenty of frameworks. Plenty.

So you want to go programmer route?

C? Say no to C. You'll get mad very soon. I don't suggest C++ either. C# is kinda good.

Or, you could just play a bit with Unreal, see what you can do, learn a bit about pipeline. Make a few levels learn a bit about gameplay.

Or heck, you could just buy some games off steam or the humble bundle and see what you like. Sketch a plan.

Share this post

Link to post
Share on other sites

If you want a career in game development, you need to learn how to make games. The best way to learn how to make games, is to make games. Find yourself a game engine with tutorials that you like. I recommend Unity and C#. The official tutorials are awesome and the Unity Asset store means you don't have to rely on your own programmer-art skills. :)

It looks like the beginner FAQ got pulled from the site. I'll ask about that. But here's an article that is a decent roadmap for how to get better at making games. It tells you which games to make first and why. I can't recommend it enough. :)


- Eck

Share this post

Link to post
Share on other sites

Along with making games, and making more games, I'd suggest reading books like: The art of game design, a book of lenses, that gives a great insight into what it means exactly to create games (from a game designer point of view), and how to consider the perspectives of as many people as possible while making games.

And once you've managed making a few games on your own, I'd encourage you to find a team with whom you can do Game Jams (short, often 48h, events where you create a game form start to finish on a given subject). It helped me a lot figure out more precisely how creating a game with a team works, and how to work with a team and be creative.

Good luck!

Share this post

Link to post
Share on other sites

What is also important that is often overlooked, at least, from what I can see as a person that's new to the field as well, is passion. Specifically, knowing what you want to do in the industry, what you want to bring to the table, and having the nerve and the drive to join or assemble a team with similar goals.

It's... difficult to begin making games by oneself. If you have no one to work with, every skill you would need to make a, "good," game you'd have to provide yourself, be it visual artistry, visual design, gameplay design, composing, coding, writing... Really, whatever is necessary for your project.

Another important thing to have is a willingness to fail. By this I don't mean setting out to fail, of course, but to be able to accept failure, see where you and your team went wrong, and learn from the failures to make your next project better. A lot of times when people get into new things and aren't immediately successful, they're disheartened and all but give up. I especially am guilty of this (i remember trying to learn instruments and quitting after not being perfect after a week) but it's something we as people have to overcome.

As far as suggestions for a first game, I'd suggest taking your definition of simple and simplifying it further, distilling it to a point where if you go any further it's no longer a game, but a picture or video. Par example, your first game could be a one screen platformer where the goal is to literally get across a flat surface. Once you figure that out, step up and add a jump. Achieve that, add a second screen. Add an enemy.

The goal, if you're planning on being a programmer in the field (I assume since you listed your programming credentials), is to figure out how to do little things one at a time and combine them so you have the skillset to tackle bigger and bigger programming challenges. If you put too much on your plate at once and your first goal after deciding to join the industry is to program a game that will be considered a masterpiece and a classic, you'll be overwhelmed and drown in the amount of work you've taken on. I guess the easiest way to sum it up would be take on new things gradually so you have the foundation to build greater games!

You'll do great in the field, just keep pushing yourself forward to fulfill your goals!

Edited by ToadstoolTyrant

Share this post

Link to post
Share on other sites

If you're looking at handling all aspects of Game Development, then the best thing you can do is create a concept, and blueprint every aspect of your game. Then just start coding!

What language you use doesn't matter, you should use C, or JAVA if you're conformable with it regardless. I'm still making games in C++ for over 15 years. If you're able to move into a higher level language with little transition time, and you're gaining some advantage then go for it, but don't change because of the endless debate of what language you should use. I program in over 7 languages. You're going to be spending a lot of time just learning about game programming in general! Once you learn these concepts you can transition to any language that allows game development to create the same product. Within reason, I can make the same game in a variety of different languages, it just depends on what library I use, wrappers I need for OpenGL if using JAVA, ect...

Working in Game Development in the professional sense isn't the same as a one man operation. There are so many roles, and people who specialize in different aspects. You might have one person who only programs the level editor, another who handles level design, another who works on programming an asset manager, another working on networking, then your sound engineers, artists, vocal talent, script writers, and so forth!

My suggestion is to either take C, or JAVA and get started with basic 2D games as you already know those two languages.

For C: I suggest using Allegro https://www.allegro.cc/ or SDL https://www.libsdl.org/.

For Java: I suggest libGFX http://libgdx.badlogicgames.com/

I believe all of the above will be able to handle time properly for your game loop. You'll want to do research about Time Steps as well. I would recommend learning the following to get you on your way.

- Creating a window in variety of different resolutions, full screen and window mode toggles.

- Handling Window events (Also knowing if your window is in focus or not may be important when dealing with input - I normally program an out of focus feature that disables any input for the game, and normally will pause if it's a single player)

- Creating a Game Loop that handles your input, logic, and draw. I suggest reading up on good game loops because too many new game developers do not separate their input, logic, and draws properly. This will go hand in hand with your time step setup as well.

- Drawing sprite objects to the screen (You should make a habit of creating sprite sheets, and drawing from parts of that texture onto your sprite objects)

- Handling input of those objects

- Working with Bounding Box Collision

- A* Pathfinding

- Drawing Title Maps using a Loop (You can do this in many ways, as an example, a 2D Array with digits that represent a certain tile) - You should also research about drawing tiles that are only in view, or off-map rendering.

The above will get you a starting point for making basic games like pac-man.

I won't get into memory management, but it's important to research this later on depending on the language you're using, especially if you plan on moving to different platforms with limited resources.

As you can see there is so much to game development that no single post can really address. Best of luck!

Edited by Rutin

Share this post

Link to post
Share on other sites

I may be a little late to the party for this post, but better late than never.

You seem to be going down the same path as I was when I started programming and decided to become a game developer. The first thing I feel like you have to do if you are to continue on the path of a programmer is focusing on one language and really build your skill with that one language. For example, I put a lot of work into C++ and the skills I learned in that language are transferable to many other languages. Of course, I don't know how far you've come in programming therefore this may be useless to you.

In my experience, I find making your own game engine is a very good way to learn how a lot of things work. Learning a shader langauge such as OpenGL is something I found quite useful.

A good engine to start working on games, in my opinion, is Unreal Engine 4. It has all the tools you need to start working on your level and there's a million guides online to make your own game. The Blueprint system in the engine is quite nice to use when starting out. Furthermore, the engine has a lot of templates to make games. The FPS template is really good for anything in first person, for example.

As for learning, practice is everything, which everyone else in the thread has mentioned. Other than that, start working on a game and as you need to learn how to do specific things, just look them up. Google is your best friend when learning. For general guides I found that YouTube tutorials are the best.

If you have any other questions, feel free to message me!

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