Sign in to follow this  
JackBid

Unity I want to be an indie game developer, where do I start?

Recommended Posts

I am only a teenager but I want to make indie games. I do not mean big 3D games but simple creative games like fez, super-meat boy, minecraft, world of goo stuff like that. Now obviously when I simple I understand that these games are incredibly hard to create, I mean that they have a simple concept.
Over the past few months I have experimented with a bit of java, c++ and unity, however I still don't know much about them and have confused myself slightly. Really what I want to know is:

where do I start?

what language / game engine should I use?

Any good tutorials?

Share this post


Link to post
Share on other sites
[quote name='slayemin' timestamp='1348770298' post='4984439']
Step 0: Have vision.
Step 1: Design a game or have a game idea you want to make.
Step 2: Build the game according to your game design
Step 3: Test and revise your game over and over again until it's exactly what you want
Step 4: Market and release the game to the world

Naturally, step 2 is going to be the most difficult step to do because it's going to require a bunch of skills which you may not necessarily have at the moment. That's okay. This is where you teach yourself everything you need to know, or find people who have the skills you need and you can convince them to work on the project. You'll be learning the exact skills you need and you'll be building your project at the same time, so you get two birds with one stone. You'll go through some learning pains, you'll experience frustration, moments of glee and excitement, your project may succeed or fail, but if you stick with it, you'll learn a ton along the way, gain valuable experience, and possibly a marketable product to sell.

Bottom line: just do it.
An "Indie developer" is just a title which you can take upon yourself. It means nothing, really. What matters is what you create.

As for languages & platforms, I recommend Unity3D with C#, or C# with XNA.

As for producing your game, you're going to need programming, art, music and sound, and possibly writing.

The best advice I can give you is to [i]keep your game simple enough for a single person and beginner to complete.[/i] A polished and completed yet simple game is infinitely more valuable than a complex but incomplete, unpolished game. Keep your features/requirements few! Think along the lines of old atari games, like "Pacman", "Breakout", "Tetris", "centipede", etc. and add your own small twist to the design. Then once you start, punch yourself in the face every time you think about wanting to add a new feature (its a project management thing, not a crutch on creativity).
[/quote]

Thanks this is really helpful, I have been watching some c++ tutorials lately, is this a bad idea? So far I understand everything.

Share this post


Link to post
Share on other sites
Remember no idea is a bad idea, but the complexity of even the simplest ideas can confuse you; so be sure to make good use of planning.

When planning make sure if you have an idea don't just say okay that's one idea. Break it down and figure out all the parts to it; this will keep you from overwhelming yourself and making sure you are thinking one step at a time.

ie:
-Sample idea for lets say character creation
-main character
-hair design
-clothing
-voice
etc..

This will keep you on task. You can even set deadlines for yourself, but don't make them to close together; give yourself time! remember fez took 5 years with 2 people. Even the greatest simplicity can be very overwhelming.

just a quick tip for you.

Share this post


Link to post
Share on other sites
[quote]Thanks this is really helpful, I have been watching some c++ tutorials lately, is this a bad idea? So far I understand everything.[/quote]
Lot's of people will tell you C++ is not for beginners but it's in fact just fine. Since you already know JAVA you should breeze right through it anyway.

I recommend if the game is 3d that you use C++ & OpenGL & Bullet Physics
If the game is 2d then C++ & SDL

SDL is a library that does pretty much everything, control input, image loading, audio output, 2d graphics and more. It makes your code really portable because you need to make absolutely no OS specific calls.

I recommend you start with a platformer, that will teach you how a game works then you can move on to 3d if you so choose.

Share this post


Link to post
Share on other sites
My suggestion, start saving for school.
If you're serious, nothing beats a good education. I would suggest FullSail, expensive but worth it.

These are student projects a group of 4 to 9 students make in 3 months:
[url="http://gameproject.fullsail.com/gpgames/"]http://gameproject.f...il.com/gpgames/[/url]

To get a better idea of what goes into the design, download and look trough the docs. There are also some code samples in there. Edited by uglybdavis

Share this post


Link to post
Share on other sites
[quote name='JackBid' timestamp='1348770691' post='4984441']
[quote name='slayemin' timestamp='1348770298' post='4984439']
...
[/quote]

Thanks this is really helpful, I have been watching some c++ tutorials lately, is this a bad idea? So far I understand everything.
[/quote]
No, that's excellent. Treat the C++ tutorials as a teacher giving a lecture, then assign yourself homework to test your understanding of the tutorial content. However, don't forget that the point of following all of these tutorials is to learn how to build a game so that you'll build a game. There's a danger that you'll spend all of your time learning how to do things but won't ever actually build anything (a case of [url="http://en.wikipedia.org/wiki/Analysis_paralysis"]analysis paralysis[/url]). So, my advice is to start building stuff and when you run into a gap in your knowledge, [i]then[/i] seek tutorials/references to fill that void :)
Start simple with a "Hello World" type program (get stuff on the screen!).
Then, look into what it takes to get multiple "Hello World" on the screen (like, 1000).
Then, try to put a graphical image onto the screen (may take some R&D)
Then, try to move that graphical image around on the screen (may take some R&D)
Then, try to move that graphical image around based on user input.
If you can do all this, you already have the necessary skills to build Pong.

Pong is an excellent game to start with. It's design is simple, the game is complete, and its attainable for newbies. You can focus on the structure of your game code and building a complete game framework. It's also a great introduction into concepts like AI, input, managing game states, graphics, game play, etc.

Share this post


Link to post
Share on other sites
In my opinion, if you want to make simple 2D games you can use C++ & SDL as suggested before.
I started learning java in college and when i came to C++ it just felt natural. If you comprehend what vectors are, object oriented programming, Cartesian plane, cicles, if...else, you might actually already have what you need to start developing games. If you want to take this C++SDL route i recomend you this page [url="http://www.lazyfoo.net/SDL_tutorials/index.php"]Lazy[/url][url="http://lazyfoo.net/SDL_tutorials/index.php"]Foo[/url], very simple and very complete tutorials. Also check this youtube channel [url="http://www.youtube.com/playlist?list=PL949B30C9A609DEE8"]thecplusplusguy[/url], again well explained and complete tutorials that takes you from starting your proyect to making a sidescroller game like Super Mario and more, the only thing about this channel is that this guy have a little "difficult" accent.

I hope this helps you, good luck. Edited by Xirion

Share this post


Link to post
Share on other sites
[quote name='SimonForsman' timestamp='1348814946' post='4984635']
Allthough modern C++ does allow you to use it like a very high level language aswell (Which is reasonably easy), Just because the language allows you to mess around at a lower level doesn't mean you have to do it.
[/quote]

I'm not quite sure what you mean by "modern C++", but unless you have a GC system working behind the scenes, I'm pretty sure that you would still have to manage memory on your own. Right?

[quote name='SimonForsman' timestamp='1348814946' post='4984635']
in my opinion the biggest problem with C++ for beginners is the quality of tutorials online (most of them are crap and will push beginners towards low level features of the language far too early or worse, teach them the unsafe C way of doing things before or instead of the safer C++ equivalents) and the unnecessarily obnoxious build model. (a very large number of beginner problems with C++ are related to the Linker, not the language)
[/quote]

Well, you have to know both (safe and unsafe) to make the distinction, and to see the benefits of one over the other. So, I think it's something that has to be covered, but not necessarily in a C++ tutorial; A good C tutorial should be used as a prerequisite.

[quote name='SimonForsman' timestamp='1348814946' post='4984635']
If someone wants to start by learning a low level language they should imo start with assembly on a less complex platform than the modern PC and not worry too much about making games, If the goal is to learn how to make games then a high level language is the better option.
[/quote]

Absolutely! Upvote for you.

Share this post


Link to post
Share on other sites
Teenager to teenager, I first started with a dream. A dream of an awesome game. That dream turned into a lot of writing - maybe about 100 pages of stuff about our game. Whilst designing, I picked up on Lua. After some coding of a basic engine, I though "Hey, this is way too slow for our expectations." So I ditched that engine, and went on to learning C++ as my first language. After reading a book in a month or so, I dove right in. I never thought once to start with something simple. For the past 2+ years I have been re-writing and writing new code from the first int main() I wrote.

