Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 12 Mar 2005
Online Last Active Today, 01:00 PM

#5230299 Were do I start learning computer science?

Posted by frob on 21 May 2015 - 02:15 PM

If formal schooling is not an option, turn to the best books on the subject.


Robert Sedgewick's Algorithms book is well regarded and older editions are cheap. It has gone through various languages over it's 33 years and updated for clarity, but the theory inside it is solid.  About a decade ago he split it into two books, get both.


Knuth's The Art Of Computer Programming is rather dated but also solid in applicable theory. It is not easy reading.



If you are looking more for some specific tidbit as a reference, NIST has DADS (a Dictionary of Algorithms and Data Structures). It is a fairly good list of definitions and links to implementations, but many links are stale.

#5230281 Making Indie game with advanced Animations or AI

Posted by frob on 21 May 2015 - 12:30 PM

(And a bit of nostalgia, I remember when Blender was not free. The company that owned it was going bankrupt, and they were willing to release it as open source if the community would buy it as an asset from bankruptcy liquidation for $100,000.  I figure I own 0.025% of Blender when it was released. You're welcome. )

#5230279 Making Indie game with advanced Animations or AI

Posted by frob on 21 May 2015 - 12:22 PM

I was told Minecraft was made by 1 person

Minecraft STARTED OUT being made by one person. Then Notch hooked up with some friends to add people, started working with Mojang, got lots of money from early alpha builds.



By the time 1.0 was released in 2011 came around and it was released for real, the credits file was at 16 people. Four years * probably 10 people at average = 40 work years.


At a guess, today the game probably has around 500 to 800 work years behind it for the PC version, plus several hundred more considering all the ports.


It started as a single person, but the game you know today would be impossible for a single person, even if they dedicated their entire lifetime to it alone.


Can these engines be used to make games like...


Yes, in a general sense.


The games you listed have large development teams, anywhere from double-digit to triple-digit numbers of people.  And many have multi-year timeframes.  Big games have total development times that are not measured in work-years, but in work-centuries.


As an individual you will not be creating a game like Ultima Online or Assassins Creed 4. You do not have the time in your lifetime to create all those assets, all the models, all the animations, all the code, all the audio, all the effects, maintain all the computer networks, and all the rest. 


You can leverage the tools to create games quickly. You can get the pieces you don't have by working with collaborators or by buying/licensing them, and there are many resources available at very low cost or even free.


So with the caveat that you only have a small number of work-hours you can invest in the project --- rather than work-centuries --- you can build a game with similar elements using the tools.


Just be sure to scale your work appropriately.  Something you spend several months on -- perhaps 60 work hours -- will be at a radically different scale than a major game developed with 200,000 work hours (100 work years).


Where can I find or learn how to make such algorithms?


The typical source is a college degree in Computer Science.  


Some people take a different route of self education, but that is more difficult. A school will require you to study topics you would not study on your own, will require a minimum depth on topics that you don't like and would not study on your own. If you want to work professionally, you are not in a vacuum and these days most of your peers will have college degrees, so if you don't your application is far less likely to get through the HR filters (unless you have published games in your history, but then you've got a chicken-and-egg problem).


There is much to learn.  After 4 years of schooling focused in Computer Science, the first job is still entry level.  That is to say, four years of study is enough to qualify you as a beginner.   It is not until another five to ten years of full-time experience that individuals are considered to have mastered the craft.  


And all those years are only the code.  Not modeling, not animation, not design. These crafts take similar years to master.


If a computer science college program is not available right now, start by learning whatever you can, wherever you can.  Books aimed for first-year and second-year college students are a good start, since online tutorials are hit and miss.  Search the forums for frequent book recommendations on specific topics. There are book lists for learning C++, learning C#, and learning other things.


... to know if there are any game engines, such as Unity, UE4 or CryEngine, that support such animations. Should I choose C++, C# or some other language for this project...


Download Unity and UE4 and try them out.  One is focused on C#, the other C++.  Blender is one of the best free 3D modeling and animation packages out there, so pull it down as well.  For image editing, GIMP is the best free program.


Try them out, experiment with them, and learn as you go.

#5230183 Allocation of Money

Posted by frob on 20 May 2015 - 10:02 PM

Who is doing it? Where do they live on the globe? What is their experience?  Is this for exclusive rights?


Think about your project. Being realistic (read: probably higher numbers than you want) how many hours are they going to be spending on the project?


Multiply how much they cost (which varies by location and experience and exclusivity) by how much time it takes.



Is it a fast job of 60 hours, and they're a student so you're paying $10/hr? That's $600.


Is it a job requiring a few iterations taking around 300 hours (about 2 months) and they are experienced professional contract artists so you're paying around $40/hr? That's $12,000.


Are they working in a third world country, working fast, and the art will be reused non-exclusively? Maybe 90 x $3 = $270.

#5230110 Career path advice?

Posted by frob on 20 May 2015 - 02:29 PM

The best advice I ever got was: There's more to the games industry than code, art, and music. I got in via marketing & PR and have been a pro in the industry for over a decade now.


That is true advice, there are more options available.


A studio needs many different jobs than just those. 


A given project may have 20 programmers and their leads, 30 art folk and their leads, 1-3 producers, 1-3 designers, a few audio people that are shared with other projects, and shared other groups for IT, HR, legal, studio management, business relations, marketing and other stuff. QA comes and go through contracts. The approximate ratio scales up and down for large and small projects.  By far the most reliable way to enter is through programming and art fields.



Seeing as the original post wrote "Just completed my degree in CS and wondering what to do next." then the programming track seems the most reasonable one in this case.

#5229750 game design from scratch

Posted by frob on 18 May 2015 - 08:46 PM

Game design != engine programming.

If you want to start in to Android programming directly, you can go download the tools from the developer web site. You can also head over to the Mobile and Console area of the site and check out the Forum FAQ for a list of existing cross-platform tools, if that is your goal.

If you want to do some design, get out your word processor and spreadsheets, and figuring out mechanics and rules.

#5229675 Should I use an installer or .zip for my game?

Posted by frob on 18 May 2015 - 02:33 PM

so long as the game is fully self-contained in it's folder, and doesn't need to be installed to Program Files, or have a bunch of dependencies installed, etc.

That's my take as well.


If your product is meant for people who know what they are doing and the product is self contained -- meaning you are not launching it to the masses -- a self contained file is good.


If you are launching broadly your product needs to integrate with the system, getting itself listed with all the other games, or otherwise registering with the system, an installer and uninstaller are necessary.



Most "normal" people struggle to install programs that don't come with a "next, next, next, done" setup interface.  Decompressing a file overwhelms the general population.

#5229635 Is it necessary to license your game?

Posted by frob on 18 May 2015 - 12:13 PM

It is a tricky thing, and law varies by location.


On the one hand, it is correct that people creating content should be allowed to charge for the thing they create. That is long accepted as a short-term right for books, music, and art. 


On the other hand, there are organizations that are self-serving and exist only to extract money from people, claiming that they represent those who society has deemed have a legitimate right to compensation, and whose purpose may or may not be evil.


And on the gripping hand, it is difficult to build comprehensive creative stuff without relying on IP of others, unless you are perhaps doing nature photography or similar, or you have a very large budget for creating assets. Even in a simple photograph you have clothing cuts and stitching patterns, cloth designs, you've got distinctive watches and rings and jewelry, you've got distinctive furniture, and even distinctive named shades of wall paint.


Trying to balance all of those with people's natural rights can be hard for policy. 

#5229506 Applying for multiple roles in the same studio

Posted by frob on 17 May 2015 - 05:23 PM

Can I apply to the graphics position and in my cover later say "hey, I'm also interested in Gameplay if you think I'm more qualified for that than Graphics" or something like that?


It depends on the company.


Large companies -- especially larger locations with 200+ people -- you should apply for any individual job that interests you. Two different openings may be on different teams and reviewing your information for one may not be considered for another.


Small companies -- especially small studios with 30 or fewer people -- let the HR person know you are interested in all of the jobs you qualify for. 


All the places in between you need to use your judgement on. If the job advertisements are clearly within a single team at a smaller company, that's one contact.  If they're larger and the ad is ambiguous for teams, and there is a good chance the studio is large enough to have multiple teams, consider multiple applications.  

#5229505 Career path advice?

Posted by frob on 17 May 2015 - 05:17 PM

But if Im going to america is california(cause a lot of software company is there) the best bet on getting a game dev job?
Maybe, but not necessarily.


The parts of California with a dense population of game studios suffered from some serious housing cost problems. It changed from being an average-cost area to one of the most expensive areas in the nation.


Probably the fastest growing, moderately expensive game development hubs in the US is the Austin area.  I've thought about moving there myself, in recent years. I'm in a smaller hub (nine major studios) and it is relatively difficult to find a job in one of them after a seasonal layoff. 


The FAQ has this link to a fairly comprehensive mapping of game studios. You may not need to move, the site lists about 16 game companies in NZ with links to their company sites. Prepare your information and start applying to any of them that are close enough you would be comfortable with. Network with those individuals and let them know you want to work there. 




As for the portfolio, the best evidence that you can create games is that you have already created games.  Many college graduates get jobs without a portfolio, but having a collection of game-related projects you've completed is strong evidence that helps land the job. 

#5229405 Is it possible to make a WebGL Android app?

Posted by frob on 16 May 2015 - 11:18 PM

I don't think performance will be much of an issue for me


I've worked with a lot of mobile phones.


The actual real-world performance of most phones is terrible.


While you may be able to target a few devices and get good WebGL performance, in most of the broad population the result will be a slide show.  Even if you are doing very little computing, the vast majority of consumer devices are not up to the task.

#5229403 Scaling images for different displays

Posted by frob on 16 May 2015 - 11:03 PM

There are several concerns here.


One is the aspect ratio, the is other is the number of dots.



There are many different aspect ratios, like 4:3, 5:4, 16:10, 16:9.  The widescreen 16:9 ratio is currently most common due to the ultra-cheap displays that use it, and because many of these displays match the 1080p movie resolution so the common population assume it is the best.


Within a single aspect ratio it is not too difficult to change the size.  As an easy approach you can just set your screen to be a virtual viewport from zero to 1, or from +1 to -1, or whatever transformation you need.  Then if you are rendering at 16:9 (or whatever aspect ratio you use) it doesn't matter what the screen resolution is, 1920x1080, 1600x900, 1024x576, 5120x2880, the screen fills with the same information in the same place but with more or fewer pixels.  Of course you can also choose to provide more information to those with more pixels by keeping the pixel level content the same.


Changing to different aspect ratios can be more tricky.  You can stretch your screen, but that tends to look odd to players who move between machines. You can add or remove content in various dimensions, which can give an advantage to those with monitors like a 16:10 or 5:4 ratio. You can add black bars for a letterboxing effect, but that can really annoy people who have different monitor resolutions.


A more complex system is able to handle various layouts based on screen metrics and user settings.  A common path is to place UI elements extending out from each of the four corners, with a scale that is appropriate so the targets are easy to hit with the mouse but don't get in the way of gameplay.




There are pros and cons to each set of choices.  


Higher resolution displays naturally can display more information than lower resolutions. If you've got players running at 800x600 playing next to someone with a display at 5120x2880, the second player has about 30 times more pixels available.  The choices for aspect ratio and screen size handling is often an annoyance to single player games, but it can make a critical difference in multiplayer games. Do you provide the same information, perhaps just with higher detailed textures? Do you provide different information? Do you add black bars or distort the images for aspect ratios you don't support?


There is no single best answer for everyone. There are many options and each may or may not be appropriate for a given game.


#5229272 Career path advice?

Posted by frob on 16 May 2015 - 01:22 AM

Usually it is less hard than you might think.


For one thing, posting on gamedev.net? That is networking.  Congratulations, you're doing it.


If you're looking for some local networking, that is easy too.  If there is a studio near you (still no comment on where you live in the world) find some people who work there, see if they have a popular food place nearby, and meet with them during lunch or after hours when they congregate. If they go for a round of after-work drinks on fridays, join up with them.


The other thing is that you are a recent college grad. You just finished. That is a great time to apply for jobs at the company.


Before you apply, you might want to read some of the threads in the Job Advice section of the site where other people have posted theirs and gotten them reviewed so you don't make the same mistakes.  After fixing up any common mistakes, you might want to post a link to your resume or CV here to the site for people to critique it.  Then once you've fixed up the most glaring errors, give it to recruiters at any nearby studios wherever you live, or away from where you live if you are willing to pay for your own move.

#5229267 Career path advice?

Posted by frob on 16 May 2015 - 12:52 AM

It is exactly networking.  


When companies hire they want to take minimum risk in the process.  Many will first ask for suggestions within their own workers to see if there is someone the employees say the company should hire.  If you have already been networking with those individuals, or even established yourself as a friend looking for a job at their company, they may put your name to be interviewed before the job is announced.

#5229263 Career path advice?

Posted by frob on 16 May 2015 - 12:04 AM

Moving to the Job Advice area of the site.  


My first recommendation would be to read all the articles linked to in the FAQ.


Since you write that you just completed a degree in computer science, the next step is probably to start looking for a job.  Hopefully you already live near a city that has game development studios.  If you do, then wonderful.  If not, consider moving. 


Getting a job at a game studio by itself isn't hard if you are willing and able to move to any number of major cities. It is less possible if you are not able to move, or perhaps live in a country where global travel is difficult.


There is an enormous difference between saying "I want to get a job at any company anywhere" versus "I want a job at one of three specific companies in my city".  The former is simply a matter of applying everywhere and accepting anything offered.  The latter may mean working closely with the individuals, being well-positioned the moment they realize they want to hire somebody, so that people in the company will say "I have this friend, let's interview him first."