PDA

View Full Version : Jolympics



Somebody
11-02-2009, 02:42 PM
Jolympics

You have been chosen to represent your country in the Olympics. Will smash the buttons all the way to the finish line?


Download:
Link (http://www.mediafire.com/?ne5vez7w1dy)

Future release ideas:

* More Sports [Working on it]
* Timer [Working on it]
* Allow you to choose country/gear [working on it]
* Better looking Runners [working on it]
* Add NPC's to race against [Trying to find out how]

Personal Note:

This is my first game I made it using Delphi. I am new to making games/apps so I am open for any tips/help/Suggestions. The current version lacks any good features. So unless you have someone to play against don't expect much of a challenge.

Release history:

0.10
Added 100m sprint
Added 2 players
Added name change

0.20
Added 110m hurdles
Added Main menu
Added simplified name change

The Dash
11-02-2009, 03:43 PM
Im gonna download it just because its in delphi, cant imagine it being easy to make a game in it ^^

Ill edit this post once i've played it

SplaT
11-02-2009, 04:03 PM
Haha, how cute.

This reminds me of a certain old Warcraft III map, where you have to press as rapidly as possible until your fingers bleed to win a race.

What about acceleration? The speed at which you press the buttons, not only make you move faster, but also accelerate relative to your current speed.
On second thought, that's probably a bad idea.

Difficult to crit on such a small game, to be honest.

The NPC could probably be moved at a constant speed based on a difficulty level perhaps. Or a more ambitious solution could be to have the NPC move at the speed of the player's previous round's speed, kinda like that Ghost feature in some car-racing games or more recently in Mirror's edge. So that the player can try and beat his previous best.

Overall a cool start. I really like the idea.

BlackShipsFillt
11-02-2009, 04:52 PM
Player against player is always going to be more fun...

How about doing a hurdles variant, so at certain point on the course you have to press a third key to jump, could make the action a little more skillful and if you're ambitious add an amusing falling sprite...

edg3
11-02-2009, 04:58 PM
Its looking good, have you ever played "playman summer games"? Its quite similar and you could use it to get ideas. Its a mobile phone game.

Bonezmann
11-02-2009, 06:06 PM
Impressive, I like it so far :D

Kensei
11-02-2009, 09:04 PM
Wow, that is a serious amount of 'If' statements o_O

It is an excellent start, and given you created it in Delphi makes it really impressive - given that Delphi doesn't do you any favours (unless you have the game libraries of doom like cairnswm ^_^ )

I like BlackShipFilt[heskies] of a hurdles event - just create a loop where the person keeps move forward while they have not cross the finish line.
This reminds me of that Olympics game on the NES those many years ago :p

okay so onto actual suggestions you can work with.

There must be a way to minimize the number of if statements you use. At the moment they are really static so if one thing changes you need to change it in a number of places.
Instead of:


If man11.Left=356 then man12.left:=357;
If man11.Left=355 then man12.left:=356;
If man11.Left=354 then man12.left:=355;

Perhaps change it to be:


//declare a variable
int startingValue := 30;
int finishLine := 350;
int currentValue := startingValue;

//Put in your button press event
if (currentValue < finishLine)
{
currentValue := man11.Left;
man11.Left++;
// or man11.Left = man11.Left + 1;
}
else
{
//I iz winna!!!
}


Let me know if that doesn't make sense - the idea is to give you something to work with since we want to see more :D

dislekcia
11-02-2009, 09:15 PM
Kensei.Skizzles++ ;)

Somebody
11-02-2009, 11:27 PM
@Kensei Thanks for the tip but sadly that last part looks like giberish to me. I found a way to reduce the ifs by simply adding

man11.left:= man12.left+1;


And that fixes my npc's problem aswell I can just add:

npc1.left:=npc2.left+Random(0+1+2)


