Jump to content
  • Advertisement
Sign in to follow this  

Ridiculous long shot but please help!

This topic is 2770 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Ok so I am starting a project, to make a game called Voxelia.
Yes, it's a voxel game.
No, I'm not doing it because of minecraft. >_>
but here's the thing: I found out that C++ and DirectX will be the best choice to make this BUT I know very little C++ and no DirectX :/
So I was wondering if someone could help me out, and help me get from knowing nothing, to at least creating a randomly generated voxel world.
I would really appreciate it if you help me.
Thanks in advance...

Share this post

Link to post
Share on other sites
What makes you think C++ with DirectX is "the best choice to make"? If you do not know C++ and you don't know DirectX then starting with another language that you DO know will probably be a significant productivity boost.

Share this post

Link to post
Share on other sites
And I would totally agree with you... provided I knew any programming language :/
And actually, after a little more research, OpenGL might be more suited down to it's cross platform functionality.

Share this post

Link to post
Share on other sites
If you are new to programming you shouldnt attempt game programming, almost every game programming resource assumes you are familiar with the language it programs with. If you arent new and comfortable with your language, depending on what that language is you could experiment with a game engine or graphics library, if its C# you could have a go at SlimDX / SharpDX / OpenTK which are wrappers for the lower level graphic libraries DirectX / OpenGL.

As for C++, it is worrying how many feel C++ is "the way to go" :/

Edit: Just seen your reply ;)

Since you dont know any programming language I would suggest you learn one before jumping into game programming, I would recommend C#, it is easy to work with, has a fantastic framework for many things and you can get all the benefits of DX / OpenGL (via wrappers) without even touching C++

People often say game programming with DX / OpenGL is hard, but the truth is its time consuming, there is a brilliant learning curve that is actually fun but if you arent dedicated and dont have the time (and im talking months to years of work not days) you will make very little progress, especially with what you are aiming to do, doing this in C++ will only increase your time for many reasons.

Dont get me wrong C++ is a great language to learn but rushing into game programming using DX / OpenGL with C++ is pretty suicidal. Dont feel discouraged though, your game whatever it is can be done but you will drastically reduce the time by doing it in C# and likely not feel overwhelmed by using XNA first

Share this post

Link to post
Share on other sites
No, he shouldn't be bothering with low level libraries like SlimDX/SharpDX/OpenTK. He should be getting on with making the game. If his language choice ends up being C#, then I would highly recommend going the XNA route until such a time as he's comfortable enough with the language and APIs to make a move into understanding the underlying components of XNA via libraries such as SlimDX/SharpDX.

If your goal is to learn to program games then you first need to learn to program. For that purpose picking a language that's easy to pickup, has few pitfalls, and a decent standard library is the best decision. None of which apply to C++. Python with PyGame/PyGL is a decent start, as is C# with XNA. Both can get you up and off the ground running. But don't expect to magically be making the next Minecraft/MW3/SWTOR overnight. It takes years to get good at programming no matter what language you pick, although your choice of language will strongly determine how fast you progress initially.

And to quote myself from the LAST language thread:

[quote name='BeyondTheWalls' timestamp='1329076598' post='4912327']
Hi guys,

Started in on the tutorial at www.learncpp.com. Got to somewhere in Chapter 3 a couple weeks back and had to put it down and take a break. From reading the first couple of chapters I have realized lots and lots of patience is going to pay off. Anyways, getting back to it:

No matter what language you decide to start with, patience will be required. Programming and software development requires patience, and no language will magically remove that requirement.

