Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 04 Aug 2012
Offline Last Active Aug 24 2016 02:41 PM

#5173649 Making 2D Images

Posted by on 14 August 2014 - 11:43 AM



There is not enough information in the post to give a focused recommendation.  You claim to have all the skills that you need:


I'm aiming to be a "lone wolf" meaning I make my games by myself, and I have all the skills to do so.


You must mean non-digital art skills, correct?


Genre of 2D game (art) that you want to explore could have a huge influence on what software you use.

#5173221 Best languages/tools for simple 3D graphics?

Posted by on 12 August 2014 - 06:02 PM

Start with console applications.  In that sense they are relevant to your goals.  Text leads to 2D objects which leads to 3D.   Trying to skip stages always results in knowledge and understanding missed, often with spaghetti coding as the result.  Trust me - you do not want to try to debug mangled coding.


After you get some console applications done, then consider a game engine or code more directly thru an API, OpenGL or Direct3D.  You can code for 2D even with a 3D development framework.


I really do not know what you are trying to achieve with your "experiment", but you need to follow some course or tutorials and expect to learn more than you thought that you would need.  If you are trying to reinvent the wheel, then don't.   All the coding for 3D has been created in libraries from many developers.  You will not likely match them in quality of coding.



Is the programming involved in 3D much more complex than 2D?


Yes - generally it is more complex.  The 3D puts even more demand for object oriented programming.  Some tutorials walk the pupil from 2D to 3D, so after you choose a language then try to find a tutorial like that.


For you to make 2D or 3D software coded from scratch will be much harder than using an existing game engine to import a 3D object and display it to screen. Game engines come with all or most of the coding libraries needed. In that case, you would choose the game engine and use the main language for it that is recommended by the developers of the game engine.  Next you would make some console applications in that language.  After that you would return to the game engine to create coding for 2D and eventually 3D rendering or rasterizing.




#5173120 Best languages/tools for simple 3D graphics?

Posted by on 12 August 2014 - 11:06 AM

Python rasterized or rendered (two different methods) to screen thru Blender would probably be the most productive.


Either Python or C# is basically newber friendly.


OpenGL or Direct3D are APIs that take time to learn in order to display 3D to screen, but if you are willing to turn your "experiment" into a dedicated hobby more long term, then you will get nice results.


There really is no quick and easy way for a beginner to make a complex coding which displays a 3D object to screen, unless you are talking extremely simple coding and object. There are some tutorials online about making console applications which are generally the simplest coding to do the job. We are not talking applications for video game consoles but console applications that use the very basic computer functions underneath to do what you want. You need to literally start much simpler than 3D and work with 2D for a while.  Start with "Hello World" console application and build on that.

#5171906 A Game Engine Question (UDK, Torque, Unity)

Posted by on 06 August 2014 - 10:44 AM

Torque 3D has a community and third party art assets that are really good.  The effects offered for Torque are dazzling like you typically see these days.  Unity and UDK also have all that but I feel that they are easier to find, acquire, and use in Torque 3D if you want pre-made stuff.  Of course you may customize what is offered.

#5171645 Game Engine and APIs

Posted by on 05 August 2014 - 09:32 AM



Think of an API as a lower level layer between the higher level languages such as is used to script a game and the machine/assembly language which you will never directly handle. An API by itself has a fraction of the coding libraries needed to make the usual video game.  APIs connect the game source code to the hardware language under it which is shipped with every computing device. Type API into Wikipedia for a good concise explanation.


A game engine is much more, including libraries to support two or more languages used to develop a game (often high and low level languages), class file libraries ( or jar files ), input device libraries, physics libraries, GUI libraries, etc.  So a game engine has potentially all the libraries in the game's main directory (of files and folders) and you manipulate those libraries and add both art and coding content by using the interfaces and editors which come with the game engine.  Added to this inside the game engine are the possibility of other specific tools for use inside and/or outside the game, such as image manipulation software or a plug-in terrain editor ( plugging into the game engine ).  


Keep in mind that sometimes only a fraction of the game engine or none of it is delivered with the game to the end-user - only enough to run and play the game. In this case the game developer uses the game engine to create stand-alone game coding from game source code. Smart phone games are at times like this, since space is limited in the phone. On the other extreme, a few games come shipped with the entire game engine so the players can also mod a game in many ways, such as PC games.  Modders are common to big title games and scream for all the tools and the source code (part of whole source code).  Also remember that some game engines are completely separate from the game source code while sometimes the game engine and the game are either partly or mostly integrated.  Each has advantages and purposes aimed at delivering the smallest footprint of the game possible in the end-user's hard drive while satisfying the desire of the player.  


