Hello. I want to make a game, as the title states. I also have absolutely no experience whatsoever. I have a pretty good idea of what I want to make (a top down rougelike zombie survival game with procedurally generated worlds and a heavy focus on skills and items. My question is, where would I start?
I want to make a game with zero experience whatsoever.
You should probably read the forum FAQs, pick any programming language or game making software and start with some small game (like pong, snake or tetris) to learn the very basics of this world.
Crealysm game & engine development: http://www.crealysm.com
Looking for a passionate, disciplined and structured producer? PM me
I agree with Avalander, and I'd also add that you're going to need to learn coding. It may seem a bit daunting, but you you'll have to keep working at it. There's a lot of great starting points these days, and it really depends on what you're ultimate goal is. Start small and work your way up.
I'd recommend to start learning a game engine. There's a lot of great ones out there like Unity, or Unreal, which are free. There's all sorts of great resources, but I'd recommend getting a textbook and learning from that for your coding.
Start with small, doable goals that you can accomplish given your skill level. Before you know it, you'll be making great stuff.
Best of luck!
No one expects the Spanish Inquisition!
First step is to start learning how to program. There's many languages you could learn, but that might be a better topic for a separate thread... and I'm sure if you search you'll probably find dozens with people asking just that, and many good answers.
While you're learning that you could also teach yourself some related topics like 3d modelling (there's several good free modeling programs).
Once you're somewhat competent with the language, you can grab a game engine and start playing around with that to learn the basics of how a game engine and editor work, and what parts constitute game objects, levels, etc. For example, if you're learning C# you could start using the Unity engine. With some basic C# skills you could set up a basic game and script behaviors in no time.
Start with getting rid of the "zero expierience" way way WAY before you think about the game you WANT to create.
While it doesn't sound like the most out there ideas newbies think they are ready to tackle (that was MMORPGs in years past, and open world 3D action games rivalling GTA V nowadays), you will bang your head against a wall for a long time if you try to tackle 3D game development, procedural level generation and all the things you have currently in mind at the same time.
The save route is to learn coding, and start with simple 2D games, moving from small project to small project to learn the ropes, before then trying to move to a 3D game engine and trying to learn how to use an existing engine to speed up your development process (replace with 2D engine if you are not interested in 3D).
Also, be prepared for the mere shock of all the skills that go into game development. Coding is just one of many skills you either need to master, find someone to take over the tasks that go into it, or need to fill in with stock assets you need to aquire from somewhere.
If you plan to do everything on your own you need coding skills, art skills, you need to be able to create your own music and soundeffects, and then you need to learn how to use an engine, do level and game design, and many other fringe skills that are more important than you think (marketing and business skills will be needed way before you are even planning to sell a game).
So really, depending on how high your expectations for your game are, you are embarking on a multi year journey that will cost you a lot of your own time on learning skills, developing the game, finding workforce and assets to work with, and might cost you considerable money should you wish to speed up the process with outside help or stock assets.
If that is a problem or not depends on you and your patience. Also, again, set your expectations low enough and you might be able to achieve them in months, not years. Just be aware that we are talking about quite simple 2D games now. The skills involved in game development are many, and are highly advanced/specialized... everyone is able to learn them, but there is no "learning to program in 21 hours" shortcut. That is a myth.
Also one thing to keep in mind is this: most successfull Indie games I know of have been developed by industry veterans, people who worked as game developers in bigger studios before starting their Indie careers. There ARE exceptions, outstanding Indie games developed by newcomers to game development, but either they invested a lot of time into their development, OR they already brought some skills into it from their earlier career.
Point in case: Ghost of a tale. This charming Indie game has been developed by a game industry newcomer, but one with decades of expierience as a 3D animator in the movie industry. It seems the guy wasn't shy about learning to code, but I guess he had some prior expierience in that too, and obvisouly a ton of contacts in the entertainment industry he could aks about help or draw upon as freelancers.
And the "final" game (still in early access and being developed) clearly shows the developer picked a project that would play to his strengths: A visually stunning game, especially when it comes to animation, with effective, but simple gameplay clearly not needing a ton of code, and most probably easy to optimize as there is never that much on screen (which again helps to highlight the visual quality of what IS on screen).
So you have a guy that didn't start with 0 skills, had some money to invest, and picked a project that would suit his situation best. Still took him 4 years to get where he is now, with a game released to steam early access.
Clearly you should aim way, way lower for your first game and not expect to be done in a month, unless you aim at pong or zork level of graphics, and concentrate on learning programming first.
In terms of language, well C++ will do what you want and give you a good base to build bigger games in the future.
As an IDE, Microsoft Visual Studio is great, free, and supports many languages.
Rouge games are a pretty common starting point so a quick google search should turn up many tutorials and give you a hand with basic game logic. This is one example using C#: https://roguesharp.wordpress.com/
My advice would be don't overcomplicate your first app and watch out for feature creep. Keep it simple and your development time short, finishing an app is a great feeling! Good luck!