Best way to help create a game?

Dashbot

BREEE
So, I have an idea for a game that I want to try and create, however, I'm not sure exactly which direction I should start in, I'm experienced in VB.NET as a programming language (and I can read C# codes, so learning that wouldn't take much time, or at least I hope). The game is going to be 2D. I have multiple ideas to start programming, but I'm not too keen on any of them. Basically I need a simple yet not terribly weak, and be compatible with as many systems as possible.

  • VB.NET; The easiest way to program for me, and the one I enjoy the most. And it will work on all systems running .Net Framework 2 (basically any system with Windows 7 or better). The downside is that it is a weak language for games and I haven't done any gaming-related stuff on it, so I'm afraid that it can turn out extremely inefficient
  • Flash; just hearing the word makes me feel old, but as far as I know, it uses C#, which shouldn't be a pain to learn and it should work on any computer no problemo. Heck it can run online if I can find a site to host it. However, that requires a program (most likely Adobe Flash Professional), and I don't want to get it unless it's absolutely the best choice out there.
  • Love2D; It's something that I heard about recently, and apparently it can compile standalone games (hence Mari0), It uses Lua, a language I'm not too familiar with, but it looks similar enough to VB. And it created a lot of good games. It's name is love, so that's an automatic plus. Basically the best option out there, but it doesn't have that much tutorials, so learning it could be a pain, and it could requite manual decompilation to other games to see how it works.
  • Standalone C#; Even though learning C# shouldn't take too long as I said, I have no idea how to start doing it.
  • Java; As far as I know, it's a pretty inefficient language, it works on all platforms though (it's not like my game would get that popular, it's a simple one after all) And it's yet another language that I'm not too familiar with. And some people still don't have java installed on their computer.
  • Use other types of framework (like XNA); Even though that would allow me to program the way I like in VB.NET, it will not work on systems without it installed, which is not something you generally want.

So, for experienced guys out there, any suggestions?
 

Dr. Baby Luigi

Mushroom Kingdom's Most Adorable Doctor
I'm not experienced in any of this at all, but I'll give you my two cents anyway. Personally, I think you should go with VB.NET and Love2D. VB.NET is sounds like something you would enjoy, and that's a very important quality to have, to enjoy creating a game, so that you'll be motivated to finish it up.

For Love2D, lua is a good and easy language to learn, is lightweight, and, depending on your post, it sounds like you should have no troubles learning it if it's similar to a language you know. Though there may not be much Love tutorials out there, you can always ask for help with more experienced people who developed games for it, if there are dedicated forums for the program out there.

Again I speak out of complete ignorance of these so if my advice isn't helpful, then I'm really sorry but I can't really help you further than this outside of that you should get more research so you can weigh your options more effectively.
 

Lakituthequick

Celestial Guide
Core 'Shroom Staff
Awards Committee
Plz abstain from using the monstrosity that is Flash.

That said, you could try making an HTML5 game. There are a lot of Javascript frameworks for that (both 2D and 3D), and it works on pretty much any browser. You may need to enable touch control for phones, but it's still the same game.
 

fantanoice

I can see through time
Game Maker is built for 2D games but it's quite limited in features and isn't very 'programmy'.

Unity is extensible and has a lot of plugins, documentation and resources. It uses C#. Supports 2D games but the 3D engine is more mature (you could make a 3D game and just set the camera up to one side, ie 2.5D). Also Unity games can be exported to almost any platform including PC, console and mobile.

Don't use VB, it's a garbage language for games
 

Dashbot

BREEE
Baby Luigi said:
I'm not experienced in any of this at all, but I'll give you my two cents anyway. Personally, I think you should go with VB.NET and Love2D. VB.NET is sounds like something you would enjoy, and that's a very important quality to have, to enjoy creating a game, so that you'll be motivated to finish it up.

For Love2D, lua is a good and easy language to learn, is lightweight, and, depending on your post, it sounds like you should have no troubles learning it if it's similar to a language you know. Though there may not be much Love tutorials out there, you can always ask for help with more experienced people who developed games for it, if there are dedicated forums for the program out there.
Love2D was my main choice, because it looks simple, and reading the codes of other people would surely be helpful, VB.NET is the one I learned as a child (thanks school, you should have taught me something a bit more powerful). Heck MSDN has everything that I would need for VB.NET. I might start the basics in VB.NET just to see if it's going to be terrible or not.

Lakituthequick said:
That said, you could try making an HTML5 game. There are a lot of Javascript frameworks for that (both 2D and 3D), and it works on pretty much any browser. You may need to enable touch control for phones, but it's still the same game.
Unfortunately, I'm too inexperienced in JS, most of my edits to my js were from research and testing alone.

Asgore said:
Unity is extensible and has a lot of plugins, documentation and resources. It uses C#. Supports 2D games but the 3D engine is more mature (you could make a 3D game and just set the camera up to one side, ie 2.5D). Also Unity games can be exported to almost any platform including PC, console and mobile.
2.5D would be fantastic for my game, however, it would require the additional level of modeling, and it will require additional programs and stuff. Unity is something I plan on using some day, but definitely not in my first game

Asgore said:
Don't use VB, it's a garbage language for games
May I ask if you are speaking from experience or from other people? I have seen some good games made using it. And as I said earlier, it's probably going to be a simple game.

Just because, the game is going to be a retake on Paper Mario battle system.

EDIT: So I think I'm going to go with VB.NET for now unless something terrible happens, lua is not a popular language, and I think learning using a real book would help me a lot (I can't buy things online), I'm going to buy a book for C# later, which should be an introduction for me to proper programming. The reason that I want to go with VB.NET is that it's significantly easier, and it captures errors on the fly. However, I might have troubles converting the normal form into a proper gaming window.