Blender is the extreme in reverse.  I really don't know what to call it, since it includes a game engine and many other things either related or unrelated to game development.


An API is an interface layer between the highest and the lowest coding, whereas a game engine is a collection of libraries for many purposes and manipulates or extends 2 or more layers of coding, usually high and low levels.


The largest game development companies working on huge game titles for consoles and PCs will have a game engine source code and also a game source code generated from it  [by which they extend the coding to create consecutive versions of both the game engine and the game (Versions:   1.0, 1.1, 1.2,.........2.0, 2.1, 2.2, .......3.0, 3.1, 3.12, 3.2, etc.) ].  You can see by my post that each game dev company has a unique working philosophy in this business with all kinds of solutions to challenges.  They all draw from a field of technical standards but implement them in different and unique combinations.



EDIT:  By the way, we often see this stack of layers in game development....


Game Player/End User

Game Controllers and peripheral devices 

Game coding

Game source code

Game engine

API ( such as OpenGL )

Machine/Assembly language

Hardware such as a PC

#5171467 Java or Python

Posted by on 04 August 2014 - 01:13 PM

In general, C# is a good language, safe to say "easier" than some languages and one of the more beginner friendly compared to C++ in the long term.   Productivity is said to be good with C#. It has some limitations but all languages do.


Python is a good language for scripting a game in some development frameworks.  Java is a good all-around general language.


Really the language that you choose should typically be determined by the game engine or other type of development framework that one will be using, except that beginners should avoid C++ for the most part. The C++ is best for a second language after the coder reaches at least intermediate level in another language first. C++ allows the beginner to make sloppy coding habits too much to be a first language.  Perhaps you know enough about coding to avoid the C++ tolerance for inferior coding.


All just my humble opinions you got here, but many would agree with me.


EDITED: By the way: If you choose Java, then take a look at jMonkey engine.

#5170187 I'm A Programmer, Not An Artist

Posted by on 29 July 2014 - 04:43 PM



In my opinion you have been doing far too much jumping around the game engines.  If you would have chosen one game engine and focused on it continuously, then you would probably have several games published by now, perhaps even making some income.


Also I feel that you are at a level where you can not take solid advantage of any performance benefit of one game engine over another and probably not for years to come, so don't be concerned too much about game engine performance.


You can use place holder art which can be aquired at low cost or no cost so your game development progresses well until you either gain art skills or find a devoted artist. Some artists or art asset companies offer a few of their products at no cost until your game actually earns money by sales. There are thousands of 2D and 3D art assets which are open source license.


Here at game dev, there are a couple places to establish yourself.  The classifieds can be used to find an artist.  You can also use the Journal section to let people follow your progress, provide another place for prospects to get the information to decide if they want to join you, and demonstrate a seriousness to people about your project. If you participate in screenshot contests, a lot of people will see your progress - even with placeholder art.


Another recommended thing to do is launch your own game developer website and direct traffic there in many ways. Later when you have at least a demo game, then you can join contests or other marketing campaigns to generate more buzz about your work.  This attracts artists and all kinds of people if you let them know.


The bottom line:  Stay with this engine and really work it good for several years.

#5169843 Getting started from almost complete scratch.

Posted by on 28 July 2014 - 01:53 PM



Game developer is the person or company which is ultimately responsible for the development of a video game.  Inside that organization, which could be an indie developer, is game design.   


1) Concept

2) Design

3) Develop (Including Alpha versions called "Proof of Concept" and early Demo version.  Alpha versions are usually tested inhouse. )

4) Test - Beta versions [Includes Demo and Beta RC (release candidate) versions.  Beta versions are mostly tested outsource with some inhouse. ]

5) Publish


A) Choose a game engine

B) Select one language which is native and the primary one to that game engine since you are a beginner (Intermediate and advanced developers could select a compatible secondary language of the game engine. Many game engines have their own proprietary coding language for game scripting which is similar to another major industry standard language, but also many game engines offer use with a standard coding language.)  If you choose an industry standard language, then avoid C++ until you reach at least intermediate level in another language. Unity, for example, has its own proprietary language which that invented for the engine but it is similar (if memory serves me) to other languages that are standard in the software development industry. You also can use another language such as C# with Unity, so you have options.


