Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 04 Aug 2012
Offline Last Active Yesterday, 12:00 PM

#5091181 What type of Language that i should learn, for a real new beginner?

Posted by 3Ddreamer on 02 September 2013 - 08:16 PM



Here is my view for the absolute newbie to programming:


1) Choose a language with auto-memory management as standard, which in my opinion is wise for a first time beginner, since you should only be practicing high level coding for a while.


2)  Pick one of the more common languages because they have up to date support and plenty of information or help is available for them. Examples are Java, Python, Lua, C#, Pearl, Ruby, and Visual Basic.


3) If your long term goals are to use a game engine, then select one now and begin to learn the native language for it over the next several months or more before you even touch the game engine.  One way of choosing a game engine is to look at the games made with engines and compare with your own goals, for example searching for Torque 3D Game in the YouTube search box. Another good way is to go to the community forums about the game engines and see what is submitted there for review.


Most game engines have the added advantages of a large community knowledge base and excellent direct support.


List of Game Engines




4)  Before you make any games, learn the basics of your language of choice by following tutorials or courses on making simple console type applications (not to be confused with console games).  Some examples of these types of programs are:  Simple Data Base, Letter Display Application, Auto-update Index, Simple File Handling Interface,  Alphabetical Indexer, and so forth.  The list of simple applications is enormous, so do a little research on what to make.  Don't just copy the tutorials but understand each line of coding before moving to the next. About 3 to 5 of these should be enough to get you started.


5) Create a few simple games next, such as crossword puzzle, Tic-Tac-Toe, Question and Answer Game.    These can be made as console applications, but some game engines have a good 2D potential which could be used to make these.


6) After several months or more, then focus on making simple 2D games with the game engine.


7)  An alternative to the game engine is to learn to make vector graphics 2D games which target a specific Runtime Environment.  This allows you to avoid OpenGL and Direct3D APIs for a year or two in order to build a solid foundation in coding and not develop bad habits as readily.  Some game developers really enjoy the vector programming and can even sometimes earn a living doing this, so don't underestimate the value of this.  Some popular games have been console types.


8)  The 3D game development genre would be next after 1-2 years with the above foundational knowledge.



Last couple pieces of advice are to choose rewarding and self-feeding paths of learning which let you see tangible results on a regular basis and also keep things within your abilities.




#5089383 Opinion on My Artwork?

Posted by 3Ddreamer on 26 August 2013 - 10:27 PM



Scouting Ninja was right with the advice and nothing more needs to be said about the model itself.


Looking at the broad picture of things, look into what is in demand in the game development industry.  Basic building materials such as this are common.  If you want to join the same segment of the market, the you must release huge numbers of these small models and the models should be distinguished from the competition in some way (quality, value, or price) in order to make significant money.


If you want to earn more money than is possible with small, low poly models, then you need to diversify your types of art. 


Basic business strategy is to do market research into exactly what is in demand and meet it or you may create demand by making things that are new and innovative.


Ultimately you would earn the most money in 3D modeling (potentially) by creating your own games which use the models that you make.   Second most earning power is by creating complex models such as vehicles or fully equipped characters. for example.  Small models can earn money with huge volume of them and business savvy such as having your own website and drawing traffic there.     


Have fun!



#5089379 New to game development questions

Posted by 3Ddreamer on 26 August 2013 - 10:10 PM



It is safe to say that the larger the game development project then the greater the odds that they use a game engine.  Likewise, the larger the game development and/or the game engine development, then the greater the demand for a team to finish it well.  


On the other hand, since you expect to stay at hobby status indefinitely, go ahead and have fun in exploring high and low level coding in the way that you expressed. smile.png

Diving into class libraries would be an efficient way of organizing your games and avoiding some of the "spaghetti" coding which tends to cause heart-attacks in debugging. I also would recommend OpenGL Version 3.1, but just my opinion.  For sure, you don't want to go any lower than OpenGL 2.1, as far as I can see.



#5080408 Is OpenGL or Java Great for Real Time Object Shadows?

Posted by 3Ddreamer on 25 July 2013 - 05:03 AM

I hear or read both Java and OpenGL getting criticized for a performance hit in using them (together or exclusively) for real time shadows.  Is this justified?




#5080390 Is OpenGL or Java Great for Real Time Object Shadows?

Posted by 3Ddreamer on 25 July 2013 - 04:04 AM




I want to incite a debate, which is why I started this thread here.


So, does Java or OpenGL get a "bad rap" in the real time rendering of shadows or is this not right, especially in regard to any performance hit imagined by the coders who try real time, nice shadow rendering while using them?


I am suspicious and believe that there surely must be a way to render real time shadows with excellent performance using Java and/or OpenGL coding. What is the strategy to get that great performance of shadows?





#5080379 Why companies still use C++ and what should I learn then

Posted by 3Ddreamer on 25 July 2013 - 03:27 AM

One of the main reasons why many companies use C++ is because when the language was in early publication versions it was actually quite useful and gained a lot of attention.  Those massive numbers of students eventually got deep into the industry, so we are seeing the maturing of that C++ subculture.  That same maturing of both the language and the students into careers happened to Java and is going to happen to C# (already is to a large extent).


