Jump to content

  • Log In with Google      Sign In   
  • Create Account


3Ddreamer

Member Since 04 Aug 2012
Offline Last Active Jul 19 2014 12:07 PM
-----

#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.




#5154589 need artistic view on lightening and texture

Posted by 3Ddreamer on 19 May 2014 - 02:54 AM


for example for a long time lightmaps are being used in video games but still there are a lot of problems in them and how you should deal with them or in udk for sunlight we use one dominant light but it never gives you a good refelction and efect in for example windows and objects or in the place that there is no light source how to set lights that it be good looking but still it be natural that there is no light and a lot of these kinf o question that i dont remember now. i think there are some techniques that it doesnt depend on proggram or engine we work. i read an article from mark iwanaki graphic proggramer of naughty dog on the last of us that had explained those techniques in that game very well but i dont think it was the all thing. can anyone introduce me some good book or article resorces or that is just something can be achieved with exprience? thank you for helping

 

Once you get that detailed then the exact implementation techniques become particular to your own workflow pipeline. For example, there are a variety of lighting implementation techniques and combinations of them across game engines. 

 

That said, look for "local lighting" or similar terms for the software in your pipeline.  Lighting can be control directly in the game engine software, by 3D modeling programs, or the most common way by both of these. For example, in 3ds Max a light can be custom created for a game if the game engine being targeted will import such lighting models.  Blender can do this, too.

 

Once you get highly detailed with these pipeline issues, then you need to do more research by asking questions from the online forum communities which use the software, tools, and techniques that you are. Of course you can find some of that here and hopefully a UDK user will read this and help.




#5153674 What comes first, artwork or code?

Posted by 3Ddreamer on 14 May 2014 - 05:44 PM

In the development of many AAA popular game titles, the artists went to work first in creating concept art, sometimes in illustrated scene by scene fashion.  If it is done very well, then some of those artworks can be used for attracting more investors and for advertising the game once it is done. The more experienced the game development organization, then generally the more feasible it becomes to have a choice in whether to commit to some art assets first or to begin coding.  Both could begin literally on the same day, as well. A highly skilled single person Indy developer could likely start with a 3D model or start with assembling some game source code libraries with a bit of coding.

 

If the first 3D model is exported from the 3D software in one of the standard model file formats according what the game engine will use, then this likely is no problem. One could begin to create a game that is very art asset driven from the start. To get a "map" or "level"  rendered by the game engine would be an early priority so all art and coding can build in relation to it. 

 

However, if already existing code libraries are to be used, then it could be preferable to tie these libraries together as a game framework upon which art assets would later be imported. Next, further coding would be needed to make game functionality and gameplay features. It is not unusual for placeholder art to be used until all fundamental game source code is ready.

 

Some game development companies have been blasted by gamers for using almost the same game engine, game functionality, and similar game concept in consecutive releases from the company. Here is a case where a company feels desperate for improved development cost to sales ratio.  In this case perhaps all the basic coding is done and used as placeholder while the company puts new art assets in to the framework and will later add coding as needed.

 

In my opinion, most beginners to game development should start with coding first and add art assets later.  An exception might be the highly skilled 3D artists who needs to build on a level that he or she has made.

 

My conclusion is that what is made first (art or coding) depends on factors such as personal preference, skill set, available existing framework, and business pressures.






PARTNERS