• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Igor Andreev

What language should I choose for beginning game developing?

8 posts in this topic

Hello everyone.

I'm a Web developer and thinking about learning game development.

I know, that all you need - is inspiration, small basic idea and a lot of effort. I mean, many people don't even think about language. They google, find couple of answers and start programming basic game in one of several languages.

 

I learned programming by myself, starting from ActionScript (1, 2, then 3). Then, when I needed a job and in my location there were only job offers for "JavaScript, PHP, MySQL, CSS, HTML" developers I stopped working with ActionScript and learned all those things.

 

I'm working on Mac OS, so this also affects my choice of programing language for game development.

 

For me, when I worked in AS 3, game development (at least 2d) was objectively easy. There class with npc, there class with damage zones, here is player, that could shoot and many other easy things that you could do in AS 3 by just writing something like (I don't really remember AS 3 now)

//Somewhere in class Game

private var gun:Gun = new Gun(30, playerOne); //ammo and controls of player one and adding gun sprite for player one

//somewhere in class Player

public function shootGun() {
    if (this.hasGun && this.hasAmmo) {
        this.gun.shoot(targetOne);
    }
}

Something like this.

 

All was already there for me. Creating sprites, animating it with Tween class or basic changing x/y, etc.

 

 

 

 

After 2 years of web development (without cool things like Canvas or interesting animations) I found myself in the "mindless and ignorant" state of knowing nothing about game development at all.

 

I searched information and found many many possibilities. I found Java and LWJGL (OpenGL), discovered, that at least 2 not bad games was written in Lua (Don't Starve and Project Zomboid), found that C++ is very good way to start developing games, but I don't really think that it's very suitable for working with on Mac OS.

 

I though about game engines. I though about Unity, Source, Unreal Engine.

 

But I did nothing for starting actual game development. Only was preparing and thinking about many ways.

 

One thing I know - I don't want to develop for mobile platforms. Now - for PCs or Macs.

 

I don't know what it is, that was holding me from starting. Fear of possibilities and choosing a "wrong way"? Maybe. Not much time? Maybe, but I'll overcome this problem.

 

I ask you to give me some advices, based on your experience. What languages you learned? What was useful and you started working with?

 

What was the biggest barrier and fear?

0

Share this post


Link to post
Share on other sites

C++ works on mac.  If you can code already then think about using c++/openGL.  If you really want to learn in a timely fashion, and have the highest possible chance for success you will have to break out the money and pay for some books/websites/dvds.  

 

There are lots of good books on c++ and game dev.  But you'll have to learn your chosen language first.  Don't think you can just jump right into making games.  Making games is the elite area of programming, you have to be a very good programmer to make games.  So make that your first long term goal.

2

Share this post


Link to post
Share on other sites

Starting game development isn't really that hard imo. All you need is to have a game idea. Since you already are familiar with several languages then you should start with one of those. I would suggest you start with 2D at the beginning, but you are always welcome to go with 3D if that's what you want of course.

 

Here are some engines I'd recommend for you:

 

Loom Engine - You can build for Windows and Mac, also iOS and Android if you ever want too, and it uses their own language which is an AS3 + Lua style approach to coding.

libgdx - This one uses Java, which is familiar to AS3 I believe? libgdx can deploy to every platform that supports Java, so pretty much every platform. Good news about this is that with the same language you'll be able to reach any platform you want almost, and if you ever make a game that is playable on mobile and desktop, this is a great solution. Forgot to mention the performance is great.

Citrus Engine - Let's you build for Windows, Mac, Linux, iOS and Android and uses AS3 to script.

Haxe + OpenFL - Let's you build for pretty much every platform out there and has great performance. Uses the Haxe language which is familiar to AS3.

Qt-Project - Uses their own QML language which is a combination of Javascript + Css, let's you deploy to Windows, Mac, Linux and more.

 

For me it's always been, oh I want to make that kind of game and reach those platforms? First find multiple engines that can reach the platforms I desire, then pick the one I feel most comfortable programming in and that has the best support/community. After that it's just like a puzzle, learning to code your game, start from making your character to giving him controls and you just keep building on it. It is better if you have your game planned out though, it will allow you to code some things better knowing that you will be adding other features that are related to it. My advice kinda sucks since I'm still pretty new myself, but hopefully the engines will be helpful at least =) I also have even more engines for you if you don't want AS3 and prefer C++ or C#. Best of luck!

0

Share this post


Link to post
Share on other sites

 

What was the biggest barrier and fear?

 

the biggest barrier is learning to use google.

On average, there is 1 thread like this every other day only on this website.. so probably there are thousands of threads like this on the internet.. and they are ALL THE SAME... really, what makes you think yours will get anything different?

 

 

0

Share this post


Link to post
Share on other sites

Hello everyone.


I ask you to give me some advices, based on your experience. What languages you learned? What was useful and you started working with?

What was the biggest barrier and fear?

 

Hi,

 

I've been doing more serious game programming for about three quarters of a year now. I had some Java background, and that was honestly it.
C++ is known for being a tricky language, and it was indeed a bit of a challenge to grasp (and sometimes still throws surprises at you). However it is also the most performant language if you know what you're doing. Therefore I recommend learning the proper game-dev language right off the bat. Along with OpenGL for graphics (unless you're a directX Guru already).

 

The way I started was to first create a mini-project, mine was a simple 2D Rpg styled game, with farming options. It was an ideal project to learn C++ with, and to also already identify design pitfalls. Once I felt comfortable enough with it, and was reasonably satisfied with the features I had, I slowly started to work on my real 3D project.

Some books that I had laying around, or ordered additionally, are:

- Programming an RTS game with Direct 3D (relatively easy to translate to OpenGL)
- Came Coding Complete: Fourth Edition (more of a theoretical work, but has some very good design patterns in it)
A very good OpenGL site that has modern tutorials:

- http://ogldev.atspace.co.uk/

 

The most important thing to do is to not get stuck in over-planning things, jump in and make a game. Your first planning will be a bit messed up anyways, and you won't create the perfect design right off the bat. As you learn more, you'll get more insight into these sorts of things. Then you'll grab a book to complement your experience.

 

Good luck!

Cheers

2

Share this post


Link to post
Share on other sites
I would advice you to choose an engine, unity and UDK (ue3) are propably the best at the moment (ue3 got 2013 best engine award), after you are familiar with an engine, and really know how to use it, how it works, you can start going low-level for learning purposes (something like c++ for example) but for serious games, better use an engine, remember, they are 1000ts of hours of Human work, use it. You can find more info about Both, in another thread i posted in, is in the same forum section, ca 5 places lower. something like need help to start game development or something like that.
0

Share this post


Link to post
Share on other sites

I started with Java and just wrote 2 small games with it: Pong and a simple arcade shooter game. Learned so much more about the language writing games.

 

The language itself will not make a great game. It is the idea itself that does.

 

It is important to experiment with the code built into the language. Besides being fun, I would say you understand it better when you actually experiment. Make mistakes and learn.

 

The language is not a big of a deal when you are starting out. As long as you are using a language that comes with a graphics library you are set. Python, C# and Java are great for such a game project.  There are libraries that do a lot of the heavy lifting for you. Save you a lot of time setting up the graphics environment and let you focus on the game logic itself.

 

Game development is very time consuming and challenging. It is important not to underestimate time when you are making things work from a technical standpoint. I would say just start and start writing games. Be consistent with the project and you will have a game with the features you envisioned. tongue.png

Edited by warnexus
1

Share this post


Link to post
Share on other sites

I ask you to give me some advices, based on your experience. What languages you learned? What was useful and you started working with?



What was the biggest barrier and fear?

 

Language I learned first was Python, then Java, and then quickly migrated to c++..

 

It was useful to learn c++, things like pointers and references, to me because it taught me how computers work and what you are actually doing when you are programming.

 

Its nice to have things happen quickly and easily but... knowing what is going on behind the scenes can help you write much much better code. For example - knowing that binding different textures to texture units is a relatively expensive operation will let you design your code from the start so that it does this as least often as possible.

 

My biggest fear is not finishing something I've started. I don't know why really but there is no other thing that can make me feel lame quicker than knowing I couldn't finish something I have started. So with that I always try to aim smaller and let the project grow if there is room for it to grow.

 

My biggest barrier has always been time. Coding is a strange thing.. its not really something you can easily just throw an hour here and there at.. it seems like you always need at least like 4 hours to work on something to get any real work done. This makes it hard to keep working on projects sometimes..

 

In any case - good luck and stick with it!

Edited by EarthBanana
2

Share this post


Link to post
Share on other sites

Everyone, thank you very much. Your answers helped me to choose language and some books to start, so making a simplest game for me will be the first goal.

Again, I'm very grateful for your stories and advices! You are all magnificent sirs here.

0

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
Sign in to follow this  
Followers 0