Hobbyist Gamedev

Soldato
Joined
30 Dec 2010
Posts
14,760
Location
Over here
I wanted to make a thread for this so I didn't hijack another which was asking about hardware:

I wouldn't be put off, it's a great field to work in. There are horror stories from crap employers like EA that try and work people to death, but largely it's a fun, rewarding, and interesting place to work.

How much maths, and what kind of maths you need depends on what sort of programming you're doing. If you are interested in it, there's some great free stuff around, coursera has some good algorithm design units.

It's not something I see as a viable option for someone who is 30 this year and probably only just scraped through with a C at GCSE maths.
I'm not sure why I mentioned it as if I ever considered it a career option, I've only ever been interested in it from a bedroom coder perspective.

The biggest hurdle I find is 'analysis paralysis' I thought I was quite happy with C# and then you read "oh I wouldn't touch it because it's 'slow' and to make games you have to use C++"
I know that isn't strictly true for hobbyist/indies and many games have been made in higher level languages and Unity. I guess the problem I have is that I don't really feel like I'm learning something if I just read a tutorial on how to calculate 2d vectors say and just brute force it in and hope I achieve the results.
I've only ever been interested in 2d development but the reason I'm not as passionate about it as I should be is I don't have an idea of anything I'd actually like to make but I know it's recommended to make clones of simpler games first like Pong, Breakout etc.
The second is knowing that inevitably I'm going to get stuck on the maths side at some point. I know using something like Unity takes a lot of the headache away but then I'm trying to learn Unity, C# AND game programming at the same time.
I have checked out some coursera stuff but on one they started throwing around some formulas that looked totally alien to me which was the point where I thought maybe this is just a waste of time and I should focus on my other non math intensive subject which is webdev.
 
Soldato
OP
Joined
30 Dec 2010
Posts
14,760
Location
Over here
Thanks for the advice. One other thing I forgot to mention was how disheartening not being able to do your own graphics is. That said, I have found some good stuff on open game art pages and working full time means I have a bit of cash to plunge into resources on the asset store etc but within moderation as I have no intention (nor the ability) to monetise anything I'll make.
I used to see it as 'cheating' using tools like Unity and this was part of the problem as realistically I'd probably not ever be able to make my own engine (esp not in C#) but I see it as a tool now for getting stuff done quicker.
 
Soldato
OP
Joined
30 Dec 2010
Posts
14,760
Location
Over here
I'm coming to the end of my academic position at university and thinking of going into gaming. I enjoy all the maths and physics that is in it. Opengl and matrices, yum :p.

I've been building my own engine in my free time. Been using opengl and sdl. Have some procedural terrain done from mathematical noise and a few other bits and bobs.

I've dabbled in Unreal but to be honest, I'm the type of person that likes to build everything from scratch, to know it inside out and also understand more of the behind the scenes working.

I totally get that but I think not reinventing the wheel is more relevant in gamedev due to the complexity of it.
I think you have to be totally 100% passionate about gamedev to do it as a profession, I'm not that passionate about anything :p
I guess a lot of indie devs are more than happy using Unreal/Unity because from their point of view they want to get their products on the market asap so they can try and make money.
It also depends on what you want, I'd imagine that if you are a code monkey at a big studio you will have very little creative input in the projects, but being an indie you obviously have a far bigger influence in it all, the downside being you could spend years on something only for it to never even get noticed among the tides of other stuff out there.
 
Soldato
OP
Joined
30 Dec 2010
Posts
14,760
Location
Over here
Yes I agree with you. Not everyone has the luxury to sit there writing and learning everything possible.

I think what makes me passionate about it is the technical side. As I said, the maths, physics and programming that goes into it. My background is in maths and physics. I'm passionate about science but I want to translate that over to games. Solving problems and making things happen through algorithms etc.

I'm thinking when I finish in July I might just spend all my time designing and writing my own stuff, possibly with a friend who is coming to the end of his post grad (has a game on indie db already). See what we can come up with. Maybe own company, who knows.

I can't be bothered with job interviews to be honest and working in academia has put me off it :p. This avoids them ha!

Have you not considered the Engineering field? I know it has many offshoots but there must be a lot of options for someone with your skills.

I got a C in GCSE maths - back in the day I wrote a game engine of similar complexity (a little more basic but functionally very similar) to Quake 2/3 on DX7 largely from "scratch" (mind it did help having the Q2 source to lean on) - if your reasonably smart there is enough stuff on google to figure out most of the challenges in regards to game development unless you try to do something really cutting edge.

