What do i do now?i

Started by
8 comments, last by 3Ddreamer 11 years ago

I have spent since early December on python, learned the basics, released a first game, and have moved on to other libraries to no real avail. I have done C/C++ in the past(but no where near the detail i have done in python) and prefer both the syntax, the speed, the vast array of libraries and the fact you don't need perfect indentation.

However, i am worried that i will have a massive struggle with it eventually give up and go into a limbo where i am not sure again. It almost seems as if there isn't a language i can find that is either useful to me or easy to type while maintaining speed(I have tried a heck of a lot of languages over the last 2 1/2 years, and C/C++ and Python are the only ones i have spent more than about 3 days on, which i know is stupid).

I know that there are literally thousands of languages but there seems to be only about a dozen worth learning(Java,Python,C,C++, Javascript, Pascal etc.) but i cannot find the right one.

I have considered Lua because of it's use as a scripting language but i want to write games without the weird pointers and malloc/free syntax of c++ and the weird indentation and lack of ; in python. Which seems to lead to Java or C#, but i don't want to do either because one is tied to microsoft and the other isn't known for speed.

What on Earth should i do?

Thanks

Advertisement

I think what you should do now is to make another game, with a language you are familiar with (python), or a language you are comfortable with (c++). Is your game slow? If not, python should be just fine.

I have spent since early December on python, learned the basics, released a first game, and have moved on to other libraries to no real avail. I have done C/C++ in the past(but no where near the detail i have done in python) and prefer both the syntax, the speed, the vast array of libraries and the fact you don't need perfect indentation.

However, i am worried that i will have a massive struggle with it eventually give up and go into a limbo where i am not sure again. It almost seems as if there isn't a language i can find that is either useful to me or easy to type while maintaining speed(I have tried a heck of a lot of languages over the last 2 1/2 years, and C/C++ and Python are the only ones i have spent more than about 3 days on, which i know is stupid).

I know that there are literally thousands of languages but there seems to be only about a dozen worth learning(Java,Python,C,C++, Javascript, Pascal etc.) but i cannot find the right one.

I have considered Lua because of it's use as a scripting language but i want to write games without the weird pointers and malloc/free syntax of c++ and the weird indentation and lack of ; in python. Which seems to lead to Java or C#, but i don't want to do either because one is tied to microsoft and the other isn't known for speed.

What on Earth should i do?

Thanks

I am really starting to get annoyed with how people seem to think c/c++ is the way to go because of "Speed". Honestly, for the general use case of nearly every language, you are not going to be hitting those speed barriers on modern hardware. Yes, c/c++ does have the potential to be faster, but unless you have a good number of years of experience, it's more than likely that your implementation or design in language X is the cause for poor speed, rather than the language itself.

personally, if you don't want the overhead of memory management, then I'd recommend C#, it's a solid language imo. It's not exactly tied to microsoft(c# is the language for playstation mobile app development), however since you point out that you don't want to be tied to a single platform, you should ask yourself if you're at the point where you even care about ensuring portability across platforms. At the end of the day, no one can tell you what to do, you must decide what to do.

Check out https://www.facebook.com/LiquidGames for some great games made by me on the Playstation Mobile market.

however since you point out that you don't want to be tied to a single platform, you should ask yourself if you're at the point where you even care about ensuring portability across platforms. At the end of the day, no one can tell you what to do, you must decide what to do.

Excellent point! If you don't even have a game, there is no need to worry about ensuring portability across multiple platforms. :)

Try to focus on what kind of game you want to create and what support libraries you will use. Drill down on what art assets you have available and how will you load them from disk to memory and then display them on the screen. Will your language choice support you in that endeavor or work against you? Are there libraries that are simple to use but only available for one language choice? At the end of the day, unless you are writing an extremely simple text game (and I mean pure text, not ASCII graphics) then you will not want to write every bit of code by yourself. So you will be using libraries and pre-made tools, find the ones that fit your game vision and let that help you decide which language to pick.

When I've dabbled with game development in the past this is the same stumbling block I kept coming across. What I'm doing differently this time is just sticking with a language that I'm comfortable with (Ruby) and working on my knowledge of game logic and how everything pieces together. I'd suggest you do the same.

I found this article (from gamedev.net) to be very helpful. I'm currently working my way through creating all of the games detailed in the article (starting with Pong and moving forward).

I have considered Lua because of it's use as a scripting language but i want to write games without the weird pointers and malloc/free syntax of c++ and the weird indentation and lack of ; in python. Which seems to lead to Java or C#, but i don't want to do either because one is tied to microsoft and the other isn't known for speed.

C++ doesn't require you to use malloc/free at all. That's all just inherited from C. In C++ you can use new/delete.

Example:

int* p = new int [37];

delete [] p;

here's a tutorial on how to use them.

http://www.cplusplus.com/doc/tutorial/dynamic/

I suggest you stick with C++. It gives the programmer the most freedom and there is a vast amount of support and libraries for it.

Hi,

Any one of the major languages (all of them mentioned here) and more are powerful and relevant to consider. The goals which you have should determine both the engine and the language that you use. I highly recommend not choosing a language based only on if you like it or if you made progress in the past! All of them are good!

Strategic priorities must frame your decisions:

1) Game concept and design first!

2) Determine your abilities

3) Choose a game engine accordingly

4) Use the language which that platform requires

Exceptions: If you are a beginner you should choose a game engine which uses one of the easier to learn languages - a huge time and frustration saver, increasing your workflow and reducing time to completion. If you have experience in your first language and are starting to make games, then stay with that language and find an engine which uses it! For programmers with experience in multiple languages, then you still need to find that game engine fit!

Once the strategic decisions are established then you go tactical.

Stay with it and enjoy!

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

Which seems to lead to Java or C#, but i don't want to do either because one is tied to microsoft and the other isn't known for speed.

Although originally developed by Microsoft, C# has been approved as both ECMA and ISO standards. There are a number of cross-platform alternatives to .NET, and whilst I can't speak for the others Mono is now very capable. There are even efforts to produce alternatives to XNA. C# isn't really "tied to Microsoft" at all, so if that's your only concern you needn't be worried,

Java did have serious performance problems years ago, but for the most part that's no longer true unless your software is badly written. Although there is a certain performance overhead, it's extremely unlikely to be a concern for you, and as evidenced by some of the games listed in my post "myth: Java not suitable for games" it's certainly more than fast enough for some absolutely fantastic games.

If either C# or Java is attractive to you then by all means give them a try, as the "problems" you listed aren't really valid concerns. smile.png

- Jason Astle-Adams

All languages are worth learning. You will run into some roadblocks developing your first game in any language. I suggest you learn a whole variety of languages for the fun of it and not worry about which one is better because there is no such thing as a better language.

I heard some games use a mix of two programming languages

Actually, the more complex the game and the larger the team of programmers, then the more languages which tend to be used in it. Certain languages do lend advantages for specific needs, but the beginner should not be concerned with that but stay with one language until at least intermediate level is achieved before adding another language, in my opinion.

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

This topic is closed to new replies.

Advertisement