Spend months working with the language of your choice, making 3-5 applications starting with "Hello World".  Examples are text/letter display application, window configuration, randomizer, indexer, search application, or any of the many other relatively simple applications that are common and provide skills that you may need in the future of game development. It would also be a good idea to make a few simple games such as Tic-Tac-Toe, Crossword Puzzle, Word Search, and so forth. This could take you months or even a year but well worth the effort.  A very good coding language course would include assignments to create and extend applications such as this.  Game engine communities sometimes have members who offer good tutorials to do just this, like on YouTube and so on.


C) Return to the game engine.   and start making games in this order:



2D games: 1-2 years

Single Player 2D games

Multiplayer 2D games  


3D games: 1-2 years

Single Player 3D games

Multiplayer 3D games


If you are doing this as a hobby for now, then getting enjoyment from it is the most important thing.  Later if you make a final decision to have a career at this, then you will need to look into forming a team and using something such as Git or Perforce or work in a cloud anyway.  Using iteration system such a Alpha, Beta, and Beta RC should come eventually too, maybe the sooner the better.


For now just learn a simple but broad base and be sure to have fun! smile.png

#5167819 defining good and suitable procedure

Posted by on 19 July 2014 - 11:53 AM


Wheel or Spider Chart


thank you 3ddreamer for your comeplete answer but i cant find something relevant to spider charts and in google i search "spider chart for videogames" but it just shows me "spider man game on charts" biggrin.png  Just Search "Spider Chart" or "Wheel Chart".  Adding more words only confuses the search engines. What you will find are only general examples, but it is for you to design your own charts when you are handling things as complex as software development (video games).  Be creative instead of searching hard for that perfect template chart.

i tried to find more specefic to make game procedure and i wanted to explain procedure simpler and i found it like below can you tell me is this the right way?:

first i have to prototype my core gameplay. and there will be no need of high quality objects, just simple models to see if just they work. and for impelemnting gameplay its better to impelement first player behavior like moving and jumping and shooting.


and after that make elements that interact most with player. like weapons to pick and enemies with their ai and animations.


after doing that impelenting game rules. for example when player wins or when player looses and after that what happens or how player respawns and like that or in multiplayer impelment deathmatch or capture the flag scenerios. and in this process all elements will be tested beside each other in every (i think agile scrum teams call it)

 sprints and gameplay will be compeleted through these sprints.



after doing this modelers can start making their models and their models will be replaced with those basic models and they start building levels step by step.

after doing that we start adding story to aour game for example which part of level have certain dialog or animation or cutsecence.


after doing that we start doing beta testing and solving bugs and giving it to diffrent people to test and give opinions for.


Concept Stage - Decide on game concept and make Software Architectural planning

Design Stage - Assemble your workflow pipeline of software and applications, fill coding flow charts on game and background functionality,  make illustrative art and charts to plan your game functionality and art assets


Use a place holder Character, Object, or Vehicle 

Make a placeholder Level, Map, or Backgroud

(Import the most important stationary art and import the most import end-user operated entity from these above two.)


These two objects should appear onscreen inside of the viewport of your game engine, IDE, SDK, a window made for the game, or directly to screen.


If you assembled your workflow pipeline correctly, then you should be able to use an IDE, SDK, or game engine to add the library for device input [INPUT] that makes your user operated object move. With whatever number of lines of coding made by you, when you move your input device then the object on the screen will move. Another library could be added for physics. With the required coding to connect the physics library to your object, then your object will be subject to physics that you have tied it.   After the collision library is added to your coding and you make coding to associate it with your moveable object, then your object will respond in the ways that you have specified in coding when it encounters a collision.  


As you added different libraries of coding (often already made by others, such as Open Source physics libraries) and follow the instructions for those libraries, then your coding will add more functionality to your game.


We are just beating around the bush with general concepts until you decide on the coding libraries to use (for example, Torque 3D).   "Simpler" that you mentioned means more general until you "get down to the nitty gritty" in deciding on specific things and doing actual work.  Until then, there is little more that I can offer in the way of advice on



What you may think is "simpler" in procedures often results in spaghetti coding that is difficult or impossible to debug.  The process that is well organized may seem complex at first but actually makes game development progress better in the long term. Organization allows communication of ideas and the prevention of many problems. "Simpler" means fly by the seat of your pants.   wink.png  

#5167816 defining good and suitable procedure

Posted by on 19 July 2014 - 11:22 AM

