Jump to content

  • Log In with Google      Sign In   
  • Create Account

Article Inspiration

  • You cannot reply to this topic
122 replies to this topic

#21 Norman Barrows   Crossbones+   -  Reputation: 2310

Like
0Likes
Like

Posted 04 March 2013 - 10:15 PM

start at the beginning:

 

1. determining what to build. obviously  this will depend on team size, skills, budget, time frame, etc. a guidelines or suggestions section, perhaps.

 

2. tool selection. choosing the right tools for the job. again, guideline and suggestions.

 

then maybe something on the basic "game" algo:

 

while ! quitgame

      get_input

      draw_everything

      move_everything

 

and then maybe the basic differences between "real time" and turn based games.

 

Like OO, start with your base common stuff and fan out from there


Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

 

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

 

 


Sponsor:

#22 Alpha_ProgDes   Crossbones+   -  Reputation: 4692

Like
0Likes
Like

Posted 04 March 2013 - 10:39 PM

Out of curiosity, how are you handling articles about the same subject but with different languages/libraries? For example, a Tetris tutorial in C and Java. Or SDL and XNA?


Beginner in Game Development? Read here.
 
Super Mario Bros clone tutorial written in XNA 4.0 [MonoGame, ANX, and MonoXNA] by Scott Haley
 
If you have found any of the posts helpful, please show your appreciation by clicking the up arrow on those posts Posted Image
 
Spoiler

#23 Michael Tanczos   Senior Staff   -  Reputation: 5451

Like
0Likes
Like

Posted 04 March 2013 - 10:59 PM

Out of curiosity, how are you handling articles about the same subject but with different languages/libraries? For example, a Tetris tutorial in C and Java. Or SDL and XNA?

 

Titles and tagging are going to be extremely important.   Some articles are language agnostic in terms of describing an algorithm but may provide code samples in a specific language for the implementation.   An ideal scenario would be to create a new article version based off the existing article that includes code samples for a particular language. 



#24 frob   Moderators   -  Reputation: 22732

Like
0Likes
Like

Posted 05 March 2013 - 01:12 AM

Since many of the aspiring developers are pre-collegiate individuals, we could reasonably include a comprehensive computer science degree program.

 

I'd recommend we also get permission from the Game Programming Gem authors and include bits from those.  They are useful.

 

 

Going through the list of CS topics that would be useful to many of the beginner and intermediate game developers:

 

* Fundamentals

** Fundamental data types and composite objects.  Why we need both.

** DIY vs Libraries.  Why libraries are usually better, and why you still need to know what is inside.

** Data structures

*** Arrays and linked lists.

*** Stacks and queues.

*** Trees and heaps and sets and maps.

** Algorithms

*** Classification

*** Basics of complexity.  Understanding Big-O. Learning what is fast, what is slow, and what is impossible.

*** Divide and conquer, recursion, tree traversal, 

** Hardware

*** Basics of all hardware: the system bus; relative time between the CPU, cache, ram, and storage; cpu instructions; cycles; etc.

*** What we HAD twenty years ago (aka: what many books teach) and what we HAVE today.

**** Basics of modern hardware architecture, including long pipelines, multi-instruction decoding, out-of-order cores, speculative execution, etc.

**** Optimizations that used to make sense decades ago, but no longer do, and why.

 

Basic CS topics:

* Slightly more advanced data structures than above

** Graphs: cyclic and acyclic, directed and nondirectional

** Trees and their relationship to graphs

** Using 1D structures to represent kD spatial areas

** Connectivity, weighted graphs, network flows, 

* Slightly more advanced algorithms than above

** Assorted sorting routines, from bubble sort to quicksort, radix sort, mergesort, and shell sort, and why sometimes it is best to use an atypical sorting routine

** Searching routines: sequential, binary search, binary search trees, indirect binary searches, trees, balanced trees, 

** String processing

** Pattern matching and regular expressions

** Graph searching, depth-first and breadth first, both recursive and nonrecursive.

*** Range searching

*** Geometric algorithms

**** Closest point

**** Geometric intersections (point/triangle, point/sphere, ray/sphere, ray/tri, tri/tri, tri/sphere, etc)

**** Finding a convex hull.

**** kD searching and spatial grids

* State machines.  

** State machines.

** Reinforcements of just how important state machines are in game development.

*** State machines in managing game state

*** State machines in managing object lifetime

*** State machines in game-style AI  (and the difference between machine learning and game AI)

*** State machines in animations

* Producer/Consumer models

** Applications of producer/consumer models

*** Logging systems

*** Message bus/ global event systems

*** Local event systems

*** Hooks into scripting systems

*** Hooks into animation systems

*** Hooks into asynchronous systems

*** Hooks into OS systems

*** Hooks into existing libraries

* Serialization and IO

** How to searialize and deserialize data

*** Applications of serialization in save games and persistance

*** Applications of serialization in interprocess communication

