Jump to content

Welcome to Obsidian Forum Community
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!
Photo

Building A Game (A Life Long Goal)


  • Please log in to reply
4 replies to this topic

#1
Suisidel

Suisidel

    (0) Nub

  • Initiates
  • 3 posts
  • Location:Jersey
  • Steam:Suisidel

Hi all

 

Just like many others in the world I have a life goal this goal of mine is to Design, Build and Successful implement a computer game, so far i only have designs and some content while i still learn how to code in C# using Unity and Visual Studio 2017.

 

My name is Colin Hardwick and I am a new Junior T-SQL Developer on the small island of Jersey in the Channel Islands. 

 

https://en.wikipedia.org/wiki/Jersey

 

I am an avid casual gamer and I have always appreciated the complexity and hard work that goes into making Indie and AAA games ever since I played 'Hero Quest' on the Amstrad when i was 10 years old, however I never really got a chance to build a game myself and school at that time did not teach you programming only basic *How to switch on a computer* which wasn’t really that useful :).

 

I am still determined to finish a fully working computer game (more than a simple block buster or space invader arcade game) from start to finish / Intro menu to credits.

However, I seem to be struggling to understand how all the pieces come together? how a development company works? I have always wanted to work in a games development company however I am no experienced programmer yet and it is difficult to work with companies while most development companies are almost 3000 miles away :).

 

So I have a few questions:

  • How do different departments in a development company coordinate with each other?
  • How does all the work come together and shared?
  • How many departments or specific areas do programmers work in or do they work in multiple areas of development.
  • How many areas/departments are needed to build a game? (In other words, how much work will I need to be looking at in total to build something like a 3D birds eye view game?)

I know how a bank, Law or a trust company project works for SQL development but not a gaming development company.

 

I would love to visit a developer company to see how it all works, how it all connects together but if anyone can answer my questions on here that would be amazing as-well :)

 

 

Many Thanks

 

Kind Regards

Colin H (Aka Sykes)

 



#2
Fenixp

Fenixp

    Arch-Mage

  • Members
  • 2302 posts
  • Steam:Fenixp
  • Deadfire Backer
  • Fig Backer
  • Black Isle Bastard!
Hello,
you're using simple questions, but an answer to those questions is rather complex and it's going to very much vary from company to company. See...

Company A) Harry & Greg Games
Harry just managed to finish writing a piece of code which allows for 10 000 AI actors to navigate without slowing the game to a crawl.
Harry: "Yo, Greg, I did the thing with the AI. Pull the newest version of the code an run those insane prototypes of yours against it, see if it all works properly."
Greg: "Thank you, Harry, you're brilliant!"

Company B) Awesome Games Incorporated
The AI department manager has received an e-mail that the ticket for allowing up to 10 000 AI actors to function simultaneously has just been marked as resolved by Pawn Coder 156, his code reviewed by Senior Pawn 5. He therefore passes the ticket on to his superior, who will give it to QA to see if previously unsatisfactory tests run properly now.
 

How does all the work come together and shared?

Company A) Harry & Greg Games
Harry: "Yo, I uploaded more awesome code to git!"
Greg: "And I uploaded the assets we talked about to google drive!"
*And there was much rejoicing*

Company B) Awesome Games Incorporated
The networking department manager gives a satisfied smile as he sees all the work hosted on company's private servers. The solid company's back-up policy gives him the assurance he needs to know that the licensed work will keep on making money for the years to come. The rack holding a git server winks at him merrily.

 

How many departments or specific areas do programmers work in or do they work in multiple areas of development.

Company A) Harry & Greg Games
Greg: "Yo, harry, your engine's broken, can you fix it?"
Harry: "God damnit Greg, why do I do ALL the programming around here!?"
Greg: "I'm an artist man, I don't even know how to write letters!"

Company B) Awesome Games Incorporated
Manager Sally: "Hello, Martin. Could we borrow Senior Pawn 7? I hear he has a lot of experience in C++ optimization and we could use some tweaks to our engine, the C++ programmers who have the task assigned can't figure anything out anymore so we need a fresh outlook."
Manager Martin: "Of course, Sally. Would you be so kind as to fill out the Senior Pawn Leasing Form and run it past accounting so that his work is all in order?"
 

How many areas/departments are needed to build a game? (In other words, how much work will I need to be looking at in total to build something like a 3D birds eye view game?)

None. Start learning, start coding, see where it takes you. Don't worry about organizational structure until you actually start having an organization to be structured.

And if your organization starts having more than a few people and you notice issues with organizing, you may either approach someone who has experience leading larger organizations in general or - just start learning.

There are management schools and courses, both around you (probably) and online. Because when you are at a point of having people to manage, there are no easy answers you could simply find on discussion boards.

Edit:
Incidentally, do start by creating a simple game like space invaders from start to finish, intro to end credits. Don't skimp on anything - do your menu, do your leaderboards (bonus points if they're hosted online), create your settings menu with resolution options and rebindable keys, make the credits roll and appropriate music play while they do so. Draw your invaders and your tanks, get them into the game and manipulate them through the game world. Make the appropriate sounds play at the appropriate times.

When you get stuck and don't know how to solve an issue, do partake in online development communities like Unity forums or Game Development Stack Exchange. Communicate. Search. Learn.

When you successfully finish all of these things and your space invaders game does everything one would expect it to do, you'll suddenly understand how all the pieces fit together so much better than any amount of words could explain.

Edited by Fenixp, 11 December 2018 - 11:16 PM.

  • Katphood and Suisidel like this

#3
Suisidel

Suisidel

    (0) Nub

  • Initiates
  • 3 posts
  • Location:Jersey
  • Steam:Suisidel

Hey Fenixp, 

 

Thanks for the info I know my questions were a bit simplified, so I apologise for that.

 

I am just curious on how a gaming development company works as I’ve never worked in one before nor visited one before, so it peeked my interest. I've managed to build a block buster game using the Gamedev.TV Udemy courses and those courses are really good! I’m hoping to build a tank battle game on my own using what I learnt from the course and adding in physics for the tank shot to drop (bit like Worms) then add in wind resistance est est. 

 

I do have some development questions though if you don’t mind answering? :)

 

I built the block buster game (With no title screen) following instructions off udemy and I am currently studying and have an exam for MTA: Software Development Fundamentals next Friday which touches on Flow charts and the application life cycle however to build my own game even just this tank game I need to plan it out. What would you recommend I should start on first? 

 

Should I write out all the scripts first? or build the landscape level first then do the scripts? or should I create an application life cycle along with documentation of the game, maybe do a flow chart or maybe i should keep the flow chart for algorithms and loops only?  :blink:

 

Thanks

 

Colin H



#4
Fenixp

Fenixp

    Arch-Mage

  • Members
  • 2302 posts
  • Steam:Fenixp
  • Deadfire Backer
  • Fig Backer
  • Black Isle Bastard!

Taken a look at MTA: Software Development Fundamentals (this right?) and good, you're doing the 'Learn' step correctly.

 

I can't really recommend any books at this point as I don't really remember the stuff I've read myself on the subject (and I imagine a bunch of that stuff'll be outdated at this point), but to answer your questions, you'll want to look into software architecture as a general topic. Again, not something you can easily sum up in a forum post. And yes, I wouldn't know where to start nowadays either, so if you do any software development courses, ask your lecturers - they'll probably have a better idea than I do.

 

However, before you begin doing anything, my general advice is: Take a piece of paper or open a word document and start writing. Use full sentences. Good, ol' fashioned prose never harmed anyone, unless it fell on their heads.

 

First of all, write down your goals. What exactly is it that you want to achieve. Then break it down into individual components. Then break that down. Get down and dirty with any concept you're working on - like, there's ghosts in that Pacman game, how do I get them to move about? That sort of thing. You can even start drawing flowcharts if that helps you in this stage, for anything that seems just a wee bit more complex. Answer even questions that you'd wave away as "trivial". This sort of approach will force you to sit down and think about every individual aspect of your game while also keeping the big picture in mind. While doing this, feel free to take notes how exactly is it that you'll achieve these little things technologically.

 

Once you start coding, make sure you have a general gist of what is it that you want to do prepared. When you hit an unknown, don't start trying random solutions - stop, take a break, sit down and re-analyze.

 

And the last advice: If you can, do the hard thing. If you can't get a piece of code to work, delete it entirely and re-write it, try to look at the problem from a different angle (funny story: when I started learning to program videogames, in C++ back then, I wrote dozens of lines of code that I couldn't get to work properly when I realized what I'm writing is are sine and cosine functions, which naturally already existed in math libraries). Shortcuts only lead to headaches later down the line. Divide your code up. When you're using copy-paste to duplicate your own code, you're doing it wrong. Those kinds of things.

 

I do realize that I didn't exactly answer your questions, but your questions come from a person who can't swim and jumped into the water to learn. Forget about scripts and landscape for the moment, write everything down and solutions / necessary order will start surfacing on their own.



#5
Suisidel

Suisidel

    (0) Nub

  • Initiates
  • 3 posts
  • Location:Jersey
  • Steam:Suisidel

Haha, yes you can say that I kinda jumped into the deep end of the pool and i'm splashing around trying to find a momentum (not drowning just can't move) 

 

Thanks for your advice I understand its hard to explain the workings of a development department/company.

 

I'll start by writing out my idea on Paper/Word and then break it down to its basics before writing any code. 

 

When you write your code into a file like a DLL (not done this yet) do you make a DLL for each class or each project? i'm trying to understand if the DLL's contain multiple class's in a DLL file or if it's separate? 

 

Thanks

 

Colin H






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users