Hacker News new | past | comments | ask | show | jobs | submit login
Discussion: How to start developing my own video game
3 points by mydpy on May 14, 2013 | hide | past | favorite | 12 comments
Hi All,

I am a trained mathematics / computer science working professional interested in starting a side project. Ever since I was a kid I was interested in video games and would like to try my hand at game development. I work with code professionally, but I have no experience with graphics or physics engines beyond what I have read on HackerNews, Twitter, research papers / conferences, etc. Beyond a gaming project in undergrad, I have never created a game before (we coded this project in C++ using SDL, following the tutorials on LazyFoo).

I am a cerebral person and sometimes need to push myself to 'jump in' to the creative process; I have an art and music background and want to create my own sprites and music, and imagine the android platform is a great place to start developing.

Can anyone on Hackernews help me get started? Would anyone be willing to walk me through the basics or direct me to good blogs / resources for getting started? Anyone in my position and want to collaborate?

I have some specific questions too. Take your favorite Android game. Anyone know the high-level overview for how it was coded? What packages the development used, developed themselves, etc.

Thanks for reading, I look forward to this discussion!


I'm kind of an old-school type, so your other responses may vary. :-) First question is do you have a game in mind, or you just want to "make a game"?

Essentially, first you need to work out a direction.

If you do have a game in mind then find something to start on, given your maths experience you might want to tackle the game physics/movement/whatever.

If you don't have an idea, this again is where your maths might help. Back in the day folks would mess around with the computer, trying to do different animated effects, etc. Those with math would usually go toward animated graphing functions and whatnot, once they get something that's interesting, they mess around on gamifying the hack, making it a playfield, character or goal... and build out a game from that.

The third method is well known to artists, start by emulating something you already like and put your spin into it. Got a game you like but have an idea that you could improve upon the concept? then maybe that's the route to start.

Once you have the spark of what to do, now you work on making it work (what platform do you want to see it on, go to that platform forum; need 3d support? go to 3d forums; etc). Most of all while doing this is actually writing code and testing out your ideas.

Without an idea of what you want, the most folks could help you with is directing you to some type-in game tutorial...

Hi Larry,

Thank you, this is great advice. I know I need to start small and progress slowly so your recommendations are great places for me to begin and improve.

I like all sorts of games, but I wanted to start with something 2D. I was thinking a puzzle game to start, which could expose me to some of the event-like structure of programming a game without the complexity of the physics engine (for now). I could recreate a game like Tetris, for example, but that doesn't really seem very interesting to me.

I have thought about 'modding' a SNES game or downloading an open source gaming project to poke around and understand how the code / architecture works, rather than starting from scratch myself. I generally learn much faster this way, and would love to find someone willing to help me with this approach.

Does that help?

That's a good idea, modding something open source. Like maybe changing a game to be something different, new rules, graphics, sounds, etc.

The SNES games would be probably way different than modern phone/web/tablet games. On the SNES you are dealing with a single process device so code can be more rudimentary, some of it probably in assembly. On newer devices you will find are built higher level languages (c, python, c#, etc) with code that plays nice with other processes in the device, as well as modern graphics/sound methods. If you are planning to ultimately do code on modern devices, that's probably a good place to start.

You might check out

1. http://www.digitalscienceacademy.com/dsa/index_general.php They are offering a game development course.

2. Udacity's HTML5 Game Development course - https://www.udacity.com/course/cs255

3. The ultimate resource and forum in Game Programming - http://www.gamedev.net/page/index.html

I am in the same shoes like you. And asked the same question to someone. I felt like sharing my findings with you.

I am interested in learning game programming but have to make time. Currently I am off to a trip volunteering and would return on 13th June. I am also working on a startup idea.

But I know, I will make time for doing something if I really want it.

Most of your specific questions are answered on the internet.

Shoot me an email if you want to collaborate.

Thank you for the resources!

I made a couple of games for android. It was always a dream of mine to just make a game. For 'a game', you don't need much, only eclipse and google sdk - that's all I used. Starting from this place you would find a few tutorials guiding you about how to create and finish Activity, add a game loop, draw an image and process user input - other things are regular programming.

Before finding out technologies you may figure out what kind of a game you want to make. Your game may or may not require 3d, so you may or may not want to look at 3d engines. It would be too broad of a search to research all technologies.

The basic advice I heard for making first game, is to make sure you finish it, do not set unattainable goals.

Thank you for this feedback. I will make sure before I start a game I have a strong direction of what I would like to develop and make sure it is not too ambitious.

check out this link: http://www.coronalabs.com/products/corona-sdk/

cross platform check out some of the tutorials.

Thanks, this looks like a promising starting point. Have you used this product? Am I sacrificing learning anything by using this SDK?

It's a great SDK for making cross-platform 2d games. (For cross-platform 3d games, Unity is currently the most popular choice.) You are sacrificing control of the technology by using it, or similar products, but that's only relevant if the underlying technology is more important to you than the game itself.

If the technology is important, you're probably better of creating your own engine (this will take a long time), or licensing an existing engine (i.e., the Unreal Engine) and modding it as necessary.

Thanks for the reply. I'm not fixated about the cross-platform functionality of any game I develop yet, because I am sure I will need to iterate through the design process a few times (and it might be easier to start over once I better conceptualize my idea).

I'll keep this in mind.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact