Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!

1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Member Since 25 Sep 2002
Offline Last Active Private

#5212695 Tower defense style, 2d top down, isometric or 3d?

Posted by jbadams on 24 February 2015 - 07:14 AM

Well it hasn't implications for the gameplay.


I would respectfully disagree with that: one of the reasons top-down is common in the genre is because it makes it very easy to see exactly where towers are placed and how they align with other towers, paths (if present) and creeps.  With a top down view it is also impossible for a smaller item to be difficult to see behind a larger one.


Isometric (whether traditional 2d or real 3d) can potentially suffer from both of these problems -- when the screen is busy it can be harder to tell at a glance if one placement is nicely aligned with another object, and larger objects can potentially obscure the player's view of smaller ones.  This can result in player mistakes that may cause them to think the game in unfair.


My personal preference would therefore be top-down, for clarity. :)



If you do choose an isometric view I would probably recommend 3d with a fixed viewing angle rather than traditional 2d isometric -- the 3d is simpler and nicely avoids some problems that would have to be worked around in 2d.



Hope that helps! :)

#5212661 How were you learning programming at the age of 5?

Posted by jbadams on 24 February 2015 - 03:55 AM

I applaud any 5 years old that has the patience to really learn ANYTHING.... enough youngsters are not able to sit through a full lesson at school even at the age of 16

Remember that "learning" does not necessarily imply structured lessons.  I wouldn't bother to try sitting my two-and-a-bit year old daughter down for a lesson or class in anything yet, but I do take opportunities to provide information ("that's a crocodile"), correct mistakes ("no, that's red not blue") and partake in stimulating activities (counting things, naming colours, etc.) with her and she definitely learns new things every day.


The trick seems to mainly be in making activities interactive and engaging.  You'd be amazed how quickly children can learn new things.  Before I had my own children I was terrible at interacting with children and probably would have considered a five-year old completely unteachable.  Now I have a two year old and a ten day old, and given the experience with my older daughter I'm now absolutely confident that by five years old she will at least be learning basic reading, basic maths (she's already doing well with counting numbers < 10) most likely the basics of more complex activities like programming.

#5212257 Is buying assets cheating?

Posted by jbadams on 22 February 2015 - 07:24 AM

No, it's not "cheating" and is quite common. Players just want the best game possible, and unless you pick something that's ridiculously overused the overwhelming majority of them won't know or care where your assets came from.

Make the best game you can. If that involves buying some assets then so be it. :)

#5212183 How do game engineers pack their data?

Posted by jbadams on 21 February 2015 - 06:35 PM

Games pack files for speed and for reduced install size.
Pack files are used because they're _faster_, not because they're more "resilient" to those evil horrible hated detestable end-users tinkering with the bits and bytes.

This is a very important point.

If your files are on the user's machine anyone with some basic cracking skills can and will be able to access and modify them, and you can not prevent this. If your game is at all popular those moderately skilled users will produce and share tools that automate the process so that unskilled users can do so as well.

At absolute best if you want to "protect" files you can discourage casual inspection of the files by unskilled users, and you should put a minimal amount of effort (at most) into this rather than wasting your time and potentially annoying genuine customers.

Design your formats for efficiency, not for protection. :)

(Posted from mobile.)

#5212176 How do game engineers pack their data?

Posted by jbadams on 21 February 2015 - 05:51 PM

Firstly, you probably don't want an interchange format like COLLADA or the native format of your modelling package in your final game; it has all the data needed for editing your model, and a lot of that simply isn't needed in the final game, so you'll usually want an optimized format that only contains the information needed by your game, preferably in a format that can be loaded and used as-is without or with very minimal further processing.

As for packing the assets into larger files, at a basic level you can just use a standard archive format like zip, perhaps renamed and password protected to prevent casual snooping and editing (although this still be no barrier at all to an experienced cracker). This is quite common and probably sufficient for your projects.

At a more advanced level you might create your own more optimal archive format that's especially designed to meet the needs or your particular game.

Hope that helps! :)

(Posted from mobile.)

#5212175 Succesful titles from non AAA studios (recent)

Posted by jbadams on 21 February 2015 - 05:42 PM

Instead I think the quality of the game is the single largest factor in the success of the game.

Remember that Minecraft actually started getting popular while it was still buggy and incomplete.

#5212078 Game Engine for Linux

Posted by jbadams on 21 February 2015 - 01:18 AM

Is there a way to use UE4 without paying $19/month?

I believe you don't have to pay for it monthly(unless I'm confusing it with another engine), if you're ok with not receiving updates, as they won't revoke your ability to use the toolset. Though, you will still need to abide by their licensing when/if you release your game. I'm sure someone will correct me if I'm wrong here, but that's how I've understood things to stand.

That's correct; you can just pay once, download everything and then cancel your subscription. You don't recieve updates (unless you resubscribe, which you can do at any time) but can continue to use the engine and tools. You still need to pay the 5% royalties. :)

#5212062 Getting Destroyed in Programmer Screeners

Posted by jbadams on 20 February 2015 - 11:14 PM

obviously something is wrong because at least 10 screeners I've gone through now since I've graduated,  the normal response is "Oh sorry, we've moved on with other candidates."

10 is not yet a large enough number to draw many conclusions from.  Unfortunately the industry you're attempting to enter has limited positions available and an over-abundance of candidates, so even if you're answering all of the questions perfectly and returning the test promptly you may not get the position.  Perhaps there are more qualified candidates (with actual industry experience, additional training, whatever), perhaps you got one question wrong and someone else answered perfectly, perhaps you answered perfectly but your test wasn't even looked at because they just proceeded with the first however many other tests also answered perfectly and yours wasn't one of those ,perhaps another candidate knows the recruiter, and so on and so forth.


No feedback, no obvious issue to me how I can improve other then general stuff.

The whole point of a screening process (however it's conducted -- testing is just one method) is to minimize the amount of resources used to find the right candidate.  Unfortunately that means that there won't ever be feedback if you aren't accepted for the next stage, as that would require additional time and effort from the recruiter.



If you feel like you're doing reasonably well on the tests, you have a good portfolio and you've got a good relevant qualification then it sounds like you're doing everything right.  I would suggest you simply continue trying to improve your skills and keep at it -- unfortunately you'll probably be rejected many more times before you get in, but if you stick at it you should get there eventually.



It does sound like lower-level development may be a weak area for you, and whilst that won't be a problem with all recruiters and for all positions it's an identified weakness that you can work to improve.




One of examples I mentioned above for why another candidate may be chosen before you is that they might have inside contacts -- this is quite common, and if at all possible you should put some effort into trying to make yourself that person who knows someone -- network with members of the industry to build contacts and get your name and portfolio out there.  If you have an active local IGDA chapter attend some meetings.  Attend industry conferences and make sure you make the most of opportunities to form connections.  If you're active on Twitter follow industry members and watch for opportunities to interact with them in a positive way.  Continue everything else you're doing as well, but also try to be that guy who doesn't just get in because of what you know but because of who you know.



Hope that helps! :)

#5211876 Is it a good idea to make game mods to practice game design?

Posted by jbadams on 20 February 2015 - 06:54 AM

Sure, it's as good a way of practicing as anything else, and a good quality mod may even be popular. I would recommend it if it's something that interests you. :)

You might also try making more traditional games (i.e. board games, card games, etc.) and using simpler engines like the free versions of Game Maker, Construct 2 or Stencyl to make smaller games and prototypes.

It will also help to discuss your craft with other designers; share ideas, join discussions in our design forum (or similar forums elsewhere) and give your feedback on other people's ideas, and read about your craft in the blogs, articles and books of your fellow designers.

Hope that helps! :)

#5211829 Curious about Save Protection Methods

Posted by jbadams on 19 February 2015 - 11:18 PM

If the data is on the user's device they will be able to cheat; it's simply outright impossible 1 to prevent it.  Protecting your files with encryption, by hiding them, etc. will stop casual users from being able to easily change things but will only briefly delay anyone with some basic cracking skills, and if your game is at all popular they'll distribute tools that automate the process so that casual users can cheat as well.
Does it actually matter if players want to cheat though?  Since there isn't online multi-player it should only effect the cheating player and the local people they choose to play against, which may not be such a big deal -- if you learn more and decide to implement proper online multi-player at a later stage you can always do everything properly on the server then.
In your position I would just put some very minimal effort into it -- by for example using a custom file format -- and put your time into trying to make the game as good as possible instead.  Remember that any time you put into this is time that could be spent on other development, and that the more complicated your "solution" is the more likely it is to cause bugs and/or falsely detect cheating and annoy genuine customers.
If you really want to pursue it you'll need to put in the effort to learn more about networking and servers so that all of the information and important logic is done server-side rather than on the user's device though.  If that's something that interests you check out our multiplayer and networking forum FAQ, and maybe ask any further questions you have about it in that forum.
Here's a recent similar discussion on "hiding savedata to prevent save backp"; you'll note that advice is all very similar.



Hope that helps! :)
1. Impossible assuming we're sticking to practical suggestions and ignoring any silly nitpicking like having an armed guard follow every user around.

#5211103 Getting started with game programming

Posted by jbadams on 16 February 2015 - 09:18 PM

