Sign in to follow this  
alyssa

Unity Getting started with game programming!

Recommended Posts

Hey, I’m sure this question gets asked a bunch, but I checked and didn’t see it in the forums. I have been interested in learning to develop “flash games” and get them online, but I don’t really know where to start. I’ve started learning C++ only because I worked with that when I was younger.

I’ve seen people mention unity, adobe/macromedia flash, and java, but I just can’t get a definite answer. If I just wanted to put up the simplest game, what programs would I need to do it? I can learn the languages as I go, but I don’t know what to use to actually write the code it. At this point, ANY help would be appreciated.

Thanks!
 

Share this post


Link to post
Share on other sites

If by flash games you mean Adobe Flash, forget about it. Unity3d allows to develop games for web, and so do most of modern engines. In the long term will be more profitable to learn a decent engine than get involved witha dying technology.

Share this post


Link to post
Share on other sites

flash games ... learning C++ ...  unity, adobe/macromedia flash, and java, but I just can’t get a definite answer.

 

If I just wanted to put up the simplest game, what programs would I need to do it? I can learn the languages as I go, but I don’t know what to use to actually write the code it. At this point, ANY help would be appreciated.
 

 

You can use whatever you want. Those who play the games don't usually care about how they were made.

 

About the tools you mention:

 

  • Flash. This was once a popular tool for making games on the Web.  It has fallen out of favor for many reasons.  It isn't dead yet, and it likely won't be completely dead for another decade or so.  But if you are looking to the future, this probably isn't it.
  • C++. Major studios use C++ for console and PC games because the language has many strengths for systems-level work. For major games, usually the core of the game engine is implemented in C++, other languages are used for game scripting, controlling game objects, and simulation work.  While the language is quite powerful, it is a terrible choice for a beginner. C++ assumes the programmer always knows what they are doing, and that the programmer is always right; beginners rarely know what they are doing, and are very often wrong about their implementations. When you do eventually decide to learn C++ you will need to know that the language does not provide direct support for most game-related functionality. Graphics, audio, networking, input devices, and high performance disk operations go through libraries that interface with C++.
  • Java. Java is the officially preferred language for Android devices. It also runs okay on desktop computers, can be fairly portable, and has built in graphics, audio, networking, and other systems. Unfortunately for beginners the design of the language is focused more on small business applications, transactions, and tiny chunks of processing work, so it can be difficult to get high performance. For hobby games and personal learning it is great. It is a fine choice for a beginning language.
  • HTML5 + Javascript (not mentioned in your post). Javascript -- which really isn't related to Java in any way except for the first four letters of its name -- is the current popular language of the Internet. You can do quite a lot with these two combined, but because every browser has their own implementation details and quirks, trying to get a program to run here is often a matter of building for one browser, then fixing the things that are broken in the second browser, then fixing what you broke in the first browser, then fixing it for a third browser and double-checking the first two, then adding another browser, and another.   Every programmer should eventually pick these languages up eventually because they are ubiquitous. It works as a first language, but beware that learning can be quite painful.
  • C# (not mentioned in your post). Works good in Windows with Microsoft's implementation, and with mono it works on most other systems, so it is quite portable. I love this language for quick prototypes and testing out ideas. It has some of the same problems Java has with larger systems and the language's design choices not quite matching what games need, but still a good choice for small hobby projects and personal learning. I recommend it as a first choice.
  • Python (not mentioned in your post). Another good learning language, tools like PyGame can help you build games rapidly.  Inside the professional world python is frequently used for quick scripts and automation tools. Some people recommend it as a first choice, I think it is a good early choice for a second or third language if not your first.

 

  • Unity.  This isn't a language.  Unity is a game engine where you can write your own scripts that get compiled and run by the engine.  Unity supports three different languages for development: C#, a variant of Javascript, and a variant of Python. Most people who use Unity these days tend to use C#.  Over the past few years they have added 2D support, so you can build 2D and 3D games relatively easy. (They are still a lot of work, easy is relative.) If you want to make games without years of experience, this is a great tool. Many people have built professional quality games with the tool with just a few weeks of effort. It also targets a wide range of systems, including PC, Mac, Linux, and phones/tablets.  Free for most hobby games.
  • Unreal Engine (not mentioned in your post). Another popular engine used for many commercial games. It primarily uses C++ for scripts you write, and it also has another system called Blueprints. You can do quite a lot with the built-in functionality, and is often compared against Unity. Both are very powerful, capable engines that are used in major games. Unreal has a longer history of the two. Also free for most hobby games.
  • GameMaker Studio (not mentioned in your post). Another popular game engine, it uses its own language. It can help you build 2D games quickly.
  • Game Salad (not mentioned in your post). Another popular game engine, using its own language. It can also help with 2D games.

 

There is no wrong answer, except not to do anything.  Pick something.  My current recommendation (that changes every few years) is to learn C# as a language and learn Unity as the game engine. Both have strong community support and are widely used, both have shallow learning curves.

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  

  • Announcements

  • Forum Statistics

    • Total Topics
      628330
    • Total Posts
      2982112
  • Similar Content

    • By abarnes
      Hello!
      I am a game development student in my second year of a three year program and I would like to start building my portfolio. I was thinking of creating some games to show what I can do to potential employers since I wont have any work related experience when I graduate. But as I'm sure you all know there are tons of ways to approach developing/designing a game and I'm curious if anyone had any insight as to any "standards" that come with this? Is it okay to use game engines like Unity, Unreal, Game Maker etc? Or would it be better to make a game from scratch to better show case your skills? Any and all advice will be greatly appreciated!
    • By Hilster
      Hello 2D Artists,
      I've started making a 2D Puzzle Adventure game for mobile and I'm looking for someone who would want in on creating assets for the game. The core of the programming is pretty much complete, you can walk within the grid laid out and push boxes, when there is an object on top of a pressure pad it will activate the linked objects or if there is one object with multiple linked pressure pads it requires you to activate all points for the object to become active. 

      The level iteration for the game is quick and simple, a Photoshop file that is made of individual pixels that represents objects is put into the game and it creates the level out of those pixels with the assigned objects.
      The objects that need sprites created so far is the character, box, pressure pad, door, trap door, the walls, the stairs and the tiled background.
      I intend to add more objects so the amount I'd like to add will be extended.
      My motivations for posting here is to have something that looks nice to be able to display on my portfolio, so if you're looking for a working game that you can place your art into and improve the look of your portfolio then we're in business.
      Please reply with a few past examples of your art below and I'll be in touch!
    • By thefollower
      Hi
      I have set up my TcpClient to connect to my server and that works fine. But i am a bit confused how i read messages from the network stream with it continuously running via async, without ever closing the connection ?
      My TcpClient Manager class has:
       
      public async Task<bool> Connect(string address, int port) { try { await _tcpClient.ConnectAsync(address, port); IsConnected = true; return true; } catch(Exception e) { Debug.Log(e); return false; } } public async Task<int> Read(byte[] readBuffer) { if (!IsConnected) return -1; using (var networkStream = _tcpClient.GetStream()) { try { var bytesRead = await networkStream.ReadAsync(readBuffer, 0, readBuffer.Length); return bytesRead; } catch (Exception e) { Debug.Log(e); IsConnected = false; return -1; } } }  
      So i thought to just run a co-routine and call Read constantly to get the most recent message, but that doesn't make much sense to me since a co-routine would be blocked with the await. How is this actually done? The MS Docs don't have very good Async examples with the TcpClient class so i don't know fully get how to keep calling Read correctly.
    • By NUITGaming
      Landscaping back ground maid in Unreal 4.18
  • Popular Now