I wouldn't say go brutal force on it, but definitely have a passion and enough effort. My friend wants to code with me, but lacks both.

Share this post


Link to post
Share on other sites
[quote name='Goran Milovanovic' timestamp='1348867351' post='4984867']
[quote name='SimonForsman' timestamp='1348814946' post='4984635']
Allthough modern C++ does allow you to use it like a very high level language aswell (Which is reasonably easy), Just because the language allows you to mess around at a lower level doesn't mean you have to do it.
[/quote]

I'm not quite sure what you mean by "modern C++", but unless you have a GC system working behind the scenes, I'm pretty sure that you would still have to manage memory on your own. Right?
[/quote]
It depends on what you mean by "manage memory", with smart pointers and RAII memory and resources get deallocated when the object/smartpointer holding them goes out of scope so memory management then only really includes allocating memory (Which you have to do in C# and Java aswell).

Share this post


Link to post
Share on other sites
[quote name='JackBid' timestamp='1348764849' post='4984403']
Any good tutorials?
[/quote]

The one thing that tutorials can't give you is feedback - so post code on here at gamedev.net. There are tons of smart developers on here who will give you feedback.
There is also a "For Beginners" section on this site, check it out.

Share this post


Link to post
Share on other sites
The only issue I have with online tutorials is that, as a beginner, you have no real way of discerning whether the information is correct or if you're being taught bad habits. That's not to say that there aren't great online resources out there, rather it would do you no harm to have a good quality, formal text book at hand and work through both in tandem.

Share this post


Link to post
Share on other sites
If you are into 2D then my advice is to use lua-based [url="https://love2d.org/"]LÖVE[/url] framework, it's just awesome for a rapid game prototyping. Lua is a simple language, so it would be easy to take a quick grasp of it. And there are many good open-source game projects written in Love2D. It's also cross-platform so you can release your games for Windows, Linux and Mac easily.

Share this post


Link to post
Share on other sites
[quote name='slmgc' timestamp='1349200471' post='4986118']
If you are into 2D then my advice is to use lua-based [url="https://love2d.org/"]LÖVE[/url] framework, it's just awesome for a rapid game prototyping. Lua is a simple language, so it would be easy to take a quick grasp of it. And there are many good open-source game projects written in Love2D. It's also cross-platform so you can release your games for Windows, Linux and Mac easily.
[/quote]I also recommend LOVE, its far easier to work with, than any other engine out there(besides maybe Game Maker).

Share this post


Link to post
Share on other sites

I just want to say ALL of this information has been really helpful to me, and looking back to my original post I actually feel kinda nostalgic about this whole post.

 

Just to let you know, I experimented around a bit and am currently working on my first html5 game (although it is very basic)! Once again, thanks for all of your input, I can not wait to fully enter the world of game development.

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
      628396
    • Total Posts
      2982438
  • Similar Content

    • By toadvine
      I'd like to start building a 2D game, very small, just pixel art. I know python/javascript/tiny bit of HTML and I've started learning C++. I'm a long way from starting officially, I've just been making mini-projects to practice & drawing up concept art/gameplay storyboards. I'm just wondering if I'm off with the C++ for the game's programming, or if I should know certain things before starting.
      The game would be very small, I just want to get started trying out some actual work before college.
      Some other info: I'm working by myself on this, and going into game design/programming next year for college. I'm a high school student with a few years of experience just working by myself making small projects, drawing up stuff, so I really don't know much and I'd appreciate any tips.
      Thanks a bunch!
    • By Daerst

      SWARMED is a Zombie-themed RPG / RTS currently in development using Unity 3D. We love Dwarf Fortress (though we have no illusions that SWARMED will reach the same level of complexity), roguelikes, old-school point & click RPGs and real-time strategy games. We aim to cross genre-borders here and there and give some twists to the old Martinis every gamer has been drinking since the 1980s, metaphorically.
      Single player, 3D graphics and adjustable top-down camera - old-school RPG / RTS feeling Take control of a core group of survivors after the outbreak Encounter Zombies that are a real threat, no machine-gun massacre. Don't get swarmed! Build a safe zone anywhere with a highly flexible build system: campsite, lighthouse, school, or fence a whole village Grant asylum to other survivors that you meet and make them a part of your community Achieve sustainability in your safe zone and go on supply runs with your survivors
      Development
      The core team of recently founded indie studio Three Eyed Games currently consists of one writer, two artists and two programmers, based in Germany. We are in our mid-20s with professional experience in developing interactive 3D applications with Unity.
      SWARMED will feature both a 'free-play mode' and a campaign with mid-sized maps that leads the player through a story while explaining the gameplay and introducing him / her to the survivors: a core group a few 'hero' characters the player starts with (each one a detailed character with backstory, hopes and dreams), and more 'heroes' (total not more than 20, probably less) that the player can meet on the journey. In addition, randomly generated NPCs (less detailed and not directly controllable, similar to the way Dwarf Fortress handles its dwarves) can join your safe zone – if you let them.
      We plan to release a few 'Origin' prototypes that showcase individual gameplay systems and meanwhile give a gentle introduction to the characters you will meet in the game. Origin I, showcasing the build system and many fundamental elements like character controls and interactions, is finished and will be released soon. Next up, we're working on the dialog system to be presented in Origin II. Get in touch and we will provide more details and a playable version.
      We want you!
      We seriously think you should join the fun! We are looking for:
      Level Designers / Environment Artists, preferably with experience in Unity and procedural asset creation. Design and build maps with interesting visuals and proper pacing. 3D Artists. Our shacks, items and the dead guys' faces could use some plastic surgery. Can you do that? Writers. We have a bunch of characters to detail and a story to write ahead of us. Game Designers. We have a rough game design sketched out that needs improvement and completion. We need a balanced combat system, trees for constructions, workshops and character skills etc. PR & Community Managers, preferably with web development experience. We want to build a community around the game, and we need you to plan and manage this (with the help of the rest of the team, of course). 2D Artists / UX Designers, preferably with Unity UI experience. Our menus still look pretty dull, and we don't like that. We also need concept art for characters and iconic game moments to define their look and feel. Coders. If you know your way around Unity and C#, there are lots of challenging things to be done. You will work closely together with the two programmers already on the team to get going quickly. Please drop me a message or contact info@three-eyed-games.com
    • By sveta_itseez3D
      itSeez3D, a leading developer of mobile 3d scanning software, announced today a new SDK for its automatic 3D avatar generation technology, Avatar SDK for Unity. The Avatar SDK for Unity is a robust plug-n-play toolset which enables developers and creatives to integrate realistic user-generated 3D avatars into their Unity-based applications. SDK users can allow players to create their own avatars in the application or integrate the SDK into their own production processes for character design and animation.
      “Virtual avatars have recently become increasingly popular, especially in sports games and social VR apps. With the advance of VR and AR, the demand to get humans into the digital world is only increasing”, said Victor Erukhimov, itSeez3D CEO. “Our new Avatar SDK for Unity makes it super-easy to bring the avatar technology into any Unity-based game or VR/AR experience. With the Avatar SDK for Unity now every developer can bring face scanning technology into their games and allow players to create their own personalized in-game avatars, making the gameplay much more exciting and immersive.”
      Key features of the Avatar SDK for Unity:
      Automatic generation of a color 3D face model from a single selfie photo in 5-10 seconds (!). Works best with selfies, but can be used with any portrait photo.
      Shape and texture of the head model are unique for each person, synthesized with a deep learning algorithm crafted by computer vision experts
      Head models support runtime blendshape facial animations (45 different expressions)
      Generated 3D heads include eyes, mouth, and teeth
      Algorithms synthesize 3D meshes in mid-poly resolution, ~12k vertices, and ~24k triangles
      Six predefined hairstyles with hair-recoloring feature (many more available on request)
      Avatar generation API can be used in design-time and in run-time, which means you can allow users to create their own avatars in your game
      Cloud version is cross-platform, and offline version currently works on PCs with 64-bit Windows (support for more platforms is coming soon)
      Well-documented samples showcasing the functionality.
       
      Availability
      The Avatar SDK for Unity is offered in two modes - “Cloud” and “Offline”. The “Cloud” version is available at http://avatarsdk.com/ and the “Offline” version is available by request at support@itseez3d.com.
      ###
      About itSeez3D
      At itSeez3D, we are working on the computer vision technology that turns mobile devices into powerful 3D scanners. itSeez3D has developed the world's first mobile 3D scanning application that allows to create high-resolution photorealistic 3D models of people's' faces, bodies and objects. The application is available for iOS and Windows OS mobile devices powered with 3D cameras. In 2016 the company introduced Avatar SDK that creates a realistic 3D model of a face from a single selfie photo. To learn more about itSeez3D scanning software and 3D avatar creation technology, please visit www.itseez3d.com and www.avatarsdk.com.

      View full story
    • By sveta_itseez3D
      itSeez3D, a leading developer of mobile 3d scanning software, announced today a new SDK for its automatic 3D avatar generation technology, Avatar SDK for Unity. The Avatar SDK for Unity is a robust plug-n-play toolset which enables developers and creatives to integrate realistic user-generated 3D avatars into their Unity-based applications. SDK users can allow players to create their own avatars in the application or integrate the SDK into their own production processes for character design and animation.
      “Virtual avatars have recently become increasingly popular, especially in sports games and social VR apps. With the advance of VR and AR, the demand to get humans into the digital world is only increasing”, said Victor Erukhimov, itSeez3D CEO. “Our new Avatar SDK for Unity makes it super-easy to bring the avatar technology into any Unity-based game or VR/AR experience. With the Avatar SDK for Unity now every developer can bring face scanning technology into their games and allow players to create their own personalized in-game avatars, making the gameplay much more exciting and immersive.”
      Key features of the Avatar SDK for Unity:
      Automatic generation of a color 3D face model from a single selfie photo in 5-10 seconds (!). Works best with selfies, but can be used with any portrait photo.
      Shape and texture of the head model are unique for each person, synthesized with a deep learning algorithm crafted by computer vision experts
      Head models support runtime blendshape facial animations (45 different expressions)
      Generated 3D heads include eyes, mouth, and teeth
      Algorithms synthesize 3D meshes in mid-poly resolution, ~12k vertices, and ~24k triangles
      Six predefined hairstyles with hair-recoloring feature (many more available on request)
      Avatar generation API can be used in design-time and in run-time, which means you can allow users to create their own avatars in your game
      Cloud version is cross-platform, and offline version currently works on PCs with 64-bit Windows (support for more platforms is coming soon)
      Well-documented samples showcasing the functionality.
       
      Availability
      The Avatar SDK for Unity is offered in two modes - “Cloud” and “Offline”. The “Cloud” version is available at http://avatarsdk.com/ and the “Offline” version is available by request at support@itseez3d.com.
      ###
      About itSeez3D
      At itSeez3D, we are working on the computer vision technology that turns mobile devices into powerful 3D scanners. itSeez3D has developed the world's first mobile 3D scanning application that allows to create high-resolution photorealistic 3D models of people's' faces, bodies and objects. The application is available for iOS and Windows OS mobile devices powered with 3D cameras. In 2016 the company introduced Avatar SDK that creates a realistic 3D model of a face from a single selfie photo. To learn more about itSeez3D scanning software and 3D avatar creation technology, please visit www.itseez3d.com and www.avatarsdk.com.
    • By Canislupus54
      I'm looking for programmers for an rpg I want to make. If you're wondering what "semi-turn based" means, it means that you take turns, but instead of a rigid back and forth like Pokemon, a timer determines when you can act, a sort of modernization of the classic Final Fantasy Active Time Battle system. Right now, I'm looking for programmers to create a prototype of both the combat system and the movement outside of combat. Preferably for Unity C#. Concept artists, particularly for characters, and writers to help me flesh out the character and story aspects, would also be helpful.
      Here's a concept doc to fully explain things: https://docs.google.com/document/d/1ObDMAUWsndSAJ1EpQGRDxtR8Xl9xPotx89OZ0sgRaIw/edit?usp=sharing
      If you can fill another role and are interested, feel free to let me know as well.
      At the moment, this is purely a hobby project, with no payment planned. If we produce something we feel we can release, then of course we'll work out something for compensation. But, again, don't join this project counting on payment.
      If you're interested, contact me on here, or at jordestoj@yahoo.com . Thanks.
  • Popular Now