The C++ and supporting libraries, like several major languages, are very powerful and will be used for years to come. 


Keep in mind that every language has strong points and other weaker aspects which may be better satisfied in another language, which is why we actually see several other languages commonly used alongside C++ in the game development industry.  For example, C++ is very favored for multi-threading and managed memory coding of areas of the game which are fairly constant, such as handling object loading, terrain issues like cloud to mountain clip hint to be more specific.  In areas of the game which stop and start as the player makes decisions ingame, then an auto-memory management language implementation is often best, such as using Lua for scripting events by "triggers" as the main character does the role play thru the game scene.  Another way of looking at it is when smooth implementation and render to screen is critical, then C++ shines bright with things like weather and terrain, but it may be much faster game development to use another language such as Lua, Python, Java, or C# for areas of the game where smooth rendering of the object on screen or other gameplay feature can afford to have a slight delay, such as a group of zombies suddenly rounding the corners of buildings when the character reaches a certain location.  (Don't misunderstand, because all of these languages may be coded for very fast performance, but many people find Lua, Python, Java, or C# much faster to develop when used for not-performance-critical areas where these languages are typically quicker in development from start to beta.)



#5080370 Generating Volumetric Terrain

Posted by 3Ddreamer on 25 July 2013 - 03:06 AM

This will definitely give you something good to chew, even with print resources, too:



Right here at gamedev is very useful information:


(If you read it closely, then you will discover a procedural strategy which might save you many hours or research on your own and with trial and error.)


More tons of information:



This book (the updated third edition) has some very good procedural theory for terrain in a couple sections of the publication: (YES! ... to answer your question.)


(Notice the publications under the subtitle: "Customers Who Bought This Item Also Bought"   ...)


Remember that procedural generation (typically) does not include collision which is a big challenge to model with this type of terrain.


Mr. Search will help you take it from here.  wink.png





#5080194 Generating Volumetric Terrain

Posted by 3Ddreamer on 24 July 2013 - 12:40 PM

3Ddreamer, telling me to go back to school isn't very helpful... I'd say that's not what most Indie developers do to learn something new.


Actually what I recommended is that you get a book dedicated to noise algorithms and theory specializing in terrain generation.  happy.png




#5078945 Unity vs XNA

Posted by 3Ddreamer on 19 July 2013 - 10:04 AM

To make a typical AAA quality popular game or game engine takes years even with a team, starting from scratch to end-user, so nobody should feel bad about abandoning the game engine jungle.  

#5075059 Sharring your games

Posted by 3Ddreamer on 03 July 2013 - 10:32 AM




At some point, you can use this software after you have an executable already made to start your game.  It allows you to pack your whole application - game in this case - into one executable.  No need to install your game in the client computer because merely opening the executable will run the game from almost any folder or file in the client, including the Desktop. It allows the user to make a shortcut to Desktop if wanted.  If the end-user (your friend in this case) wants to drag and drop the package to another location, then it will run from there immediately after opening the package executable. Getting it to your friend is as simple as an email attachment or other means of delivering it to the client, then they can place the package containing your game anywhere they want by dragging it to the desired folder/file and opening it at any time to run the game. (Note: Once the shortcut is made from it, moving the package might break the shortcut, but the end-user can quickly make another shortcut to Desktop or somewhere else. If the shortcut is dragged to another place, then it may or may not work.  I have had both cases happen.)





Note:  The end-user may need the compatible runtime within the same O.S. framework as you developed the game.  (Windows Operating System version does not matter for over 95% of situations here, but the .NET Framework version does matter.) For example, if you developed the game using a computer and development environment with .NET Framework 4.0 then the end-user needs .NET Framework 4.0 or higher for all your coding to function as you intended it.  It might not run completely or even start if the framework is not compatible, though this seldom happens. Your friend may search in the Windows folder to see if he/she has the same or higher number framework.  There are some programs available for the end-user to know if they have a compatible framework and if not it will install the one needed. As an alternative, the end-user could make sure to go to the company website, download the latest framework, and have the download installer install it.  Most people should have what is needed if they run updates for Windows, so have your friend receive the packaged game and try to run it from where they want to store it . Only after it ran in your computer but not his/her, then that person would handle the framework compatibility issue.


What framework was the basis for your game development?  Your end-user needs that or higher number framework.


Once you get your game to have an executable to start it, then sharing it is relatively easy in most cases.

#5074925 Advices for a student completely new to game dev

Posted by 3Ddreamer on 02 July 2013 - 09:00 PM

I am totally convinced that most people new to game development should choose a game engine which fits their genre goal for games and their preferences, but some with no art abilities might want to consider an SDK instead like SharpDX, for example.  After a game engine is selected, then focus on learning the main language of the engine and since you have programming experience in other languages, too, pick one for things like GUI creation and gameplay functions. You may need to learn a couple new languages for a certain development environment.


