

Discussion: How to start developing my own video game - mydpy

Hi All,<p>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).<p>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.<p>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?<p>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.<p>Thanks for reading, I look forward to this discussion!<p>Myles
======
LarryMade2
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...

~~~
mydpy
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?

~~~
LarryMade2
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.

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

~~~
thoughtpalette
Thank you for the resources!

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

~~~
mydpy
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.

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

cross platform check out some of the tutorials.

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

~~~
gamblor956
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.

~~~
mydpy
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.