Procedure is designed by the game development leader with input by the team.  There is no method which is "one size fits all", but you must learn how to create the process of game development as you work, since you are beginners.  There have been many articles submitted to this website, game dev here, about all the questions that you asked.  Every developer will be somewhat different in habits with also many similarities, so don't worry about details at this point.  See the webpages on articles here at game dev and use the search box.


Alpha - inhouse iteration development and testing

All basic game functionality should be in place after the first iteration.   Once you have a basic functioning game, then that is your first Alpha version, such as Alpha 0.01 or many people use whole numbers right away like Alpha 1.0 followed by Alpha 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.10, 1.11, 1.12, etc..... Alpha 2.0 and decimal fractions again... Alpha 3.0 and decimal fractions. Each Alpha version is tested by Alpha testers, usually in your team, while you begin work on the next Alpha version - over lapping fashion.  (Note:  The "Proof of Concept" version used to show investors and publishers can often be one of these iterations of Alpha, since investor want a very early indication that your team can complete a game before the investor commits to more money for you.)


Demo version

This is made in the Alpha or Beta stage, but it is best to do it in the Beta stage for a more reliable indicator of how your development is actually progressing.  Some publishers or sponsors will want it this way for that reason.  Demo is just a taste or hint of the full featured version.   If you constructed your game coding properly, then you should be able to use hidden interfaces in the coding to turn modules ON or OFF to make this Demo. For example, your game might have 7 levels (or maps) in total, 5 characters, and 20 rankings, but you ship the Demo with only 1 of each category to demonstrate gameplay.


(Note: Demo is not to be confused with "Proof of Concept" which is even less functional just to show that you are competent enough to receive more investment to sponsor your game development into further iterations. Demo is for hooking new interest in your game, whether end-users or potential investors or a publisher.  "Proof of Concept" is for an already vested sponsor who wants proof that your team has the ability to make the game.)


Beta - partly published iteration development with inhouse and outsource testing

In the professional video game industry, the publishers and other sponsors need to have you test versions of the game inhouse and by people outside your game development organization (which can include general video gamers who are Beta testers and/or members of the actual Publishing company or investors who have their own Beta testers).  Beta versions are seldom full featured until you advance in Beta iterations to the Beta RC stage (Beta Release Candidate)for example:  Beta 6.1 RC (Release Candidate) 


Prototype version is a version before the full functional one.  "Proto" means and implies a more primitive version. Prototype is a term less used than Demo or Proof of Concept. Some indie developers combine the purposes of a Demo with the Proof of Concept version and call it the "Prototype" but I have never heard "Prototype" used as a term in advanced development circles.



#5167214 defining good and suitable procedure

Posted by on 16 July 2014 - 02:19 PM


In both iteration and waterfall, you need to build on a software architecture, designed and finalized by the development head.


how can i make a good software architecture for may game?



Since it is going to be a very simple and humble beginning, look at making charts for the game coding modules.  Sometimes people start with a so called "spider chart" or "wheel chart" which has a hub in the middle and legs or spokes in all directions.  


Wheel or Spider Chart

A game dev with fairly simple beginning like you have here should put the main menu and background interfaces connected to it which only the game dev team will be using and seeing in the middle of the chart.  At first this can be done with a pen or pencil and a sheet of paper.  Put the Main Menu in a box in the middle of the chart.  Next place interfaces which only the team will use (invisible or non-existent in the end-user game) around the main menu:   Import/Export (mainly art assets), configuration, compiler/decompiler, debugger, and so forth.   On the outside perimeter of the chart, put the basic game coding structure:   dlls (or jar files in the case of Java), each class file (for example, good guys, bad guys, AI, vehicles, map / level, objects, powers, weapons, etc.), main menu [coding] module, physics, executable file, etc. Just put a label in each box with no description in this chart. This chart will be revised several times as you learn more!


Flow Charts


Module                                     Module 

Class Files                               DLLs or Jar Files  


      Flowchart                 Flowchart


                     Main Menu                       ....(Hub or Body of the Wheel or Spider Chart)


      Flowchart                 Flowchart


Module                                     Module

Executable File                        Configuration File



The flowcharts are made next to list the coding libraries and the coding issues involved in each particular FLOW of functions.  You can see from the end-user perspective that the flow is from center main menu to the coding modules and returns with each response.  Also there will be flowcharts made to connect the modules in the third stage of software architectural planning.  Forth stage is the actual design (in detail) of the specific tools used, coding libraries, and issues anticipated.


A) Software Architecture Stage  


