Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 08 Sep 2012
Offline Last Active Yesterday, 10:26 PM

#5141872 mingw

Posted by superman3275 on 24 March 2014 - 08:26 PM

MinGW allows programmers to use the (amazing) GCC compiler on Windows.

#5141850 ive made a simple pong, what next?

Posted by superman3275 on 24 March 2014 - 06:47 PM

I guess I would not try to get a better understanding of a language (build a routine using it) by developing a game.

I'd probably go for solving Google Code Jam problems ... or similar coding challenges with C# and then return to learning game development with Unity.


IMO what you want to get better at is using data structures and algorithms efficiently in C# ... and with the ones you need for game logic you might not get the best mileage out of your endeavours.

This is fairly wrong. If he wants to develop games, he should be working on his game development skills. Unless he's making large, 3D games, he won't need Algorithms (unless you count things like Sweep and Prune, but at the same time, those won't be needed unless you have a very complex 2D game). Data Structures are an integral part of C#, and I'd be surprised if he couldn't work his way around Arrays, Queues, and Stacks.


What he needs to do is make games. That's how you get better, it's a proven technique.


To the Original Poster: I made Breakout after Pong, for me it was a natural transition. Maybe you can try that too?

#5141735 There got to be a better way to manage animations.

Posted by superman3275 on 24 March 2014 - 11:10 AM

Your animation management appears to be a finite state machine, which doesn't need to be hardcoded with constants and ifs and enums.

Instead, you should define a data structure to represent animation definitions, loaded from external files and processed by a generic animation manager. Your current ManageAnimation method is in class IActor, but it isn't generic: it assumes a number of states and events exist.

This is spot on. Read this for a great introductory tutorial to creating FSM's.


Here's another one which uses Enumerations, but is still very general. It might be easier for you to use this one, because it somewhat follows your current train of thought.

#5141459 Whats the best language for game development?

Posted by superman3275 on 23 March 2014 - 09:53 AM

I will say it again. There's no perfect language: It's a personal opinion. This thread opens up a can of worms, and I'm going to message the mod so it can be locked.

#5141455 Whats the best language for game development?

Posted by superman3275 on 23 March 2014 - 09:47 AM

There's no perfect or best language. You need to find one you're comfortable with and learn it's ins / outs. There aren't very many good video resources out there, so I suggest you get a book.

#5115276 I have got am if-statement problem

Posted by superman3275 on 07 December 2013 - 11:37 PM

As one of the few members on here who uses Python for games:

What library are you using?

What does the Stars array do?

How does the click array work?

Some of these can be fixed if you *post full source code*. Then I can help you.

Cheers ;)!

#5115176 Game Engine, How do I make one

Posted by superman3275 on 07 December 2013 - 01:36 PM

You really don't need to make a game engine. Just make games, and you will eventually have reusable parts.


I recommend you start with Python + Pygame.


Cheers :)!

#5115175 How to program a zelda style game

Posted by superman3275 on 07 December 2013 - 01:34 PM

You can probably adapt the tile system in your Sonic game to a Zelda game. You're gonna have to program:




Enemy AI!


RPG Style Leveling / Inventory!


And Plenty of other stuff to make your game a success.


But don't give up! If you can remake sonic, you can definitely make an awesome zelda game!


(You can also look at my new blog post about a semi-similar game)


Cheers :)!

#5087981 collisions? n^2 checks?

Posted by superman3275 on 21 August 2013 - 08:23 PM

Try using O(n^2). In this question it doesn't matter much, however using proper notation later on will be important. Consider:


Trivial cases.


And other stuff I can't really remember. What if you have 0 or 1 objects? Then its a trivial problem because its either Theta(0) or Theta(1). Obviously it's not important now, but it's good to get into the habit of proper notation so when you're doing something which is really important you don't slip up and confuse your peers.

#5087980 Type of Computer?

Posted by superman3275 on 21 August 2013 - 08:20 PM

Really, any computer will work. I recommend:


2 Cores in the CPU - Concurrency will be better if you can actually see speedup. Quad core is definitely the best however.


A dedicated video card - Even a cheap one will be miles ahead of an integrated GPU.


RAM - I recommend 8 GB, simply because it can handle pretty much *anything*.


Any HD, except aim for a big amount of space.


Pretty much any OS. I recommend you get windows and learn how to Dual Boot Linux. Than you can learn how to use Linux while having another OS to use when you can't get Linux to work.


Display - 1920 x 1080 Pixels is ideal.


I recommend (for programming):


A quad core intel processor (I5 or I7).


A Nvidia graphics card (simply because so many games are made optimized for them, and I just like them). Preferably gtx 750 or above.


8 GB of Ram.


Windows 8, then Dual Boot Ubuntu onto it.


Keyboard / Mouse - As a programmer, you'll be typing alot. Get a good one if you have money to spare. If you think you won't need a good one, put the money into your video card. It's really a luxury.


Most of the other Odds and Ends don't really matter as much.

#5084037 Feedback wanted on Javascript PONG clone

Posted by superman3275 on 07 August 2013 - 09:05 PM

I'll keep adding comments as I review your code throughout the next day:


1) Great indentation and consistent style. biggrin.png!

2) Oh, those objects are more like glorified variable containers. sad.png! You should try:

  • Adding constructors
  • Allowing those constructors to accept parameters which determine their speed / width etc.

3) This:

this.score = 0;

being in the paddle class. sad.png! Think about what the paddle class is responsible for. Why is the paddle keeping track of the score? That doesn't make much sense. Maybe you should make a function / class which manages your overall game.


4) Woah:

function updatePaddles() {
// Move the left paddle
if (keystates[LEFT_PADDLE_UP] && leftPaddle.y > 0) {
leftPaddle.y -= leftPaddle.speed;
if (keystates[LEFT_PADDLE_DOWN] && leftPaddle.y < canvas.height - leftPaddle.height) {
leftPaddle.y += leftPaddle.speed;
// Move the right paddle
if (keystates[RIGHT_PADDLE_UP] && rightPaddle.y > 0) {
rightPaddle.y -= rightPaddle.speed;
if (keystates[RIGHT_PADDLE_DOWN] && rightPaddle.y < canvas.height - rightPaddle.height) {
rightPaddle.y += rightPaddle.speed;

This *really* should be in the Paddle class sad.png! You're changing all of the paddles variables here, and this piece of code solely affects the paddles behavior! Why is it in a global function?


5) Same as above:

function updateBall() {
if (ball.y < 0 || ball.y > canvas.height - ball.height) {
ball.yv *= -1;
if (ball.x <= 0) {
if (ball.x >= canvas.width - ball.width) {
// As is, if the ball hits the paddle from the top/bottom
// then it can get stuck on the x-axis behind the paddle
if (ball.x < leftPaddle.x + leftPaddle.width &&
ball.x + ball.width > leftPaddle.x &&
ball.y < leftPaddle.y + leftPaddle.height &&
ball.y > leftPaddle.y) {
ball.xv *= -1;
if (ball.x < rightPaddle.x + rightPaddle.width &&
ball.x + ball.width > rightPaddle.x &&
ball.y < rightPaddle.y + rightPaddle.height &&
ball.y > rightPaddle.y) {
ball.xv *= -1;
ball.x += ball.xv * ball.speed;
ball.y += ball.yv * ball.speed;



6) You seriously should read a short book about Object-Oriented Design:

function resetBall() {
ball.x = (canvas.width - ball.width) / 2;
ball.y = (canvas.height - ball.height) / 2;
ball.xv *= -1;
function resetPaddles() {
leftPaddle.x = 0;
leftPaddle.y = (canvas.height - leftPaddle.height) / 2;
rightPaddle.x = canvas.width - rightPaddle.width;
rightPaddle.y = (canvas.height - rightPaddle.height) / 2;
leftPaddle.score = 0;
rightPaddle.score = 0;



So far, it seems like you should read more about Object-Oriented Design and refactor your Paddle and Ball classes.

#5084030 Using a class as inventory and rooms as functions

Posted by superman3275 on 07 August 2013 - 08:53 PM

Before I go off on a tangent about rooms being objects and using a manager class:


Do you understand how to use Object-Oriented Programming in C++?

#5073960 Post image directly on the screen?

Posted by superman3275 on 29 June 2013 - 12:36 PM


well you could also simply copy the texture holding the image (the surface of the texture) to the backbuffer using either IDirect3DDevice9::UpdateSurface or IDirect3DDevice9::StretchRect.

But I would still recommend to go the way you mentioned, although it's not so easy. You can use the Sprite interface (ID3DXSprite), that will make the quad for you.

Off-topic, however I like the:



techincal details

It's great.


Cheers :)!

#5073927 Challenges in game programming

Posted by superman3275 on 29 June 2013 - 10:40 AM


First don't aim that higher. Baby steps!(http://www.youtube.com/watch?v=ncFCdCjBqcE). 

I always aim high in anything I do but I 'take baby steps' too.

I'm sorry I didn't make my question clear but it doesn't matter, I will just discover the challenge as I move on then tongue.png



That doesn't work.


You can either take everyone's advice (to start smaller and learn how to properly program a game), or fall face-first while trying to make a game that you honestly could never make without at least more than one year of experience. Believe me, I tried to make that big 2d game and failed. You will also. Please, just take our advice.


Cheers :)!

#5073924 Creating a game - what skills would I need to recruit?

Posted by superman3275 on 29 June 2013 - 10:35 AM



I am looking to have a game developed and am willing to pay for services, however I'd appreciate some advice on what skill-sets I'd be looking to hire.


Let presume I want to create a:


- Generic 2D side-scrolling shooter in Unity 3D

- Neon style graphics (like http://bit.ly/12degHs )

- Android/iOS


What kind of skills would I need to look for?

Obviously I'd need a Unity programmer but would this art style (Neon) require a 2D artist or would it be a model? Would I need an animator or could this be done via code?


Sorry if these are dumb questions, but I guess you have to start somewhere.


Thanks in advance


I suggest you try some programming (make pong) and do some artwork, also. It's important for a designer to actually understand how hard these things are so that their expectations aren't unreasonable.