I'd get into C++ sooner rather than later though as you will wish you had in the long run (even though I despise the language as it feels like reinventing the wheel over and over) for a lot of games performance won't be the bottleneck and you can always interface with simple C/C++ DLLs for areas that really need performance if you can't get work around it in whatever language your using - some of my earlier efforts were created in VB3 using C DLLs for some areas where its poor performance actually hurt.

That's impressive, I was trying to run before I could walk though as when I was trying to learn C++ when I was 16 (Visual C++ 6.0) I started reading ahead on DirectX etc before I even understood the basics of C++.
I don't think that someone tinkering as a hobby with no interest in pursuing a professional route has much to gain from C++ and will in all likelihood be put off by the lack of results for all their efforts, where as C# can get you started making a relatively nice looking GUI etc with all the built in tools.
I got to a stage where I could make a window in C++using the windows.h but to be honest I didn't really understand the code I just memorised it all.

Tbh, I burned out doing enterprise software dev, before switching to games. I now have a much healthier work/life balance, enjoy the work, the people, and care about what I'm making. The money isn't very good though.....but some things are more important.

I'm a code-monkey at a big studio, the particular project I'm on must be 50+ people, which might surprise some people. Artists aren't so keen on taking advice from coders ;) But the designers are pretty open to suggestions and feedback. Of course I have me free time for tinkering with designs and things that I feel like (got my Oculus coming tomorrow :))

I would think very hard about starting an indie studio....it's very very tough out there and the majority of it is marketing. If you've got no overheads (living with parents or something) then you have the luxury of time and some money then go for it though. My tip would be, if you want to make money as an indie, make and sell assets on the Unity and Unreal asset stores, way *way* easier to make money that way.

I have no intentions of that, I'm not unrealistic so I know it will never be anything more than a hobby. I think too many people think they are going to make the next Minecraft from their bedrooms.
I have little to no artistic skills so modelling or making textures etc isn't going to happen sadly.

Have you had a play with Blender, Noxia (this follows on from mid_gen's last point)? Excellent tool for its cost (free).

I'm in love with it. I don't use it for games really (I did dabble with it for Arma and Cities:Skylines), more making data from calculations look nice (e.g fluid simulations look like water, instead of a boring isosurface in scientific software) or scientific animations to explain ideas.

May be worth learning. Plenty of tutorials on YouTube etc.

Blender is part of my toolkit which I have no idea how to use :) In all honesty I don't know what it's for other than 3d modelling but 3D is even more unrealistic to me than the 2d stuff!

I'm stuck in a rut, I should spend all my time focusing on the web dev stuff but it's hard as I really want to get to the Javascript stuff but I find HTML and CSS very dull to learn. Not enough hours in the day to learn both web and game dev and I realistically only have a chance to make one of those a somewhat late career.
 
Last edited:
Soldato
OP
Joined
30 Dec 2010
Posts
14,760
Location
Over here
I just read this: http://www.gamedev.net/topic/667615-why-high-level-languages-are-slow/

Someone started putting all these formulas in one post and when I read stuff like that which I know I'll never understand then I lose all hope and wonder why I'm even bothering!

All told, assuming the data in question is a simple integral type, a naive sorted-insert-and-iterate implementation is 3n+2 memory accesses for lists versus [2+1/(2 log n)]n+1 accesses for vectors, and an optimal one is 2n+2 accesses for lists and 1.5n+log n +1 accesses for vectors - vector is inherently faster for this test regardless of any cache-related concerns. Cache coherency issues will only magnify this difference - however increased object size will mitigate it.

Seriously I have no idea what they're on about and I'll never get good enought at math at this stage to figure it out.
 
Soldato
OP
Joined
30 Dec 2010
Posts
14,760
Location
Over here
I was that naive that when the Quake 2 source code was available I thought I could just download it, press compile and run Quake 2!
I'm using a book called Head First C# to learn with as I prefer books to video tutorials, I think I may try doing some stuff in XNA as well because that will force me to do a lot of stuff manually and my current laptop is so poor it can't even run Unity very well.
I just refuse to buy anything better until I can tell I'm serious about it because I've gone through this cycle all too many times.

You are right about the maths problems too, I have found some good resources that explain these things very well (and with a game focus) and when I get to a stage where I'm comfortable with more programming aspects I can incorporate them into little demos to teach myself better.
I started the book from the beginning but I was already quite familiar with a number of basic concepts like loops etc, it was more a syntax learning exercise.
The hardest part can be finding worthwhile resources, I have plenty of books but I usually buy ones above my level. I have one called learning C# with XNA which is written by a guy who did a Coursera course as well (A.T Chamillard).
I wish I was working with this language as it wouldn't be so hard to get back into it if I couldn't do anything for a few days (as often happens).
 
Last edited:
Back
Top Bottom