Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411490 Posts in 69377 Topics- by 58433 Members - Latest Member: Bohdan_Zoshchenko

April 29, 2024, 05:58:25 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Programming Language
Pages: [1] 2
Print
Author Topic: Programming Language  (Read 7690 times)
RC
Level 0
***



View Profile
« on: July 21, 2008, 06:48:39 PM »

Lately I've been trying to learn C++, however, no matter where I look, everything I find seems to be overly complicated, I know C++ isn't an easy programming language, so I'm wondering if there are any other easier programming languages that can basically do everything C++ can do and possibly more.

I've been thinking about learning PASCAL, my main goal is to make games with whatever I learn, I'm currently using the program "Game Maker", but with that you're limited to just GML (Game Maker Language) unless you use a DLL.

So, can you make good games with PASCAL as you would with C++? Or do you recommend another language?

I hope you can help.
Logged

imaginationac
Level 2
**


Makin' games instead of makin' money.


View Profile WWW
« Reply #1 on: July 21, 2008, 07:40:47 PM »

You've probably heard this before, but it is not the programming language that's limiting, but rather the programmer's expertise and work. That and realistic memory contraints. Wink

That said I'd read this post: http://forums.tigsource.com/index.php?topic=49.0

Personally, I work mostly with Java(Sun's Official Website for Java  Wikipedia article on Java). I'd suggust it only if you don't want to learn about handling memory yourself. One of the downsides to Java is the slower performance that can occur with larger applications.

It also would help if you set realistic goals for yourself. What exactly are you trying to make anyway?
Logged

Youtube channel | Charger! Dev Log
              
RC
Level 0
***



View Profile
« Reply #2 on: July 21, 2008, 07:52:56 PM »

Well, I have many ideas in my head at one time, when I write them down or type them up on the computer, they all just get lost somewhere. With that said, when I've tried to make them in Game Maker, I can't. But, Game Maker doesn't really make good 3D games, and that's what I want to make, my goal at the moment is to make a good 3D game, possibly either a FPS or an Adventure game.

It'd be nice to make a console game, but I don't really think that would happen anytime soon.
Logged

Ivan
Owl Country
Level 10
*


alright, let's see what we can see


View Profile
« Reply #3 on: July 21, 2008, 08:00:15 PM »

Python is a good alternative, as Python has bindings for alot of C++ libraries out there, so you can do most of what you can do with C++, but it's alot easier to setup and learn.
Logged

http://polycode.org/ - Free, cross-platform, open-source engine.
RC
Level 0
***



View Profile
« Reply #4 on: July 21, 2008, 08:11:54 PM »

I'll look into Python.
Logged

muku
Level 10
*****


View Profile
« Reply #5 on: July 22, 2008, 01:17:42 AM »

For adventures, there's AGS: http://www.adventuregamestudio.co.uk/ Many great games have been made with it, so if you really want to make an adventure, you should try it.

As for learning to program, Python certainly is a much better first choice than C++. There's also D, which is basically a cleaned up and simplified version of C++ which I currently use, but if you're just learning to program then the lack of good documentation will probably trip you up.
Logged
Ciardhubh
Level 1
*


View Profile
« Reply #6 on: July 22, 2008, 08:04:49 AM »

One of the downsides to Java is the slower performance that can occur with larger applications.

That is a very questionable argument. If Java is too slow for you, then there aren't many choices left beside C++ and assembly.

Interpreted scripting languages are MUCH slower than Java. .NET languages are roughly the same speed as Java because they too rely on intermediate byte code. A lot of the "Java is slow" argument is a myth. The biggest companies are using Java for their high-load servers.

Of course C++ is faster than Java and if you want to one day work for a major studio, you'll have to learn it. Java might be a good start to get into that direction, if you consider C++ to be too time-consuming in the beginning. You won't be able to make a AAA game with Gamemaker or a scripting language.

It all depends on where you want to go. If you are looking for a hobby, pick one with a large community and lots of available information/libraries. If you want to develop games professionally, you'll have to focus on what companies expect; which is predominantly C++ and occasionally Java for the server-side, scripting languages are more or less added bonuses (of course this only applies to game development and not software development in general).
Logged
Hideous
That's cool.
Level 10
*****


3D models are the best


View Profile WWW
« Reply #7 on: July 22, 2008, 08:28:05 AM »

I'll also say that if you plan on making 3D games, watch out for math. It's scary and it will bite your head off.
Logged

muku
Level 10
*****


View Profile
« Reply #8 on: July 22, 2008, 08:41:31 AM »

One of the downsides to Java is the slower performance that can occur with larger applications.

That is a very questionable argument. If Java is too slow for you, then there aren't many choices left beside C++ and assembly.

That's true. Java has had a lot of brainpower poured into its JIT compiler in the last few years and has really caught up a lot in that regard.

Then again, Python with Psyco isn't that much slower than Java either (typically by a factor of 2 or 3, if the language shootout can be believed... yeah, I know, microbenchmarks). Contrast that with the fact that Python is a vastly more expressive and less verbose language than Java, and Java's niche in game development starts to become very cramped. If you want to go the professional route and need all the performance you can get, you are going to choose C++ anyway; if performance doesn't matter that much and you just want to get something done as quickly as possible, you probably don't want to use Java for that either.

The only valid reason I can see to use Java for indie game development is if you already know the language very well; then of course you save some time learning to use new tools. On the other hand, I would never recommend learning it to someone who's just starting out with game development.
Logged
Decipher
Guest
« Reply #9 on: July 22, 2008, 08:52:43 AM »

Quote
But, Game Maker doesn't really make good 3D games, and that's what I want to make, my goal at the moment is to make a good 3D game, possibly either a FPS or an Adventure game.

Ahhh... Yet another one, let's try. First of all you should really realize that the outcome of your first attempt won't be anywhere near your goal if on a scale what you mean by "good" is somewhere close to Half-Life 2... Interestingly every single person who has an interest in programming games would start with the expectation that he/she can create Half-Life 2 or Doom 3 or FarCry or even worse Crysis. This will almost certainly not happen (exception being if you happen to have a genetic linkage with John Carmack). In fact, as Hideous mentioned the mathematics involved in 3D games can get way too complicated even on the most basic stuff if you're not familiar with it. Consider gimbal lock with certain camera implementations.

On the other hand, it's completely wrong to think that C++ will give you the "tools" you need to code your own overkill 3D game. You should really consider what you might need before you pick a language, do you really need OOP, polymorphism, inheritance or template-metaprogramming? If not, C++ is not quite the right language then. So I'd suggest you to read on languages, their pros and cons from different point of views (try to pick different game developers expressing their ideas on a certain language for instance).

And moreover, make sure you're stubborn enough for it. The magic won't happen in a single night. You won't go to sleep and wake up as a godness of C++. Indeed, it might take tens of years to perfect your knowledge and understand every single bit of what they talk in C++ Committee Meetings or DRs.

So to summarize, I highly suggest you to aim for something simpler in the first place, how about a nice Tetris or PacMan clone? Add your own creativity into it, and on the second time, try to create something independent than currently existent games. After a few years I'm sure you'll be realizing that you're glad you didn't start with your overkill 3D project because in the end most of the people who do it end up giving up, totally... Which is a pity.

But let's not forget that after you master your skills with the language of your preference you can try your 3D game idea, and you'll see that you couldn't do it if it was your first project. And in that case it's a huge source of motivation.

Hope this helps a bit.
Logged
PaulMorel
Level 1
*



View Profile WWW
« Reply #10 on: July 22, 2008, 11:40:20 AM »

ok, everyone in this thread needs to stop bickering about personal preferences and ante up with some real suggestions for this guy.

The question boils down to this: What are the options for people who want to make games, but don't think they can do C++?

The answer is complicated.  Unfortunately, as others have pointed out, the language of choice is really the least complicated thing about game development.  Really, having the organization, dedication, and math skills necessary to write software on your own is much much harder than learning a language... of course, I am a programmer, so I am probably biased.

The one suggestion that I could come up with for you is Panda3d - http://panda3d.org/

Panda3d is a powerful, but easy to use engine that integrates smoothly with common 3d tools like Blender.  It is the engine used in Pirates of the Caribbean Online, and the other Disney MMOs.

Most Panda3d code is in Python, which is marginally 'easier' than C++, but similarly powerful.

Finally, the best thing about Panda3d for users like you is that the manual is bountiful and gentle.  It guides you slowly through the process for creating a 3d game.

Has anyone else used Panda3d?  What about other 3d engines that this person might try?
Logged

my computer music blog: http://www.thisisnotalabel.com
Ivan
Owl Country
Level 10
*


alright, let's see what we can see


View Profile
« Reply #11 on: July 22, 2008, 12:18:51 PM »

If he has never written a game, or worse yet, has never programmed, he shouldn't be trying ANY 3d engines, but instead learning programming and game development basics in simple text-based or 2-dimensional frameworks.
Logged

http://polycode.org/ - Free, cross-platform, open-source engine.
PaulMorel
Level 1
*



View Profile WWW
« Reply #12 on: July 22, 2008, 12:20:23 PM »

If he has never written a game, or worse yet, has never programmed, he shouldn't be trying ANY 3d engines, but instead learning programming and game development basics in simple text-based or 2-dimensional frameworks.

True, I missed that 'never written a game' thing.
Logged

my computer music blog: http://www.thisisnotalabel.com
RC
Level 0
***



View Profile
« Reply #13 on: July 22, 2008, 04:45:43 PM »

I actually have written over 30 projects, well, started on them. I have previous programming knowledge if you take Game Maker Language as a programming language, which it is. I've understood that Game Maker can be quite powerful when using DLLs with it, my only problem is the I never finish any of the projects I start, and I've figured out this problem.

When I didn't have internet for over two years, I made a shit load of games and actually had the motivation to finish them, but now, I'm trying to create games for other people and I'm trying too hard to make the game perfect, fun and good looking, thus making it too much for me to complete and I lose all interest in building it, the major problem is after seeing all of the other game makers' games, I've been trying to compete with them and make them better or equal to them in every single aspect.

I obviously can't do this, and I was hoping by moving to a programming language other than GML, I would have more options and opportunities to choose from. I've been making games since 2003, since then I've became a more skilled programmer in GML, but like I mentioned above...I don't really know if anything can help me achieve my goal.

I've had web programming experience such as MySQL and PHP, not that that really matters at this point.
Logged

joshg
Level 4
****



View Profile WWW
« Reply #14 on: July 23, 2008, 08:58:24 PM »

Not to sound abrupt, but the best place to look for answers to this question is probably the Programming Languages thread that's already stickied on this forum.

http://forums.tigsource.com/index.php?topic=49.0

The list highlights some unique languages such as BlitzBasic and Processing that are specialized towards games and/or interactive visual stuff.  It also lists a bunch of resources for more general-purpose languages such as Java and Python that'll help you get a head start if you decide to try one of those.

As for an actual recommendation, I've had good experiences with BlitzBasic and Processing, and I've heard enough good things about Python that it's on my list of languages I should learn at some point so it's probably a good choice too.
Logged

these are from an actual radio shack in the ghetto
Decipher
Guest
« Reply #15 on: July 23, 2008, 10:01:30 PM »

Quote
I actually have written over 30 projects, well, started on them. I have previous programming knowledge if you take Game Maker Language as a programming language, which it is. I've understood that Game Maker can be quite powerful when using DLLs with it, my only problem is the I never finish any of the projects I start, and I've figured out this problem.

This is not that much of a problem to be honest. It's just you're a perfectionist and you must learn when to say "enough". How do I know? I am quite the same... Though, for quite some time I can finish whatever I started. So, my advice to you is to declare yourself goals, but not limits. Working on a platformer? Cool, have a todo list, accomplish each task individually then you're done; AND don't change the project while you're working on it until you take your control back from... yourself. So, what I mean is, finish something, doesn't matter what just finish something. The pleasure you get out of it is even better than an orgasm so you'll have motivation for your next project.

I don't think you have any problems with the programming language, you have problems with motivation and concentration. Don't expect your first complete game to be something everyone will love, all of those developers you compete with didn't come to that point like that, they sucked in the beginning like all of us did. Thus, just try to finish something really small. Screw 3D, nowadays everyone goes there... Coding 3D games won't give you this "airy" feeling, it will just take more time to code and most likely make the task a harder one to accomplish.
Logged
RC
Level 0
***



View Profile
« Reply #16 on: July 24, 2008, 07:10:18 PM »

Yeah, I do try to make everything perfect, and looking at the other developers games does make me feel like I need to try my best and make a great game, I've partially finished a couple of games, but never released them, I can't now since they're on my old PC.
Logged

Cymon
Level 9
****


Computer Kid


View Profile WWW
« Reply #17 on: July 25, 2008, 02:14:25 PM »

You could always start simple so you don't feel overwhelmed.
Logged

Cymon's Games, free source code, tutorials, and a new game every week!
Follow me on twitter
GlingGling
Level 0
**



View Profile
« Reply #18 on: July 25, 2008, 08:25:36 PM »

Close your eyes, spin around until dizzy, point, and then open your eyes. Whatever language you are pointing to is fine.

Obviously it's not quite that easy, but it's not a big deal where you start. Start somewhere that looks like you can make something that you want. Progress in that environment until you can't make the things you want in the amount of time you want to make them.

Almost every programmer I know that has been programming for over 4 years doesn't use the programming language they started with.

It's probably best to start somewhere friendly (unless you reckon you're smart enough). Any of the game makers are good. Processing is fun to start with. Some of the game frameworks are friendly. What you'll find on this site is that everyone uses and swears by something different.

As long as you get on the road and start moving you'll be fine.
Logged
increpare
Guest
« Reply #19 on: July 26, 2008, 01:35:02 AM »

What you'll find on this site is that everyone uses and swears byat something different.
Logged
Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic