• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Lapuka

Starting my journey in game programming [need some professional opinion]

18 posts in this topic

Hello,

 

First of all I would like to introduce myself, my name is Vytautas, I'm 2nd semester computer science student, currently living in Denmark.

 

I'm straight forward person so in that case I'll ask you one question: I want to dive into game programming and overall development, how do I do that ?

 

... and now more in detail:

 

1. Currently I'm playing around with 2D/3D engine basics in JAVA. As obvious it is - I need to start somewhere, somehow, but it's not that simple as it sounds, I want to make strong foundations for my knowledge pool how does everything works, In past few weeks I did a lot of research in this field and I have to say what I found really kicked me away from JAVA, so question: Does JAVA is that bad for game programing as everyone says it is ? For example - C++ vs JAVA it's like comparing Lamborghini vs Lada or it's more like Lamborghini vs Ferrari ? The main argument to defend JAVA is minecraft, a game that has no textures or physics ? 

 

 

2. So I'm planing to make 2D game, I'll try my best to make something like Muramasa or Dust: the elysian tail , of course I'll fail and fail hard, but in the end I'll get what I want, now question is: Should I choose mainstream path and go with C++ or stick to familiar JAVA way ? It kinda depends on 1st answer though..

 

3. In my first question I separated game programming and game development, I really don't like all those reusable game engines, game makers and all stuff that make things their way for you, it's one of the most satisfying felling you can get to see your code growing from 1 line to 10'000 and finally after never ending debugging you make something from nothing, it's magic, but does this magic really effective ? Should I learn new things by re-inventing wheel ? Or maybe this already existing wheel is still square and there's wide room for improvements ? 

 

 

 

Summary: 

 

My goals are: 

       - To make 2D game similar to Muramasa or Dust (To reach next, more advanced level of programming / designing).

       - To learn as much as possible about all aspects of game programming and later on focus on more specific subject like AI for example.

       - Release my own project ? I've been developing plot for possible game/movie since I was 14 +-, now I'm 20 and still almost every day run through some aspects of this particular story in my head, all I need is to start refining it piece after piece and write it down, but for now I'm more concern about learning "mechanical" skills.

 

Well here goes my next 10-15 years plan for my carrier, of course  things may change, but I have chosen the path and I'll go there no matter what.

 

 

I have my own head and will do things that seem right to me, reason why I write this long post is to get some guidance from experienced people, I'm not looking for shortcuts, I don't need easy way, what I want is right direction.

 

Thank you in advance for constructive response.

 

0

Share this post


Link to post
Share on other sites


By yourself you won't be making a games like that.

I'd just like to point out that the other game mentioned (Dust: An Elysian Tail) was made almost entirely by 1 person.

...although it did take him almost 40 times as long as he thought originally.

 

But yeah, it's not something you'll make on your first attempt at making a game, like frob said.

2

Share this post


Link to post
Share on other sites

By yourself you won't be making a games like that. Look over the Murasama credits list, listing the names of 106 individuals plus four companies (listed only by corporate name) by my count. So you are looking at probably 150 work-years of effort.

Seriously?
-4

Share this post


Link to post
Share on other sites

Hi there,

 

I agree with the previous comments, do not expect much of your first game, and you won't be disappointed. However if you set your hopes too high, you will demotivate yourself by not making any progress. 

 

I would advise you to start with exercises games, such as "the game of life", sudoku, minesweeper. If only to train yourself to game logic and behavior. Those simple games are also ideal if you want to pick up a new language.

 

If you want to start with a 2D platformer. I would suggest you start with a Mario-like in mind. Jump, walk, run, die, collect... everything one step at a time.

 

Finally, language wise, i think it depends what you want to learn. If you want to discover how things work under the hood, then c++/OpenGL will teach you how 3D api, memory management and things like that works. Although it may makes the simplest takes much difficult. 

Or you can pick a framework/engine that suits you, with which you can quickly have stuff on the screen. You will worry more about gameplay logic, rather than technicalities. That's your call on that.

 

