Jump to content

  • Log In with Google      Sign In   
  • Create Account

Calling all IT Pros from Canada and Australia.. we need your help! Support our site by taking a quick sponsored surveyand win a chance at a $50 Amazon gift card. Click here to get started!


Member Since 03 Sep 2008
Offline Last Active Aug 10 2015 01:12 AM

#5087254 10 distinct ways to start a game programming (for beginners)

Posted by SillyCow on 19 August 2013 - 04:31 AM

I like to start my game protoypes as text. Since I am not an artist, I find generating sprites and models very boring and time consuming. As such the whole gfx-engine stuff doesn't saave me any grief.


So what I do is prototype my games as text:



Once I figure out the game is fun, I spend time adding graphics:



But basically I have a very playable game to prototype before I ever get started with the graphics portion.

The biggest plusses:

  • If I want a new sprite, I just add a new letter.
  • I develop on mobiles, but I can easily debug on my PC.

This can also somewhat work for an FPS style game, if you start out top view, and add camera angles later.

#5082046 Non-random evasion in turn-based games?

Posted by SillyCow on 31 July 2013 - 04:05 PM

A game I played had a defend mechansim where a character could defend instead of attacking. This would skip your chance to attack, but would reduce the damage done to said character. This was especially interesting when battling ranged units.


Technically this isn't evasion, but it's a similar concept.

#5081506 Are RPGs (role playing games) and ARGs (alternate reality games) considered m...

Posted by SillyCow on 29 July 2013 - 11:49 AM

I voted you down, but in retrospect, your post was a good one (helpful, polite, and informative), it was just that I think the information is inaccurate - at least, within the meager limitations of my own knowledge!
Unfortunately I can't undo the downvote, so I upvoted one of your posts in another thread - feel free to correspondingly downvote mine if you think my post is inaccurate or unhelpful.


Sir , I have never been so politely down-voted. Kudos to you, I shall regard this noblest of down-votes as an ode to your chivalrous nature. 

#5081289 Are RPGs (role playing games) and ARGs (alternate reality games) considered m...

Posted by SillyCow on 28 July 2013 - 04:06 PM

RPGs are like Dungeons and Dragons. Mostly medieval fantasy (some are futuristic cyber-punk games). You mostly play wizards and warriors battling monsters and save the kingdom.


Alternate Reality games (never heard them called ARGs before) are like Second-Life. They usually don't have an objective, but are like building an alternate version of your life. You buy a house, decorate it, open a buisness, etc... There is no real objective to the game, except interacting with other people. Alot of the time it is also more realistic. You live in a regular city (or a cruise ship as I recently saw in one game).


Some RPGs imitate some Alternate reality games and allow you to buy a house. But that is usually not the object of the game. You still have to go battle dragons (or robots) in order to have fun.


ARGs tend to be targeted at a more grown up crowd. An ARG is like a 3D fake Facebook where everyone has an alter-ego.


RPGs, while also played by grown-ups, also cater to younger audiences. (I'm no child, and I'd play an RPG over an ARG any day)

#5079000 How does the programmer merge systems together in the industry

Posted by SillyCow on 19 July 2013 - 01:58 PM

You usually try to keep the merging to a minimum.

You define an API that borders the code you are working on now with others.

This API-border is very well defined.


The API is a set of functions like: Enemy.move(x,y).


One programer will create the function "move" which moves the enemy. The other programer will create the AI function which tells the enemy when to move.


The only thing they have to decide in advance is that enemy has a move function that takes x & y. This is the API.


The AI programer does not care about how the enemy moves (collison detection etc...).

The "move" programer does not care about why the enemy moves ( the AI ).

And the only thing they decided in advance, is that move takes two parameters: x & y


You can define such API borders in advance any time you want to split the job.


So basically there is a well defined border, and usually a lot of discussion goes in to that. The better you are at the design stage, the less you work you will have merging it later. 

#5078257 Jumping - What did I do wrong?

Posted by SillyCow on 16 July 2013 - 03:00 PM

1. This code can't loop by itself. 

2. If your computer freezes, it's more likely that you have corrupted your memory than an endless loop. (Unless you mean that your game freezes).


Since there is not enough code to analyze this, my suggestions are:

1. Use a debugger, and break excution (see where your computer is stuck).

2. If a debugger is unavailable, add some printf's and print the character ID + the character state. You should be able to figure out what's wrong. (Dump it into a log file)

3. Post more code, so someone can figure out your problem.


You should really try suggestions 1 & 2 first, unless you want to wait for someone to figure out the problem.

#5077241 Texture alpha blending?

Posted by SillyCow on 12 July 2013 - 07:08 PM

What are you using to render?

IF it's OpenGL did you gl_enable blending?

#5077180 Free / Open source multiplayer servers

Posted by SillyCow on 12 July 2013 - 01:20 PM

I get the impression you are looking for something higher-level than the solutions being offered to you. Something like Smartfox Server or Photon would serve, but unfortunately they aren't free.