*** Applications of serialization in local multiplayer games.

*** Applications of serialization in networked games.

* Mathematics for computer programmers

** (Basically two years of post-secondary mathematics tutorials.)

* Physics for computer programmers

** (Lots of stuff under Physics, from vector and matrix classes through the uses of eigenvectors and eigenvalues.  Probably a full 4-year college degree...)

* Using asynchronous calls from the OS and other libraries

* Using scripting libraries

** Why scripting languages are useful

** Incorporating scripting engines into your game

 

More advanced CS topics:

* Compiler theory

* Operating systems

* Formal languages

* Parallel processing

** Theory of parallel processing

** Basic parallel systems like master/workers and trivially parallel problems, parallel search

** More advanced parallel algorithms; parallel sort, parallel communication, load balancing

* Dynamic programming

 

Other topics:

* Design patterns and antipatterns

* Refactoring

* Debugging

* Profiling

* Optimizing

* Automated Build systems

* Tools development

* Tools pipeline

* Grab-bag of useful techniques, such as auto-reloading of resources, in-game tuning, live patching of a running process, and much more.

 

That's enough for this half-hour typing session.

 

Basically we could have the contents for a full CS degree (or at least a game development trade degree) along with 2-year degrees in mathematics and physics, and we'd still be missing many important items both useful and required to build solid games.


Check out my book, Game Development with Unity, aimed at beginners who want to build fun games fast.

Also check out my personal website at bryanwagstaff.com, where I write about assorted stuff.


#25 rancineb   Members   -  Reputation: 359

Like
0Likes
Like

Posted 05 March 2013 - 09:54 AM

A topic discussing various game engines and tools to make games on various platforms would be important.  It would be good to have a list of the more common tools used to make games with descriptions, reviews, and common usage to help new game programmers select what tools to learn for what they intend on building.



#26 noatom   Members   -  Reputation: 785

Like
0Likes
Like

Posted 05 March 2013 - 10:16 AM

Make a simple demo for a platformer and make a simple level editor for it too,that would be very good.



#27 Norman Barrows   Crossbones+   -  Reputation: 2310

Like
0Likes
Like

Posted 05 March 2013 - 10:24 AM

You do realize you're talking about creating the Gaminomicon. But then this site is probably the logical place for it.


Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

 

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

 

 


#28 noatom   Members   -  Reputation: 785

Like
0Likes
Like

Posted 05 March 2013 - 10:34 AM

This is a great ideea,however I'm wondering if it's possible for you to complete it.I mean look at all the subjects!



#29 ysg   Members   -  Reputation: 192

Like
0Likes
Like

Posted 05 March 2013 - 10:38 AM

For me personally, it's always been the creative process.  How would one come up

with an idea for a game?  And not just another WWII FPS, but something that's

based on past creations, but with a twist that people will like.



#30 Michael Tanczos   Senior Staff   -  Reputation: 5451

Like
1Likes
Like

Posted 05 March 2013 - 10:45 AM

This is a great ideea,however I'm wondering if it's possible for you to complete it.I mean look at all the subjects!

 

This list so far is the tip of the iceberg.. and I'd like to see it expanded to thousands of topics.   If you look at the list as a whole it will be huge, but when you narrow down on a more focused part of the list it should be easy for an author to find something to write about.



#31 frob   Moderators   -  Reputation: 22732

Like
1Likes
Like

Posted 05 March 2013 - 11:27 AM

I'm curious what you are envisioning as an ideal end result.

 


Are you imagining something like Wikipedia for games?  

Or a comprehensive suite of Game Programming Gems online books and tutorials?  

Or a supplement/replacement for the trade schools like FullSail, organized as course material?

Or a combination of the above?

Or something else entirely?

 

To help with the early game, it would help to know the end game.


Check out my book, Game Development with Unity, aimed at beginners who want to build fun games fast.

Also check out my personal website at bryanwagstaff.com, where I write about assorted stuff.


#32 Stormynature   Crossbones+   -  Reputation: 3416

Like
1Likes
Like

Posted 05 March 2013 - 12:05 PM

This is a great ideea,however I'm wondering if it's possible for you to complete it.I mean look at all the subjects!

 

My personal reply to this point would be:

 

How does an ant eat an elephant?   One bite at a time.



#33 noatom   Members   -  Reputation: 785

Like
0Likes
Like

Posted 05 March 2013 - 12:07 PM

@Stormynature,that was a good one.Anyway,can't wait for this to start happening.

 

How about a tutorial on creating surround sound ingames?


Edited by noatom, 05 March 2013 - 12:17 PM.


#34 Stormynature   Crossbones+   -  Reputation: 3416

Like
0Likes
Like

Posted 05 March 2013 - 12:17 PM

@Stormynature,that was a good one.Anyway,can't wait for this to start happening.

 