It wouldn't be fair if I didn't mentioned that the first step is much more difficult. You would be amazed how much needs to be done to simply render a cube in OpenGL/C++.

 

In anycase, patience is key. And that's why many small success is more motivating and will keep you going for longer than massive, unrealistic projects. 

 

Good luck :)

0

Share this post


Link to post
Share on other sites

If you want to start with a 2D platformer. I would suggest you start with a Mario-like in mind. Jump, walk, run, die, collect... everything one step at a time

Good advice

 
. . . then C++/OpenGL or . . .
You would be amazed how much needs to be done to simply render a cube in C++/OpenGL or . . .


. . . directx (though windows/microsoft only)
-1

Share this post


Link to post
Share on other sites

 
Assume a game with around 15-20 developers (combining all the programmers, artists, modelers, animators, sound engineers) for one year is 15-20 work years. Then throw in designers, producers, marketers, QA, and you're at another 50 work years, for convenience let's say 80. A localization team and their QA adds several more work years, especially if you are targeting more than EFIGS translations. Add in support staff and add another 10 or so. 
 
A small professional game can cost $10M on the bottom line just to build. A very large professional game can cost $100M to build.
 
Many of the professionally built high quality mobile games pass the million dollar mark, some exceed the ten million dollar mark.

It is extremely rare these days that a one-person game is able to reach very high quality levels and becomes a commercial success. It does happen occasionally that someone invests a great deal of effort and love into a personal project, and that project takes off and becomes successful, but the tales are exceedingly rare.  
Again, note that the sole developer, Sangwoo Hong had worked at Disney, Pixar, Square, and EA before making the game, and that he relied on Unity rather than writing his own engine. It is fun to read his web site, it took him 17 months (8 Mar 2011 to 15 Aug 2012) to build a game he says was "created in a month", so I'll let you puzzle over that. The game itself is trivial in comparison to the RPG games mentioned initially. This is what I expect a one-developer game to feel like.
 
I'm not saying one person cannot develop a game, it has certainly happened many times in the past.  Be aware that most "one-developer" programs are actually experienced professionals rather than beginners, and they usually get a lot of additional help near the end. Be aware that one programmer working alone is more likely to produce a game similar to the 1970's era with simple gameplay, simple graphics, and simple logic, such as Cubistry, rather than something like a modern era RPG.

I hope this doesn't come out wrong.
Why would it be comparable to 1970's era.
For example, you've spent a lot of time getting fans/audience (fanpage, blog, youtube, website, other sites etc.) then you spend 9 - 18 months making all the assets, 6 months creating mocap/animation and 9 - 18 months coding. That's 18 - 36 (1.5 - 3 years). You then spend an extra half a year cleaning it up and leading to a total of 2 - 3.5 years. All this in unity/unreal/leadwerks.
Won't this be more possible for a 2d game than a 3d game (and possible for a 3d game).

Is this impossible? You don't have to worry about paying the salaries of 160 people (producers, designers etc.) and feeding them, integrating their different codes into the single game, worrying about a deadline, mass marketing like Apple etc. It's only you.
What would make it so impossible that it would be comparable to a 1970's game and not 0.5% of an AAA/modern game?
-1

Share this post


Link to post
Share on other sites

I hope this doesn't come out wrong.
Why would it be comparable to 1970's era.
What would make it so impossible that it would be comparable to a 1970's game and not 0.5% of an AAA/modern game?

 
When it comes to features, the cost of a feature is all-or-nothing. What does it mean to have 0.5% of an AAA game?  Either you have a large, continuous world, or you do not. Either you have a powerful rendering system or you do not. Either you have a high performance engine or you do not. 
 
Many game demos must wait until the game is nearly ready for release because it takes that long for the technology to be developed. You might be able to have 0.5% of the world's assets, but you would still need the features to be fully developed.
 
 
 
 
One developer in a few months or years CAN create a game like Cubistry. They CAN create side scrollers. They CAN create falling blocks. They CAN create a simple space shooter, or a simple platformer. You can have games like Zork and Rogue and Akalabeth (precursor to Ultima), . The end of the 1970's was the golden age of arcade games. You got not just Space Invaders and Asteroids, but also Galaxian, Flight Simulator (the basis for so many games), Adventure, Pac-Man, Missile Command, Defender, Centipede, Rally-X, Donkey Kong (Yay, Mario!), Wizardry, Galaga, Frogger, and so many more.
 