Without any experience in programming prior to the above mentioned, is it a terrible idea for me to start right in learning C++? I've seen arguments made for instead to learn C#/Python and I understand (or think I do) that it has reason to do with those already running in their own frameworks or environments or something. Before I go further I must say a couple things:
Generally speaking, C/C++ isn't a very nice language to start with. It has a lot of corner cases that will frustrate beginner programmers. Does that mean you can't start with it? No, you can start with it, but you'll be in for a long hard climb learning both C++ AND programming. We typically (and by we I mean the moderators and a large number of experienced developers on this site) typically recommend starting with something other than C++. Most of the skills you learn WHILE PROGRAMMING are transferable between languages, so learning Python or learning C# will teach you much that you can use in C++. C# and Python are two recommended starting languages because it is easy to get up off the ground with them, and to see results quickly. Seeing results quickly will inspire you to further heights, thus encouraging the learning process. Once you've picked up one language its not that hard to start picking up another. Once you've got two or three languages under your belt, that third or fourth language is pretty easy. The more languages you know the better you get at solving problems because the wider your repertoire of solutions.
2. I have a fear that learning one language will be hard enough and am afraid that learning a more basic one will dishearten me as I'd be afraid of the extra time needed to transfer my knowledge from one to the other.[/quote]
Most knowledge transfers easily between languages. The thought process on how to solve problems is the primary thing you need to build as a novice and that works between all languages as the underlying principles are the same. There's no such thing as "a more basic language." There are languages that are simpler to work with, more focused in their application, but that doesn't mean they are "basic" and hence "useless", which is the connotation I got from your above sentence. Python, Java, C# have all been used to write games. Just a few that might interest you: Python => Eve Online, a large portion of its client AND server architecture is in python. Java => Minecraft, you may have heard of it. C# => Many games on the xbox 360 arcade are XNA games, written in C#, as well as AI War. Heck, even QBasic can be used to write games.
So, the question is: If as of right now, I'm looking to use programming as a means to an end for my own personal game creation and my ideas may exceed engine limitations (I have no idea), would it be better to keep going learning C++ basics instead of getting into one of the "easier" (hope that doesn't offend anybody) languages that I would think would eat up more of my time?[/quote]
I would suggest NOT starting with C++. I would suggest getting started with either C#/XNA or Python with PyGL/PyGame. Learn the art of programming. Once you have a language (or two) under your belt, migrating to C++ shouldn't be too hard, although you will still run into all of those corner cases I mentioned above.
Also, even though I have started the learncpp tutorial, I have yet to grab an IDE. I know I need a free one for now because even though I want to be dedicated to this project.. well I don't see myself buying an IDE just yet. Are there choices for free C++ IDEs out there? Any input on which ones are good or which ones should be avoided, much thanks.[/quote]
For windws the Visual Studio Express IDEs are the way to go. Linux.. vim with nerdtree smile.png
edit: are there things that free IDEs don't do that can only be achieved through premium ones?[/quote]
Depends on what you mean. Typically speaking the "premium" i.e. paid for IDEs simply have more features such as optimizing compilers and plugin interfaces for IDE extensions,

This brings me to the final part of my post, which is a big list of links of previous discussions much the same as this very one:

This one enjoys fairly significant popularity. (Note that only threads containing significant discussion are included.)

1) Professional Games Made In C#?
2) Java for game development?
3) Java----C/C++
4) c++ or c#
5) Question about Java Vs. C# Vs. C++
6) Java Games?
7) Java is fast?
8) Secondary Language:VB or Java?
9) What makes C++ so powerful?
10) C# games and cheating...
11) Is C# good enough for system utility programming
12) MC++ vs. C#
13) Which language is best for a 3d Games Engine?
14) C# vs C++ as a choice for development
15) Is Java the Future?
16) why C# and not Java?
17) What do you think of the D language?
18) my c++ d c# benchmark!
19) The Definitive Guide to Language Selection
20) Sharp Java
21) C++ or C#?
22) C++ or C#?
23) Java disadvantages
24) C++ or C#?
25) Visual C++.net vs Visual C#.net
26) C# - huh?
27) which language should i learn?
28) C or C++ or C#
29) learn C or C++ ??
30) Is C still useful in gamedev?
31) Why C# XNA When Everyone Wants C/C++
32) JIT compiled code vs native machine code
33) C++ or C?

This particular list is my top ten, because of the sheer frequency with which they occur. 12 days, 10 threads.
1) c++ or c# (5/1/06)
2) Java for game development? (5/2/06)
3) Java Games? (5/3/06)
4) Java----C/C++ (5/3/06)
5) MC++ vs. C# (5/4/06)
6) What makes C++ so powerful? (5/9/06)
7) C# games and cheating... (5/9/06)
8) Is C# good enough for system utility programming (5/9/06)
9) Which language is best for a 3d Games Engine? (5/11/06)
10) C# vs C++ as a choice for development (5/12/06)[/quote]

Share this post

Link to post
Share on other sites
Ignoring the sufficiently disuaded C++ option...

Ok so I am starting a project, to make a game called Voxelia.
Yes, it's a voxel game.

Voxels are how you implement the game. Game themselves (even computer games) are simply sets of rules. What the game looks like should be one of the last things you deal with.

Share this post

Link to post
Share on other sites
ok yes, i see where you're all coming from.
The reason I've already decided Voxel, is because, Planning is the very first step, before even programming
I chose C++ (And that may change to C# or Java) because... well I'm not sure actually.
As for what washu said about don't expect to make the next Cod/Minecraft whatever overnight, I realised that LONG ago. I don't expect my first game to be ridiculously popular, or my second, or any games I may make.
By the way, I have a blog of me slowly getting closer to my final product, so far, I have 2 music tracks (Made those years ago) and a guess the number game made in C++
Thanks for all the info and support so far guys ;)

Share this post

Link to post
Share on other sites
Ok, after reading what you said/referenced thoroughly, me and my work partner decided on C# and XNA, then to later port it to C++ if necessary.

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!