@SplaT You made some good points but the problem is that if I make the npc's speed stable it would result in you playing the same thing over and over again. Look at the last part of what I told Kensei I can maybe improve the odds on that making the dificult level have a higher chance of being moved 2 to the left than not running at all. The ghost idea is something I really want to add just I have no idea how...

Kensei
12-02-2009, 01:11 AM
Oh right, of course, man12's Left property is being set. I'll rethink what I said and get back to you

Edit: can you give me a description of what man11 and man12 are exactly?

And an explanation of my code is as follows.
I am assuming that you have some event that increases man11 - ie so when you press, 'd' it increases man11.Left by one?
//declare a variable
A comment to tell you I am declaring variables
int startingValue := 30;
The starting point for the Left value - see note 1
int finishLine := 350;
The finishing point for Left Value - see note 1
int currentValue := startingValue;
A variable that will store man12's current value

//Put in your button press event
this code below needs to go in your 'd' or 's' key press - where you currently, I am guessing, increase man11,Left
if (currentValue < finishLine)
{
currentValue := man11.Left + 1;
man11.Left ++;
}
NOTE the code change
else
{
//I iz winna!!!
Player has reached the finishline
}
What this If state does is the following. It takes the currentValue (you can use just man12.Left if you want) and compares it with the 'winning' line. If it is less than the finishLine, change the man12.Left value to man11.Left +1 and increase man11.Left. If the value is greater than the finishline, then the player has won

Note 1 - It is considered best practice by the XNA gurus to declare GameConstants separately where ever possible (ie things like Player start point, number of starting lives and, in the case of XNA, sprite image name)
This suggestion holds true for other programming languages

Uhm, does that make more sense to you? The syntax may not be 100% correct as I have not programmed in Delphi for at least 5 years

Somebody
12-02-2009, 02:26 PM
Oh right, of course, man12's Left property is being set. I'll rethink what I said and get back to you

Edit: can you give me a description of what man11 and man12 are exactly?

Man11 is the first image of the man in the 1st lane and man12 is the second image of the man in the 1st lane. (I hope that makes sense.)

Kensei
12-02-2009, 02:58 PM
Yes it does, thanks :)

Is all your code contained in that word document in the zip file? Or is there more?
I think what would be best would be if you could type out the game flow here - might make it easier for us to explain some stuff :)

Example of game flow would be:
Create the two men
When 'd' is pressed, move the man forward one pixel, disable 'd' input and enable 's'
When 's' is pressed, repeat above
Keep doing this until man position = finish line
display 'You win' screen

Somebody
15-02-2009, 09:32 PM
Sorry I was away for the weekend so I didnt have time to reply to anything. I updated the game here is the new link (http://www.mediafire.com/?ne5vez7w1dy) it basicly just adds a main menu and 110m hurdles.

Heres the game flow:

100m Sprint

Create 2 men
Press A man1 moves to man2's position + 1 pixel.
Press D man2 moves to man1's position + 1 pixel.
Press A and D untill man1 or man2 reaches finish line = win.

110m Hurdles.

Use 2 men from 100m sprint.
add 3 men for hurdles.
Add an image of a hurdle that fell down.
Press A man1 moves to man2's position + 1 pixel and disables 'A' input and enables 'D' input.
Press D man2 moves to man1's position + 1 pixel and disables 'D' input and enables 'A' input.
When you reach hurdle input W = enable.
If press W then=
Press W once Man3=visible and input 'A' and 'D' disabled.
Press W again man3=invisible and man 4= visible.
Press W again man4=invisible and man 5=visible and input 'A' and 'D' = enabled.
Press A or D and man1 or man2's positon = man5's position + 4pixels.

if skip then =
Hurdledown image= visible.
Repeat untill finish line = win.



I had an idea for adding npc's I thought of something like whenever you run the npc randomly moves 0 or 1 pixels forward but the problem with this is you only have 1 difficulty level because if you for instance randomly move him 0, 1 or 2 pixels you either win by a whole lot or you lose by a whole lot.