That level of games are fun and full featured. A single developer CAN create that type of game in a reasonably short time frame.  
 
There is an enormous difference in features between that era and today. In games like Adventure, Wizardry, and Akalabeth, you certainly get the role playing aspect and can do quite a lot, but the games are laughable in comparison to the feature set of a modern RPG. In Rally-X you can race around a maze that somehow represents a city, where your blue car is chased by red cars; I suppose you could equate it to Need For Speed today, but the feature sets are radically different.
 
 
It is important, especially in For Beginners forum, to set realistic expectations for what an individual beginner can do.  It is realistic for a beginner to make a simple RPG. The games mentioned above are such targets. It is not realistic for a beginner to make a game similar to those with a five minute forty eight second credit movie found on YouTube, even though that is what they have played and want to emulate.
Certainly anyone in gamedev CAN create those games.
Take GTA V for example . . .
Wait, before i ask my other question. Are you referring to 1 beginner or 1 person (with >= 2 years of experience) when you say their game will be comparable to 1970's graphics?
-1

Share this post


Link to post
Share on other sites

Thank you for fast feed back, since I use JAVA as main language in my CS studies I believe it would be rational to keep it that way, later on of course I'll go for other languages. Now, about those fancy looking 2D games, I've been drawing manga for a while now and I want to use those skills for something more than just pretty pictures. I'm fully aware how long it takes to make full game,     don't get me wrong I'm not overestimating my capabilities to make hand-draw graphics or produce script for whole game, but I'm pretty sure that with some effort I can produce 1 level or 1 min of gameplay to contain some graphics, physics, AI, etc... anyway my main interest is mechanics behind screen.

Edited by Lapuka
1

Share this post


Link to post
Share on other sites

Java is fine.

 

As for the features, ... maybe. Keep it simple, and only write what you actually need to get the job done. That's the best way for a single person to write great code.

2

Share this post


Link to post
Share on other sites

A beginner working alone with today's tool absolutely can re-create many of the games from the late 1970's era. It will be a lot of work, it will take them some time, they will probably need to rely on modern tools and engines, but yes, an individual beginner game developer could pretty much clone any game on that list.


I am not talking about the games on the list. I'm talking about the "be aware that a programmer working alone is likely to produce a game with 1970's era with simple gameplay, graphics etc. i.e. not Muramasa" Are you referring to beginner or a single programmer with >= 2 years of experience.
0

Share this post


Link to post
Share on other sites

Something on the level of Murasama is a bit too demanding for one person to manage - especially if they doubt their ability.  The programming might not kill you, but the artistic resources certainly will!

 

To give you an example, its taken me about fourteen years to learn multiple languages, get qualifications, master 3d/2d packages, animation and drawing and its only just now that I feel confident enough to take on projects on the level of say, Myst, Lands Of Lore, Dune 2000...at a stretch the original Buldur's gate.  In other words: commerical games from the 1990s...

 

My advice is to focus on strengthening your knowledge of Java and skills in 2D image packages(GIMP or Artrage).  I also strongly recommend putting some time aside learning software development and maths up to algebra level.  Your language and maths skills you can teach yourself, but I feel its worth getting formal education in software development as you are being put to the test for completing a program that is not only complete, but also stable and maintainable.  With that vital skill, games development becomes a lot clearer and manageable.

 

For what its worth, I too am a Java programmer working on a game that I hope to release on the Android market.  It'll be on the level of Myst and Jurassic Park(Sega CD), so I feel its a reasonable goal.  And thats what you should do: work towards reasonable goals.

 

As for C++ being faster than Java...for games like Crysis then yes, you should be using C++, but otherwise Java is perfectly fine.

2

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  
Followers 0