I could use any message queue for messaging, but I was hoping to get some added value besides packeting over TCP/IP. Message queus also tend to lack a security layer, which is a big deal over WAN.


Thanks for the links, I'm a complete newbee in multiplayer, so I was unaware of these.


Regarding Smartfox, 100 concurrent users should be enough at first. I see that smart-fox community edition supports it, but I can't find the license on their site. Do you know if I can use the community edition in a commercial game? Also Photon's 100 users for 10$ might also be fine, since if I use my own I'll probably pay ~10$ for hosting.


Also, what do you guys think of the Google offer I mentioned above? I cringe at the thought of forcing people to use Google+, but it looks very easy, and very robust. Also, I couldn't figure out the pricing.

#5077100 Free / Open source multiplayer servers

Posted by SillyCow on 12 July 2013 - 09:19 AM

I'd like to add multiplayer to one of my android strategy games.


Are there any free MP frameworks you can recommend? The server can be implemented in any language/environment. But the client needs to be Java, as I'm not using NDK. Since this is all hobby work, it needs to be free (or extremely cheap).


My main requirement is real-time messaging (~ 1-2 second delays). I haven't even decided if I want to support WAN. If you have something which is LAN only (one of the clients is the server), that might be enough.


Is there a staple opensource multi-player engine?


Also, while I was pondering the problem, google released this:


Would you recommend using it?

Do you know what the pricing model is?

Have you used it before?

#5074221 Web Developer Instrested In developing Games

Posted by SillyCow on 30 June 2013 - 01:41 PM

What kind of game do you wish to develop?

With your skill-set, there are two types of games you should try to develop:


1. Tic Tac Toe - Website using PHP and cookies.


2. Pong using Javascript and HTML5 Canvas.


If you are going with 2, I suggest you learn how to use JavaScript really well. Doing games requires more knowledge than web-forms.

Here is a very simple link to something almost game-like: http://sixrevisions.com/html/bouncing-a-ball-around-with-html5-and-javascript/


Here is a more complicated link with user input: http://cssdeck.com/labs/ping-pong-game-tutorial-with-html5-canvas-and-sounds


Disclosure, I've never used these specific link, I just searched google for "HTML5 pong" and verified that the explanations seem legit.


The one problem with canvas though, is that it works kinda slow on Androids. So don't expect your first games to be multi-platform. Also, HTML renderers on all mobile platforms are weak relative to native code. But since you allready know HTML, it will be an easy landing for you.

#5073983 Circular buffer usage

Posted by SillyCow on 29 June 2013 - 02:21 PM

Having a circular buffer prevents you from allocating new memory.

It also prevents memory  fragmentation.

Both of these problems will cause performance drops.


Any task that involving queues where performance is an issue will benefit from a circular buffer.


They are also in use in hardware and embedded programming.

Here, memory allocation (new / malloc ) is sometimes not available.

#5059605 What are the steps to creating a game?

Posted by SillyCow on 05 May 2013 - 06:49 PM

Since I am a bad artist, and usually work alone, this is how it goes for me:

  1. Think of a cool idea.
  2. Make a one level ugly prototype. (I sometimes use text instead of actual graphics here)
  3. Play the prototype and see if it's any good.
  4. Improve the gameplay protoype until the game is fun.
  5. Make the game pretty (Add art, menus, etc...)
  6. Send to beta-testers (friends)
  7. Improve controls & Fix bugs based on their input
  8. Publish game.
  9. Improve controls & Fix bugs based on user input

Since I work alone and know how to program, I skip the design document phase.

#5041933 A short question!

Posted by SillyCow on 11 March 2013 - 11:46 AM

Don't use openGL for your first 2D platformer.

Use any 2D framework instead.

#5024033 Version control for begginers

Posted by SillyCow on 21 January 2013 - 03:02 PM

Do not make the mistake of using GIT as your first source control.

I use it at work, it's very powerful, but it takes a long time to understand.

If you have a small project (~5 people) , there is no need for distributed source control. It just complicates everything.


I can make the following recommendations: 

1. Use SVN

2. Use it from a GUI ( you'll understand stuff way faster then command line )


If you're using windows: Download Tortoise SVN and create a local repository.

If you want to upgrade to a server-client setup: Download Visual SVN server,.


Use GIT once you are working on giant project with several remote work - sites (e.g. Compiling a Linux Kernel) .

Using it for a small project is just looking to complicate things. Also, many SVN concepts can serve as an intro to GIT (commit,checkout,branch,merge, diff,patch, etc...) . 

#5022352 How to record Android gameplay?

Posted by SillyCow on 16 January 2013 - 05:26 PM

The stock android emulator will not run at 30 FPS if you are doing heavy rendering.


Look at BlueStacks - http://www.bluestacks.com/ . It's an android emulator that's much faster than the stock android emulator.

It renders OPENGLes very well.

After you install bluestacks, install your APK there, and run it.


Then run your favourite screen capture program,

I recommend Camstudio or Microsoft Expression Blend.


Bluestacks manages to render most of the stuff correctly. I have seen it produce minor glitches though.