Followers 0

# Language Choice

## 18 posts in this topic

I'm currently trying to figure out what language I should try to learn in order to start game programming. To be honest, the only game programming experience I have, would be DarkBASIC Pro. I know a lot of people don't even consider that a language, but more or less a framework, used to create simple games or demos. I have web programming skills, such as HTML/CSS, but other than that I'm pretty much starting fresh. Are there any languages you could suggest based on the information I've given? I am a relatively fast learner and difficult tasks do not bother me. Also, I would like to mention, I have fooled around with game engines like Irrlicht, Cube and a few tools like Unity and UDK, but with no real programming knowledge I haven't really gotten very far with any of those. Thanks in advance for any friendly suggestions!

0

##### Share on other sites

Kirk,

I have created a slew of games in DarkBASIC and I actually enjoy programming in DarkBASIC. The only reason to move away from DB is because of the lack of support for certain file formats and functions. However, after doing some research, it seems there is actually a product developed by The Game Creators (makers of DarkBASIC) called Dark GDK, which allows me to actually use Visual Studio and C++ with DarkBASIC kind of "inside" of it. Simply put, I can still program in DarkBASIC but have the abilities to use C++ programming where/if needed. Now with this, would I be able to implement support for file formats previously unsupported in DarkBASIC? What would the advantages be to have DarkBASIC inside of C++? Also, there is a .NET version of Dark GDK, allowing me to use either C# or Visual BASIC.net, would one of those suite my needs better? Sorry if these questions seem rather unimportant or noobish, but, I have to start somewhere so I might as well ask as many questions as I can now so I don't end up having to ask them later and looking like a fool!

0

##### Share on other sites

I've just discovered some "expansions" for DarkGDK, located here http://www.thegamecreators.com/?m=view_product&id=2128&page=expand, that introduce some desirable features that I no longer have to worry about coding myself. I think I have honestly solved my own question, and found that with previous DarkBASIC Pro experience, Dark GDK might be the next step in my game programming adventures! I'm downloading now and going to give it a try. But I am still open for suggestions and any advice anyone may have!

2

##### Share on other sites

trevorchough,

Although I do not know much about DarkGDK, I believe it sounds like a good option for you to learn a new language while still having the methods you are familiar with from creating games in DarkBASIC.

I am not sure this will allow you to use different file types, this all depends on how the methods have been designed. VB.NET will be closer to what you are familiar with but if you have a reason to learn a dialect of C I would recommend C#.

Good luck with DarkGDK, let us know how you get on.

Kirk

2

##### Share on other sites

Well, so far, I am having a couple of problems. I have downloaded Visual Studio Express 2008, the only version that works with DarkGDK, at least from what I've read after various Google searches. My problem is that I don't know how to include the DarkGDK folder, so that when I go to compile, the "include.h" and other files from DarkGDK are detected without manually putting them in the project folder themselves.

My second issue is that, after compiling a simple test program that spins a cube at a very slow rate (I have even tried using the minimum spin rate value), the cube is spinning at the maximum value. Now this can be caused by a few different problems, or so I've read, that can consist of driver problems to DarkBASIC issues with Windows 8.

The later issue I will/should be able to resolve on my own, however, I do need help with setting the include/library folders in a Visual Studio project.

0

##### Share on other sites

If you have followed the instructions here http://www.youtube.com/watch?v=6AmJweDUs9c#t=175 you should be able to use the GDK templates within VS.

Kirk

Thanks, Kirk, I haven't had the time to look for any instructions other than the five minutes I had earlier to tell you the problem and ask for help here on the forums. I appreciate the link, that will save me time, you're a great help!

0

##### Share on other sites

I personally get sick of C++ until it starts working again. Then I love it for a few minutes, then repeat. I think DarkBASIC is a good starting point.

0

##### Share on other sites