Im prograngmming for 2 years or sth in Java, but I'd like to go with another lauage,

Like some of the others, I would suggest reconsidering Java unless you have a good reason for choosing a new language.  Although it has something of a bad reputation, it's quite capable of producing good quality games and has been used in a number of very successful games (including Minecraft, Puzzle Pirates, Spiral Knights, RuneScape, and many others).  If you want to learn something else for the experience or because you need to know a specific alternative language for future employment that's fine, but if you just want to get a game made there's a lot to be said for sticking with what you know.


That being said, if you're looking for alternatives I would probably recommend C#.  It's a popular and very capable language that is well regarded by many games developers, and should have an easy learning curve given your previous experience with Java.  Being a popular language there are also plenty of engines and libraries available (I'll come back to these below) and lots of people familiar with the language to help you out.


If that doesn't interest you either you could possibly consider trying your hand at the relatively new Godot engine (there's a good "getting started" style tutorial series HERE), which has it's own scripting language that is similar to Python.


I thought about D

I wouldn't really recommend it unless you want a challenging experience.  You'll struggle to find learning materials and help, and won't find many libraries or engines to work with unless you're willing to do the work of interfacing with a library written for another language.



Also what engine and modeller can I use?

If you're looking for a 3d modeller you probably want to look at Blender.  It's free and open source, quite capable, and popular enough that you'll find plenty of learning materials and will be able to get help with any questions you might have.


As for engines or libraries, that depends what language you choose:


If you stick with Java you might consider jMonkeyEngine, LWJGL, or libgdx amongst other options -- searching should turn up plenty more.


If you choose C# you might consider MonoGameXNA, or Unity.  Again, searching should turn up more options.


If you choose the above mentioned Godot engine has it's own scripting language that is similar to Python, or you can develop with C++.


If you choose C++ you might consider SDL, SFML, Unreal Engine (not free, but for only $20 if you cancel your subscription it hardly breaks the bank!) or any of many others you'll find by searching.


If you choose another language do some research and I'm sure you'll find plenty of options; we can offer opinions on those options if you're not sure!



Hope that helps! :)

#5211083 What are the recommended places to store save data?

Posted by jbadams on 16 February 2015 - 06:20 PM

On Windows, I would use appdata for files you don't expect the user to interact with outside of your program -- copying, emailing to friends, editing, etc. If you DO expect the user to perform those sort of operations AND the files are intentionally created (i.e. not auto-saves) then My Documents might be appropriate.

Personally I would consider saving within the application's directory to be incorrect on Windows.

#5210962 Getting started with game programming

Posted by jbadams on 16 February 2015 - 05:28 AM

You asking for something, but not C++.
That is exactly the correct answer : C++.

C++ is a correct answer, but not the only correct answer -- especially if the original poster has specifically requested alternatives. Almost any popular programming language is capable of programming games, and based on the information available there's no reason C#, Java, or any number of other languages aren't just as acceptable -- perhaps even more so depending on goals and prior experience -- as C++.

C++ is the industry standard for AAA titles. That doesn't mean it's suitable for everyone or that it's the only viable choice. This also isn't the place for a language war, so don't start one -- by all means stand up for C++ a little if you think the original poster should reconsider, but don't do it in a way that dismisses any other option, and be willing to let it drop if the original poster isn't interested.

I don't think I should have to say this, but it's been a perceived issue a few times recently, so to be clear I'm just giving advice as any other user would here, not acting in a staff capacity -- people are welcome to disagree with me!

#5210950 Game programming resources

Posted by jbadams on 16 February 2015 - 04:06 AM

I don't have any book recommendations for your specific needs (I'm sure others will though!), but I do have some links that may be of interest if you haven't come across them already:

  • Fix Your Timestep discusses using a fixed timestep in the game loop.  There are some other great physics and networking posts on the same blog.
  • Amit Patel's Introduction to A* and A* Pages are absolutely fantastic resources for A* pathfinding.  His other articles are fantastic resources if you're interested in the topic covered.


...sorry, I have a crying baby to deal with and have to run, so I'll stop there for now! Hope those links help! :)

#5210760 Modern C++ Book?

Posted by jbadams on 14 February 2015 - 06:55 PM

"C++ Primer, 5th Edition". NOT the similarly titled "C++ Primer Plus". It's written with beginners in mind, but the pacing is pretty good and I think it should still be well suited to your case. smile.png


You can also find a brief summary of some of the stuff added with C++11 online in Herb Sutter's "Elements of Modern C++ Style".

(Posted from mobile, please excuse the brevity and lack of clickable link.)

//EDIT: Added clickable link (also available from Khatharr in the next post) and an additional recommendation.