EDIT2: I managed to get a few things started with VB.NET, it requires me doing everything though, I found a good tutorial for love2d. Hopefully I can learn it.
 

Time Turner

You are filled with determination. (R/GD/TT)
If you're looking to do something complex, it probably won't be free. There are free trials for some of the bigger engines (GameMaker, Unity, Construct2, etc.) that you could try out, which will give you a feel for what they're capable of. If you're looking to make a small game, they will probably be enough. Construct2, for example, gives you full freedom, but caps you at a certain point if it gets too complicated. GameMaker, from what I've heard, is incredibly complicated if you want to do something more than a platformer, so up to you if you want to touch that one.

This has also inspired me to download Unity and try it out for myself.
 

fantanoice

I can see through time
That's not exactly true, Time Turner. You're able to make commercial games with Unity using the free version and you're not required (though you can if you want) to purchase Pro until you've made $100,000 in profit during the fiscal year

Shaggy said:
Asgore said:
Unity is extensible and has a lot of plugins, documentation and resources. It uses C#. Supports 2D games but the 3D engine is more mature (you could make a 3D game and just set the camera up to one side, ie 2.5D). Also Unity games can be exported to almost any platform including PC, console and mobile.
2.5D would be fantastic for my game, however, it would require the additional level of modeling, and it will require additional programs and stuff. Unity is something I plan on using some day, but definitely not in my first game
FWIW if you want to give modelling a go then Blender is free and a decent alternative to 3DS Max and Maya. Also iirc Max and Maya have free student licensing if you want to try those out too.

Shaggy said:
Asgore said:
Don't use VB, it's a garbage language for games
May I ask if you are speaking from experience or from other people? I have seen some good games made using it. And as I said earlier, it's probably going to be a simple game.

Just because, the game is going to be a retake on Paper Mario battle system.
If it's a simple game then I don't see what the problem is with picking up a new (better) tool for it. VB is a bad choice because it's slow, has limited libraries for graphics/physics/whatnot, only works on one platform (Windows) and encourages a lot of bad programming practices.

I usually wouldn't recommend anything high level including C# for speed reasons but Unity is a notable exception because the underlining engine is native C++ and runs well in most cases (though I have read articles about the garbage collector problems in large-scale projects but I digress). You also get the benefit of the asset store and you're learning a tool that you can make a career out of using.

If you just want to make the game and don't really care about learning anything then use VB. If you want to be a better game programmer then use something else.

Shaggy said:
EDIT: So I think I'm going to go with VB.NET for now unless something terrible happens, lua is not a popular language, and I think learning using a real book would help me a lot (I can't buy things online), I'm going to buy a book for C# later, which should be an introduction for me to proper programming. The reason that I want to go with VB.NET is that it's significantly easier, and it captures errors on the fly. However, I might have troubles converting the normal form into a proper gaming window.
FWIW our game scripting at work is done in Lua and it is very good / fast at moving data around. I would recommend it for the stuff it does well but you do run into problems when trying to calculate stuff (but that's what C++ is for).

I'm not sure what you mean by 'captures errors on the fly,' like Intellisense can do that, as can heaps of other IDE tools.


This ended up being way longer than I intended but I hope this helps you.
 

Dashbot

BREEE
well, nice, I already started lua, and made a few libraries to help me code faster in the future, love2d is amazing thus far, and I will wait until I make a few games with it and get the basic principles of game development before I check other languages and other engines. Lua is actually easier than vb, I learned it in like a day, it has amazing features for being such a lightweighted language. I'm not using any IDE because I couldn't find a good one for love2d and lua. I'm using Notepad+ which isn't bad.
 
Top