Great post ^  I'm just getting into encapsulation and inheritance in C# now and although I'm getting to grips quite well with the various keywords, my design and approach to solving a solution is awful.  I'm finding the concepts pretty easy so far to pick up but then I did read a lot about C++ when I was younger and a lot stuck with me.  I find reading source code from others really useful to see how they solve problems and approach design elements.  Once I've finished the book I will try make a few things using WPF forms as I have been throughout (the final chapter builds a space invaders clone) before thinking about moving on to Unity (I can't do the math for 3d) to further my 2D game making skills.

One thing I preferred about C++ over C# is the structure(?) with C++ I wasn't forced to use a class for everything, I didn't have all this auto generated code either.  I was able to have some OOP in there but could also code procedurally is it?  In a way I think that's what I liked about C but then I never made anything complex or big enough to truly appreciate them either way.

Edited by Saint Retro
0

##### Share on other sites

Yeah, but the problem for beginners is that starting with C++ slips them into spaghetti style coding.  Later they will struggle badly with understanding basic game coding structure which is modularized to help extension, version control, and debugging.

Having a good IDE or SDK with excellent code completion is a huge help to the beginner because the software will help teach the programmer.  However when using C++ and code generation, many of the connective relationships are lost because in C++ there is often several ways of achieving similar results.  That's a gigantic source of confusion right there.

On the other hand, C# forces the student to write objectively, so things such as inheritances are clear early in the process.

0

##### Share on other sites

I'm half Italian so I like spaghetti.. Seriously though, I know what you're saying.  I just struggle sometimes to think of something objectively when it isn't.  Like in the betting parlour scenario in my book, I didn't know if PlaceBet() should be part of the person who is betting class or in it's own.  In C++ I would have just written a function.  Maybe I need to read more about OO design, but that's for another topic I think.  Thanks again

0

##### Share on other sites

The object can be the bet, so you can make an algorithm which the class uses regardless of which gambler is making the bet. This can potentially save many coding lines and spare you the work in each class, even avoiding the task of having to code each gambler to place a bet.  It is possible to make the class inherit the object, in this case PlaceBet(). For C++ that's a function that you prefer, but in C# that might be best as an inheritance. http://www.dotnetperls.com/inheritance

This is a good example of how a beginner using a C++ function will slip right into spaghetti coding, whereas using the C# inheritance of the object would allow modularization and also serve to clarify the relationships. The benefit is also fewer lines of coding.

Edited by 3Ddreamer
2

##### Share on other sites

Likewise, the "Indie" version of UDK 3.x would require UnrealScript.Many of the more open-source engines and tools allow you to use C++ (as well as other languages with bindings) including the very latest UDK 4.x (if you subscribe for source access).

Well, I should mention that now both Unreal Engine 4 and CryENGINE are cheaper than most commercial game engines (Better than Unity Pro's 30,000 dollars), which are 19$and 9.90$ per month each. (CryENGINE was available on Steam last month, but according to the Steam reviews and CryDev, most people suscribed to the service were dissapointed to such things due to it's just a free SDK with an added feature)

EDIT: So after checking the official site, there were two kind of licenses available to the CryENGINE. The one which is on Steam was just a suscription. The other one was a full license, which you need to contact CryTek for it.
2

##### Share on other sites
Well, I should mention that now both Unreal Engine 4 and CryENGINE are cheaper than most commercial game engines (Better than Unity Pro's 30,000 dollars)

Agreed. Epic Games in particular has done a very impressive thing by opening up their Unreal engine to the masses. Frankly I am very happy to pay their subscription costs more as a donation and pledge of support even if I am not currently using their engine for a recent project.

Last time I looked at CryENGINE however, it required me to log onto their servers in order to use the main tool. This is called DRM and for this reason, it should not get our support. Similar to why Unity should not get our support.

I really am hoping that Epic Games benefits from their decision. They really deserve it. I am also noticing a massive improvement in portability to platforms like Emscripten, Linux and even BSD because of this so again, great job!

Edited by Karsten_
1

##### Share on other sites

1. Agreed. Epic Games in particular has done a very impressive thing by opening up their Unreal engine to the masses. Frankly I am very happy to pay their subscription costs more as a donation and pledge of support even if I am not currently using their engine for a recent project.

2. Last time I looked at CryENGINE however, it required me to log onto their servers in order to use the main tool. This is called DRM and for this reason, it should not get our support. Similar to why Unity should not get our support.

3. I really am hoping that Epic Games benefits from their decision. They really deserve it. I am also noticing a massive improvement in portability to platforms like Emscripten, Linux and even BSD because of this so again, great job!

1. Especially the price gives you a full license, including have the access to the engine's full source code. Also I forgot to mention that if your games were using the engine you'll need to give them 5% of your royalities, which is quite good.

2. I guess it has been a few years ago?

3. Agreed.

Sorry for the late reply, of course you know we were from different timezones. (My signature says all)

EDIT FOR THE OP: Well, I also forgot to tell you that UE4 (if you don't know what's this means, it's Unreal Engine 4) have a new feature called Blueprint, which is a visual scripting system. Which means you can create the entire game without even needing to know how to code AT ALL!

Tappy Chicken (of course it's based on Flappy Bird), which is available on iOS, Android and HTML for free, was an example created with UE4 by one of Epic Games' artists (one person) who did not even have experience on programming with Blueprint in a weekend (one day?).

I should mention that I did not own an UE4 license at all. I tried the example and it's not quite bad.
0

##### Share on other sites
2. I guess it has been a few years ago?

Yes, It was but looking now, they have simply moved over from their own DRM to the DRM provided by Steam. Either way, I personally would still not be using it as a development tool for this reason ;)

Edited by Karsten_
0

## 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