Now, that being said, there is a huge market for browser and/or hand-held mobile device games.  Java programming coming soon for you and much of the experience of yours is very good for that area to get started.


Here is a list of game engines:



There are many game engines, rendering engines, SDKs, and coding libraries not on the above list, but this will give you something in your search.


I suggest that you go to the Android main gaming community website and related sites to read about what game engines or SDKs that they use.



Another similar topic here at gamedev...   http://www.gamedev.net/topic/632323-android-game-development-where-should-i-start/

Android Developers site:  http://developer.android.com/index.html


So, start with the main sources of information and research from there. 


Have fun! smile.png

#5069022 Having trouble putting all aspects of game dev together

Posted by 3Ddreamer on 11 June 2013 - 10:06 PM



Much of what you seek is satisfied by using a memory managed language. You need to learn classes, executables, and version (source) control.  Much of the other questions which you ask varies considerably in many ways from game to game and from game engine to game engine.  Choosing a comprehensive game engine like Torque 3D for example would clarify a lot of things.  If you don't want a game engine but want to program games more directly in a computer then you either need to target a runtime environment directly or exploit a graphics API - Direct3D or OpenGL.  Look at SharpDX as an example.


List of game engines:

http://en.wikipedia.org/wiki/List_of_game_engines  (There are many more game engines and graphics engine out there but these are most of the popular and well developed ones).


Typically a game has classes for most or all of everything.  GUI, physics, objects such as characters, vehicles, and land environment (usually called simply "Map") may each have their own classes. Each of these classes could be a major folder in the main directory of your game or be an executable application instead there. The startup and setup executables, like the names imply, are typically responsible for setup and configurations of the game - Setup.exe for example - or starting the game which makes the clock start, GUI appear, scene graph begin running and then all objects and game functionality loaded into the scene - gamename.exe for example or start.exe sometimes.  When everything is ready then the player may use the GUI to do tasks and start to play.  Most game engines have kinds of templates in all these major areas already in place which usually require knowledge in the programming language to customize functionality or build on what exists in there.  If you do not have a game engine or at least some libraries in these areas then you must create all of this and much more yourself.   Almost everybody new to game development needs to make games that are so simple that they do not have any executable files.  An exception would be the programmer who has made executables in the language though not game related.


Low level programming is mostly far beyond the ability of an inexperienced programmer so it is very important to start very simple.   You really need to make some console type games such as Tic-Tac-Toe, crossword puzzle, Trivia Pursuit, Scrabble, and so forth. I'd say my standard 3 to 5 of these.  Also, non-game applications such as simple database, letter display application, simple encoder, index with scroll, easy GUI, image loader, file loader, text box display, and so on will give you coding experience - all of which will be used eventually in game development.  


By the way, we always need to know what is the language that you are using if you are going to ask these kinds of questions. smile.png

#5068471 3ds max extended "customized" "primitives"

Posted by 3Ddreamer on 09 June 2013 - 02:04 PM



There is way to do this in Max and it is too clumsy and time consuming to me, so I use Wings 3D to merge many things, including scenes, but sometimes the basic info is merged and things like shaders added later.  Blender can merge scenes but I have never used it for that. It is so important to get as much of the geometry done as possible - preferably all - before even working with a UV map and/or textures, materials, and shaders among other things.


Blender, 3DS Max, and Wings 3D are all used by me based on workflow pipeline needs.  I even on occasion use Deep Exploration, Milkshake 3D, or plug-ins for 3D programs such as Panda and Collada.  You will eventually be forced to expand to other programs, too, so the sooner you get accustomed to several programs the better for you.  This strategy will open your creativity and innovation to amounts achievable only this way.



#5066797 Designers, tell me what is this difference I'm feeling...

Posted by 3Ddreamer on 01 June 2013 - 08:11 PM




Yes!  You are not hallucinating!


People are making changes to the feel of game functions all the time.   Different artists and tech people, new or revised game engine, and the need to handle game function afresh with each new release all have an effect.  Similarities do exist from the same libraries occasionally being used by different game developers.  There is a tendency for creative teams to emulate the game feel of other popular games.  Sometimes a better character game function will actually disappoint the gamers only because they are used to the feel, function, and configuration of other games. 


There is variety and few things are static in game development for very long, so game function is fluid, too, to some extent. The exact same issues have been discussed by people many times.  It is good for a game developer or game designer to be sensitive to this area of gameplay.

#5066296 Starting C#

Posted by 3Ddreamer on 30 May 2013 - 09:06 PM



In my opinion, an experienced programmer such as you should not detour but focus on target of making simple games soon!  Visual Studio Express is the way to go for your first few games.  Start with DirectX API in the .NET Framework and make your first "Hello World" using C# with this to get familiar with it.  There are plenty of tutorials on how to do this. Next find tuturials on making simple games with the DirectX API and scripting in C#.  Example are crossword puzzle, tic-tac-toe, and quiz question games. After 3 to 5 of these then you will be ready for a game development framework...


Next look at SharpDX, MonoGame, Mono/MonoDevelop, and XNA. 


Keep working at it and have fun!