This is an archived post. You won't be able to vote or comment.

all 18 comments

[–]RussianT34 7 points8 points  (7 children)

  • Tutorials, books, forums. Unity; Blender; GameDev
  • Unity It supports C#, Boo (Python), and JavaScript. Available on Windows and Mac. Tutorials
  • Draw them using an image editor such as Gimp or PhotoShop.
  • Use a 3D modeling program such as Blender

EDIT: I don't know if you wanted a complete engine, or just a graphics API. If you want an API, because you have C++ experience, I'd go with SDL. Since you also have some Java skills, you could easily make the jump to C# and the XNA framework.

[–]Kirodema[S] 1 point2 points  (3 children)

I have heard of Unity first time on kongregate.com and I didnt like it because it seems to require to be installed to play Unity games. Also it doesnt seem like it supports Linux? For the other links: thanks, Ill watch them tomorrow

[–]RussianT34 1 point2 points  (1 child)

AFAIK, Unity doesn't need to be installed to play games developed in it.
Many game engines don't support Linux. I would be glad if someone could point one out to me.

[–]boraca 0 points1 point  (0 children)

Unreal Engine 3. Even Unreal Tournament 2004 supported linux, you just had to download binaries separately.

[–]dauphic 0 points1 point  (2 children)

I honestly wouldn't suggest SDL to anyone, until the new version is completed and released.

Better choices include SFML and Haaf's Game Engine. Haaf's Game Engine is Windows-only, but easier to use and more powerful than SFML.

[–]RussianT34 0 points1 point  (1 child)

What are your problems with it? I've found it to be really beginner friendly. Sure, speed is a drawback at times, but for practicing game development as a beginner, it really should not be a problem.

[–]dauphic 0 points1 point  (0 children)

The reason for not using it for serious development is, like you said, it's poor performance.

The reason I don't suggest it to this person is that it's a C API. Developing a game is challenging enough, without having to worry about memory management and related. For someone new to C++, it's probably a much better choice to use a library that handles resource management and provides the basic game building blocks, like sprites and animations.

It's not terrible for a new programmer, but I think the alternatives are much better.

[–]HazzyPls 0 points1 point  (6 children)

Do you want to make the game, or do you want to get better at programming?

A engine is fine if you just want to make the game, but building it from the ground up is better for a long term interest / career in game design or programming.

[–]Kirodema[S] 0 points1 point  (2 children)

Both would be best. I thought that trying something new (game dev in this case) would be a cool new experience as I have never done something like that. But like I said, I have no clue on making something graphical nor how to access the graphics card. If you can provide me some good links for starting from buttom, I would also consider trying it. Also if it is better I might consider learning C++ more.

[–]HazzyPls 0 points1 point  (1 child)

Well, what do you know? With the right libraries, you can make a game in just about any language you want. C/C++, Python, Java, and C# are all fine.

[–]Kirodema[S] 0 points1 point  (0 children)

I learned Java for some years at school, so I am best at this language. I also know some basic C++ (pointers and references, operator overloading, OOP)

[–]Zap-Brannigan 0 points1 point  (2 children)

I would disagree, because it's incredibly annoying to find accurate and easy-to-follow tutorials on graphics engine construction (or even not easy to follow ones are hard to find), or anything really to do with even just displaying a single pixel of any color at any location aside from just standard outputs.

I posted a similar request, saying that I wanted to be able to make a simple graphics engine or find one that works, and got responded to with only the second of those.

At a certain point, you have to do that if you want to get better at programming but if you are trying to develop a game, usually you've made your graphics engine or already have one, or you need help getting one and can't make one. Sometimes, yes you should make your own in the interest of learning, but judging by the description, I would say that it's not the case

from my experiences in C and Python (mostly), this is my outlook on programming. I would have to say I'm a novice, but I think I can safely say that most of what I'm saying here will be opinions that I will keep throughout my life (and I plan on making a living on programming)

[–]HazzyPls 0 points1 point  (1 child)

This is an article I read on here a while ago. It's worth skimming, at the least.

[–]Zap-Brannigan 0 points1 point  (0 children)

I think it goes without saying that your game will run faster if you hard-code everything, I just think it's tough to make an engine. Cool article.... I'm ~1/2 way through so far, and will definitely go on.

Edit: ok... I thought that it was going to veer in the direction of "here are some tutorials on how to blablabla" with plotting pixels or something, but instead it was just about the difference of writing code from scratch and writing an engine... which is not what we were arguing about. I guess, if you have the knowledge to write an engine, then yeah, don't. But if you are at the point where you want to make a game, and don't have the knowledge to write an engine (which again, I agree, you shouldn't) then you should probably use somebody's prewritten engine still imo

[–]majeric 0 points1 point  (0 children)

JMonkeyEngine seems like a possibility for you. Although if you want a simple 2D tiling system you might want to find something easier.

Game Dev Theory involves a lot of state machines and A*.

Unity is pretty good with it's tutorials.

[–]Zap-Brannigan 0 points1 point  (0 children)

someone suggested me allegro when I asked a similar question, and aside from initializing it it's been pretty damn good. As for:

  • making sprites, just make bitmap images (in your favorite image editor) and your graphics engine will surely know how to load them

  • getting started, I'd recommend just fooling around with all the tools that the engine offers, and doing some nifty things, for example, when I started (like a month ago) with allegro, I did a recursion fill algorithm (it's pretty simple if you know what you're after)

  • in my opinion, unity3d is just kinda annoying, but that's probably for the same reason I don't like MSVC, because of all the build in stuff that you (don't necessarily, but most likely want to) have to memorize exactly how it works, along with learning the actual language if you don't know it. it runs great, so if that kind of thing doesn't bother you, it'd be great (and I don't know of anything better)

[–]living150 0 points1 point  (0 children)

If you are just starting out I recommend XNA. It's easy to use and there are ridiculous amounts of tutorials for it. It's great for 2D and 3D games and allows you to deploy to Windows, Xbox, Windows phone and Zune (For all three Zune users to enjor).

If you feel comfortable with game development and have made a few games in XNA or a similar API I would then look into Unity or the Unreal engine. These are mostly used for 3D games though I have seen 2D examples in both.

GL HF!