1)  Spider or Wheel Chart

2)  Flowcharts (Legs) from hub to modules (Feet) 

3)  Flowcharts between modules


B) Design Stage


1)  Select IDEs, SDKs, and game engine to be used

2)  Choose coding libraries to be used ( "template" coding libraries like compilers, deguggers, graphic user interfaces, plug-ins, importers, physics library, and editors, etc. )


3)  Decide on art assets to be used

4)  Make a flowchart which lists all of these in concise labels

5)  Draw art which shows visually each area of the game, such as characters, vehicles, level (map), Main Menu, Splash Screen, Score Board, etc.  You may also make scene by scene design art for stages of gameplay. This may be as simple or professional as you feel is necessary.  This is a good place to assess the art skill of your teammates and their enthusiasm for the project.


C)  Development Stage


1)  Chose roles and tasks of the team

2)  Start with creating largest art asset or most important one in the game, often the "map" or "level" and the most important coding library for beginning, often the game engine setup. Early art assets can be all placeholders as your team learns to use the development system that you have assembled while at the same time working on the real art assets.

3) Team learns how to use the IDEs, SDKs, and/or game engine by the following sequence:


a) Import the level or map and the main user operated asset (could be the main character, vehicle, weapon, etc.)

b) Make the end-user operated entity moveable, create the input method to manipulate it, and make the Main Menu buttons to start, play, and end this simple game stage.

c) Add more art assets and functions by class files in the coding modules, vetting the game play and background functionality with flowcharts

d) Test each iteration with as many players as needed.   Several people should test each iteration because often differences in people will discover any bugs or improvement to be made.  Be thorough in testing and have fun with it!  smile.png


Obviously, there will be times when steps will be skipped or swapped in order, but this will give you a basic outline. 


Be sure to keep copies of all your charts in case you need to revisit an issue and also to promote the reality that your team is organized for investors, publishers, and future reference for new teammates.

#5167061 defining good and suitable procedure

Posted by on 15 July 2014 - 06:15 PM

What you do is build a very basic broad base in each area of game struct and support coding.  With each iteration, you are supposed to extend the coding. Early iterations may use place holder art in some situations. In my opinion "waterfall" is a recipe for chaos and confusion in a team. In both iteration and waterfall, you need to build on a software architecture, designed and finalized by the development head. No plan is also a recipe for chaos and confusion, increasing probability of coding that is not reusable in the future as teammates are lost and added.


There is not enough information in O.P. to make recommendations on game coding structure and software to aid you in designing a plan.


Git and Perforce are long term recommendations and the sooner your team starts using one or both of them than the sooner you will reach project completion with a reasonable level of quality for newbies.


Often "waterfall" results in whirlpool!  Keep the early design and team structure simple, but it must have a spine or you will be slithering around the coding like an ameba.  By the way, Wikipedia has good articles and links for issues in the game development and software development topics and subtopics, which helps noobers a lot.

#5156922 Blender for making Games?

Posted by on 30 May 2014 - 03:21 AM

Blender is perfectly fine for any hobbyist who wants to use the game engine of Blender. A few Indy pros have published games made from Blender.


The tools of Blender for creating art assets of your game (based on another game engine, SDK, or IDE), are good.


The GUI still needs work in having better descriptive labels and it has some features which are too challenging to locate..



#5156663 how to find specefic platforms sdk like p34 and xone?

Posted by on 29 May 2014 - 03:25 AM

If you're an indie (with not much money), but they really like your game, they might be nice enough to give you free dev-kits and to waive the submission fees.



Contest winners get privy, but they are slowly adding the stipulations such as proof of concept, registered development company, and the contracts are getting more binding on future completed projects.   "Free" stuff comes with added out of pocket costs and relinguishing true Indy status, it would seem to me, but what do I know. unsure.png

#5156656 Language Choice

Posted by on 29 May 2014 - 02:48 AM

The object can be the bet, so you can make an algorithm which the class uses regardless of which gambler is making the bet. This can potentially save many coding lines and spare you the work in each class, even avoiding the task of having to code each gambler to place a bet.  It is possible to make the class inherit the object, in this case PlaceBet(). For C++ that's a function that you prefer, but in C# that might be best as an inheritance. http://www.dotnetperls.com/inheritance


This is a good example of how a beginner using a C++ function will slip right into spaghetti coding, whereas using the C# inheritance of the object would allow modularization and also serve to clarify the relationships. The benefit is also fewer lines of coding.