Don't just wait -- pick an aspect that you know or that you know that you can research and regurgitate back to the site as an article and thus effectively take an ownership in reducing the load by one small bite smile.png. This entire project is going to be one where many hands working hard and smart will turn this website into the only place that gamedevs will want to go because the answers are all here.

 

edit:

 

communication and project management tools for use in game design - am thinking from the perspective of teams spread geographically.


Edited by Stormynature, 05 March 2013 - 12:48 PM.


#35 noatom   Members   -  Reputation: 785

Like
0Likes
Like

Posted 05 March 2013 - 12:56 PM

A general list of books every programmer should read.Starting the basics of c++,to the advanced side,then going to apis like direct3d,opengl.



#36 Michael Tanczos   Senior Staff   -  Reputation: 5451

Like
3Likes
Like

Posted 05 March 2013 - 04:11 PM

I'm curious what you are envisioning as an ideal end result.

 


Are you imagining something like Wikipedia for games?  

Or a comprehensive suite of Game Programming Gems online books and tutorials?  

Or a supplement/replacement for the trade schools like FullSail, organized as course material?

Or a combination of the above?

Or something else entirely?

 

To help with the early game, it would help to know the end game.

 

This is a great question actually since I didn't talk much about the end result.

 

The end result is a community effort for game development that can match the same type of effort that Codeproject.com has for Applications/.NET stuff.   They have a huge community over there that constantly is creating great tutorials that pop up all the time if you do related google searches.   For the game development community everything is so fragmented across various blogs and there aren't many large independent sites out there..   No offense to gama but they are backed by a huge publishing company and they have profit motives behind everything.

 

While it's a huge effort there is a ton of value in motivating game developers to give back.   We should all have the ability to take an article someone publishes here and not only vet it but comment on it and share additional ideas.   We should also know without a doubt that we're not getting ourselves into legal hot water if we use the published code in commercial applications.

 

Wikipedia is great for giving some background information on various algorithms, but they don't cover some of the topics in the way programmers might like.   I want to see theory along side of implementation details.   Our community needs to be a huge part of the process of being an author.

 

For me as a teacher I want to see series of incremental tutorials I can put together that will allow my students to become better programmers and game developers.

 

I'll write more on this subject later, but these are some initial thoughts.   The challenge here is in shifting the way our community thinks about writing and sharing.  


Edited by Michael Tanczos, 06 March 2013 - 07:37 AM.


#37 Servant of the Lord   Crossbones+   -  Reputation: 21022

Like
1Likes
Like

Posted 05 March 2013 - 05:19 PM

While it's a huge effort there is a ton of value in motivating game developers to give back.   We should all have the ability to take an article someone publishes here and not only vet it but comment on it and share additional ideas.

What about editing? Can members of the community edit the articles, improving their wording, grammar, and code snippets to improve overall quality? Adding additional screenshots to visually demonstrate each step?

Even if one person writes the article, and has his name on the article, the article needs to be brushed up and improved by peers, especially and things change overtime.

We should also know without a doubt that we're not getting ourselves into legal hot water if we use the published code in commercial applications.

Will you have a standard code license available? (Preferably something like MIT, Boost License, or public domain)
It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time.
All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.
Of Stranger Flames - [indie turn-based rpg set in a para-historical French colony] | Indie RPG development journal

[Fly with me on Twitter] [Google+] [My broken website]

[Need web hosting? I personally like A Small Orange]


#38 TheChubu   Crossbones+   -  Reputation: 4766

Like
0Likes
Like

Posted 05 March 2013 - 05:55 PM

I'd love to write something... in a few years... when I'll know what I'm actually talking about.


"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

 

My journals: dustArtemis ECS framework and Making a Terrain Generator


#39 Alpha_ProgDes   Crossbones+   -  Reputation: 4692

Like
0Likes
Like

Posted 05 March 2013 - 06:10 PM

I'd love to write something... in a few years... when I'll know what I'm actually talking about.

 

I think the point is that "they don't care". Just write an article about something game dev related. You don't have to be an expert. It doesn't have to be perfect. It just has to be finished and run.


Beginner in Game Development? Read here.
 
Super Mario Bros clone tutorial written in XNA 4.0 [MonoGame, ANX, and MonoXNA] by Scott Haley
 
If you have found any of the posts helpful, please show your appreciation by clicking the up arrow on those posts Posted Image
 
Spoiler

#40 Alpha_ProgDes   Crossbones+   -  Reputation: 4692

Like
0Likes
Like

Posted 05 March 2013 - 06:12 PM

It just occurred to me. What ever happened to the OGL site that was (or still is) hosted on GD.Net. Is anyone updating that? Or is it dead and buried?


Beginner in Game Development? Read here.
 
Super Mario Bros clone tutorial written in XNA 4.0 [MonoGame, ANX, and MonoXNA] by Scott Haley
 
If you have found any of the posts helpful, please show your appreciation by clicking the up arrow on those posts Posted Image
 
Spoiler





PARTNERS