• 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
trevorchough

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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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

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