Jump to content
  • Advertisement

Kaustek

Member
  • Content Count

    8
  • Joined

  • Last visited

Community Reputation

138 Neutral

About Kaustek

  • Rank
    Newbie
  1. The best tool is the one that you can understand well enough to make a game with.   GameMaker has many commercially successful releases under it's belt, it won't be the limiting factor. I'll be finishing up my first 2D game in Unity later this month and I will most likely be going back to GameMaker simply because Unity is missing a lot of the quick and easy 2D "hacks" that make using Game Maker a hundred times easier.   I can do fake dynamic lighting in GameMaker in 20 lines of code, but in Unity I have to make normal maps of all my sprites, create materials, light sources, ugh. Just nowhere near as simple for 2D.   The trade off of course, is I feel the rendering performance in Unity is much faster, probably because a "2D" game in Unity is still actually a 3D application that uses full hardware acceleration.   And last but not least, GameMakers default color scheme is so damn relaxing on my eyes compared to Unity's light grey eyebleed color.
  2.  It is a proprietary IDE and API , but uses plain old C# or Java. What you learn using Unity can be used anywhere you please.   If your primary concern is in fact productivity as a single developer it's hard to beat Unity or GameMaker. If productivity isn't your main concern, then by all means you can plug away with existing libraries and create your own tools. That really is the long and short of using "an engine" versus using libraries.   Just remember, even the great Valve started out using licensed, proprietary software because of the productivity advantages.   Don't limit yourself to any particular way of thinking or type of software because regardless of cost or license,the best language is the one that lets you complete a game.
  3. Kaustek

    Unity basic Script question

    Because it's actually:   myInt = MultiplyByTwo(number)   Whatever you place between the  parenthesis, is what becomes "number" .     Think of it this way (not functional code, just demonstrating the process) myInt = 5; Start() { //Pass myInt which is 5 into MultiplyByTwo myInt = MultiplyByTwo(5); } int MultiPlyByTwo(int 5) { int ret; //Since we had 5 passed in as an argument, number is 5 //Multiply the int passed in by 2, and assign it to ret ret = 5 * 2; //Return the value of ret to the caller (Start.myInt) return 10; }
  4. Kaustek

    Blocky art style?

    Art style doesn't matter, consistency does.   What is important is that your game maintains a similar look and style through it's entirety.
  5. Unity is a great option, because you can do all of the scripting in a "real" language like C# or Java. This means even if Unity goes bust one day, you will still have gained a LOT of knowledge that you can take anywhere.   On top of that, Unity does the work of porting your game to a specific platform (iOS, android, etc) for you.
  6. I would HIGHLY recommend Unity in your situation. It provides all the framework you need to actually make a complete, playable game in a short amount of time. At the same time, it will teach you good programming habits and I can promise if you make a fully functional game with Unity, you can go back to using C and SDL and you will see things in a whole new light and have a much easier time.   But chances are, both GameMaker and Unity will provide everything you need and you really wouldn't have reason to change for the forseeable future.
  7. Kaustek

    Programming

    Starting off with JavaScript is a great idea. In your position, I would use YouTube and check out the many videos on how to use Java with libgdx to create some basic engines.   Start on part one and examine the code. Never copy and paste, ALWAYS re-type the code to get into the habit. Don't move on to the next video or tutorial until you UNDERSTAND every line of code, every argument, every word and WHY the author is telling you to use it. The worst thing you can do is just blindly copy code without stopping to take it apart.   With a copy of Eclipse and LibGDX, you can learn to build what you're looking to build. NONE of this will cost you a penny, either.
  8. Programming language doesn't have a huge effect on performance in modern systems. Your games performance is much more dependent on platform and API choices these days.   Most of the low-level access is handled by things like DirectX or OpenGL which act as intermediates and usually automatically draw in the most optimized fashion, rather than you having to code at the hardware level to make draws. This means the applications performance really comes down to your own optimization, your polygon count etc.   There's nothing wrong with C , but if you're starting out now you should just embrace the future and start with C#. On the grand scale of things, you really would be doing yourself a disservice by not starting with an Object-Oriented language. Java is a good choice as well, as it's syntax is very similar to C# and will give you a good leg up on knowing more than one language. The overall performance level for what a beginner coder can achieve on C# vs Java is negligible.   That brings me to my final point. As they say, "there's more than one way to skin a cat". You should become an expert in a language, but it never hurts to know more than one and know the strengths and weaknesses of each. It's great to be able to code a game in C#, but what if you just want to whip up a quick multiplatform tool? Knowing Java sure would be handy for that.   So for all intents and purposes, the answer is don't limit yourself by a languages "speed"
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!