Jump to content

  • Log In with Google      Sign In   
  • Create Account

3Ddreamer

Member Since 04 Aug 2012
Offline Last Active Dec 24 2014 03:22 AM

#5170187 I'm A Programmer, Not An Artist

Posted by 3Ddreamer on 29 July 2014 - 04:43 PM

Hi,

 

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 3Ddreamer on 28 July 2014 - 01:53 PM

Hi,

 

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 3Ddreamer 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

"procedures".

 

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 3Ddreamer 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 3Ddreamer 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 3Ddreamer 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 3Ddreamer 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 3Ddreamer 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 3Ddreamer 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.




#5156653 Staying motivated while learning? [Advice needed]

Posted by 3Ddreamer on 29 May 2014 - 02:29 AM

Hello,

 


As a result this is making me feel bad, because when I see others out there who seem to have grasped the knowledge, it makes me feel like I'm stupid, and if I'm not grasping the logic now, how am I supposed to grasp it in the future?  There are very successful game development or software development industry leaders today who struggled in early stages, some worse than you are. Coding is generally a major challenge for anybody to make progress. You are far from alone!

I've jumped from language to language. That is at least half of the cause of your frustrations right there.  You need to stay with one language until you reach at least intermediate level before adding another one.  From C# to Java, and although I'm beginning to feel more comfortable with Java, there is still elements that trigger me to procrastinate, and I just can't seem to understand some things. You need a step by step and stage by stage study course in Java.  Since you like Java, then stay with it until you reach intermediate level in months, a year, or more.  While learning programming as a beginner, (I only know HTML & CSS) did anyone else experience a hard time while learning? Everybody has had a hard time learning at this. Coding is not natural to humans.  We are doing things which we as a species have only begun in recent generations.  Is this actually a bad thing, or is it good to have a hard experience while learning? Climbing that mountain one step at a time results in it being a good thing once you reach the peak (complete projects). Any advice would be much appreciated. Set hourly and daily goals that are reasonable. Reward yourself for reaching daily goals by thinking about the wonderful things that you have accomplished and will achieve soon. 

 

You need focus, hard work, completing goals, and welcome the challenges as the cost of making progress.

 

smile.png 




#5156414 Making a Game: Which Card to Use?

Posted by 3Ddreamer on 27 May 2014 - 09:52 PM

Hi,

 

If you are a beginner or intermediate game developer, then I feel that the least expensive one would be very adequate.  In my opinion, game development doesn't start demanding highest performance until the developer reaches higher skill and development needs. I personally have two lower performing PCs which combined are still cheaper than 1 top performing one.  While one PC is crunching a task, I work with the other one. If you can save enough money with the lower priced one, you might want to consider taking the savings toward getting a cheap laptop PC for doing coding while your high performance one is crunching numbers.




#5156401 Language Choice

Posted by 3Ddreamer on 27 May 2014 - 09:07 PM

Hi, Trevor

smile.png

 

Some examples of coding languages which are fairly beginner friendly are C#, Python, Ruby, Lua, Java, and high level languages native to game engines (created for a specific game engine). You want to grab a language that is commonly used as a high level language and preferably an auto garbage collection one (meaning automatic memory management).

 

Since you are a raw beginner, stay the [ #*>@%# !!!] away from C++ until you gain at least intermediate level in your first language.  The C++ allows some very bad coding habits from beginners which likely would cause a lot of confusion and frustration later. The C++ is generally tolerant of inferior and inefficient coding.  In the hands of a knowledgeable coder, C++ is very powerful and adaptable. In a beginner's hands it would be like throwing a flight student into a jet fighter on his or her first flights. Do not let anybody convince you otherwise.

 

Choose a game engine which suits your genre of game that you want to make long term. I recommend one with a large online forum community and satellite websites with add-ons and art assets affiliated with it, like Torque3D for instance.  Next, pick either the native language of that game engine or one that is well supported for it (Not C++ !!), such as C# for Unity or Python for Blender Game Engine or Java for jMonkey, etc., as examples.  You should code for about 1-2 years before dipping into low level programming in my humble opinion. 

 

Next use that language that you chose for the game engine that you want and make some non-game applications like "Hello, World!", letter display application, simple indexer, simple sorter, etc., while studying an organized book course or online tutorial for that language. After a couple months, then begin making console application games such as Tic-Tac-Toe, Crossword Puzzle, Word Search, and so forth. Once you have about 8-12 of these applications done, then you are ready for a game engine.

 

With a game engine, the beginner should make 2-3 single person 2D games like a Maze, Space Invaders, Defender, Asteroids, Pac Man, etc.  Next make 2-3 multiplayer 2D games such as Pong, Tank, Orb Eater (for two players), and so forth.  After several of these single person and multiplayer 2D games developed by you in your game engine, then you are ready for single person 3D game development and lastly multiplayer 3D games.

 

Now, if you follow this plan that I outline here, it should take you about 1-3 years, depending on how much time you have available. The benefits are that you will develop good coding habits which will save you thousands of hours of coding compared to the amount of actual project done in coming years. Bad coding habits are the opposite, making you fritter the years with little gain.  Within 1 year you should be programming fundamental class files, jar or dlls, coding interfaces, GUIs, configuration files (.ini or xml or other) and be able to swap executable files with each new iteration of your games. That is about the time that you should have basic version control system which you start to use to manage and document versions of your games. Coding in these modular methods will save you thousands of hours in debugging and allowing you to reuse some coding for future projects or versions of a particular game.

 

So, for now choose a game engine and select a high level language for it, learning in preparation for making games:

 

List of Game Engines

http://en.wikipedia.org/wiki/List_of_game_engines

 

Set reasonable goals and work almost everyday at this.  Above all, make sure to reward yourself with visible progress as you enjoy this.  It is hard work but you can stay motivated by rewarding yourself in reaching nice milestones.

 

Work hard and have fun! biggrin.png




#5155971 Good game design software?

Posted by 3Ddreamer on 25 May 2014 - 11:32 PM

Hi,

 

"Design" is design!  Development is development!  The two really should not mean the same thing.

 

The way it typically goes is:

1) Concept Stage

2) Design Stage

3) Development Stage

4) Testing and Deployment Stages:  Alpha and then Beta

5) Publication / Distribution

 

In the Design Stage, often game developers start with rough pen or pencil sketches of the gameplay and label the game functionality if needed.  Another design technique is the use of flowcharts for game functionality and game coding structure.

 

The design art can be used later for advertising the game once it is done, if the design art is suitable. Design art can sometimes be illustrated scene by scene to represent the gameplay. Once a game development company gains success, the need for game design art for conveying the game concept to investors, game development leadership, and eventual marketing campaigns ( such as by a publisher like Ubisoft ) will become obvious.

 

You need to grasp the industry standard jargon and realize that genre of video games and even individual company culture shapes the needs of design.

 

There are many software for design and which ones to use depend on your skillset, the needs of the game development, and your personal  preference.  All of this will take time and effort for you to realize for yourself.

 

I use paper and pencil or pen, GIMP, Inkscape, and LibreOffice for my game designing at the present time. Hopefully things are clearer for you now. smile.png




#5155967 Newbie Here

Posted by 3Ddreamer on 25 May 2014 - 11:13 PM

Hi,

 

 

In your case, choose a game engine and select a language for it that you will be using.  Next, take several months to learn the coding language in a course or online tutorial, make several non-game applications, build 3-5  of the 2D console application type games such as Tic-Tac-Toe, Crossword Puzzle, Word Search, Pong, Defender, Asteroids, Pac Man, or any of the many legacy 2D single player games and progress to multiplayer in the last couple.

 

Next you would make 2D game in the game engine of choice. Eventually in about 1-2 years you could be ready for 3D game development. 

 

If you skip steps and stages, then bad coding habits will be common and you will miss many important things that you need to learn.

 

List of Game Engines

http://en.wikipedia.org/wiki/List_of_game_engines

 

That is a partial list of the many game engines out there.

 

Return here to gamedev for help as you progress. Read my below signature. Research should be a permanent part of your work.




#5155645 Should I make a simple game in Unity before moving on to big stuff?

Posted by 3Ddreamer on 24 May 2014 - 07:28 AM

Unity IS big stuff!   LOL

 

Use Unity 2D first.  Make a few single player 2D games. Next make a couple multiplayer games. Learn how to deploy this on different hardware. The 3D stages would be after you have made 3-5 of the 2D games.

 

Make sure to create several non-game applications before you start to develop games.  I recommend completing some kind of book or online course, too.






PARTNERS