Active TopicsActive Topics  Display List of Forum MembersMemberlist  Search The ForumSearch  HelpHelp
  RegisterRegister  LoginLogin
Developers
 Brain Games Forums : Developers
Subject Topic: Nemesis clone in Delphi Post ReplyPost New Topic
Author
Message << Prev Topic | Next Topic >>
Smotsholle
Newbie
Newbie
Avatar

Joined: 16 May 2005
Posts: 13
Posted: 16 May 2005 at 00:48 | IP Logged Quote Smotsholle

This game is still in the idea-phase and I don't know if I'll actually make it someday.

Idea:
I want to make the look and feel just like the first nemesis game (maybe a skin option later on like in MOG)
The game will be multiplayer (either network or splitscreen)
Player 1 will move from left to right
Player 2 will move the other way around
When the players reach the end of the level they each turn and head the other way.
You have 2 kinds of powerups
- The first one should be obvious (used for option and such)
- The second one is your score. You can spend points on turrets or baddies which belong to you. They will be deployed by the ship on the map (you can get a maximum score though).

When you destroy enemy troops (like turrets and so) you score more points than the other player spent to deploy them.
This makes the game increasingly difficult and eventually one of the two players will run out of lives.

Now for the question to you:
I'm one for programming games that are original and that have high replay value.
1. Would this idea make the cut or should I invest my time in something else?
2. I'm best in programming with Delphi. Which plugin/library would be best for making konami-style games?
Back to Top View Smotsholle's Profile Search for other posts by Smotsholle Send Private Message Add to Buddy List
 
Popolon
Admin Group
Admin Group
Avatar

Joined: 05 November 2002
Location: Spain
Posts: 3135
Posted: 16 May 2005 at 11:25 | IP Logged Quote Popolon

Let me see if I've understood the idea about the second type of powerups: A player can spend points in "buying" ships/turrents that will appear as enemies in the other player's map

It's not a bad idea. But if I were to make such a game, I'll include two multiplayer modes:
- cooperative: just like in Salamander
- oompetitive: as you explain

About libraries and such. I strongly recomend you to use an SDL or Allegro like library. I don't know much about Allegro, but you can find the SDL library for Delphi here: http://www.delphi-jedi.org/Jedi:TEAM_SDL_HOME

SDL is the library I use for graphics and sound, and it's simply superb!

keep us informed on the advancement of your project!
Back to Top View Popolon's Profile Search for other posts by Popolon Visit Popolon's Homepage Send Private Message Add to Buddy List
 
Smotsholle
Newbie
Newbie
Avatar

Joined: 16 May 2005
Posts: 13
Posted: 17 May 2005 at 00:31 | IP Logged Quote Smotsholle

Thanks for the info, I will keep you informed when I have the first working version.

This will be entirely new for me, real game making. Though I study in software development, game development is quite new for me. Hope I'm up to it ;)

BTW, I'll start with single player, then I'll add multiplayer.

I will improve on the salamander multiplayer though...
It's a drag when one player dies and you both have to start over :(

Edited by Smotsholle on 17 May 2005 at 13:48
Back to Top View Smotsholle's Profile Search for other posts by Smotsholle Send Private Message Add to Buddy List
 
Smotsholle
Newbie
Newbie
Avatar

Joined: 16 May 2005
Posts: 13
Posted: 24 May 2005 at 19:19 | IP Logged Quote Smotsholle

I've been working on the engine a bit and I can say I allready have a few things working:
- Ship movement.
- Option movement.
- Shooting.

And a little screenshot here:


I stole the ship from Salamander, I can always make my own later on...

I won't put the game online yet because all you can do is move and shoot. When I have some baddies I'm going to make those things a bit more interresting.
Back to Top View Smotsholle's Profile Search for other posts by Smotsholle Send Private Message Add to Buddy List
 
Popolon
Admin Group
Admin Group
Avatar

Joined: 05 November 2002
Location: Spain
Posts: 3135
Posted: 25 May 2005 at 10:01 | IP Logged Quote Popolon

it's really a "little screenshor"

I guess that the next step is drawing the background or adding weapons. am I right?
Back to Top View Popolon's Profile Search for other posts by Popolon Visit Popolon's Homepage Send Private Message Add to Buddy List
 
MP83
Senior Member
Senior Member
Avatar

Joined: 05 December 2002
Location: Finland
Posts: 901
Posted: 25 May 2005 at 11:24 | IP Logged Quote MP83

Popolon wrote:
it's really a "little screenshor"

I guess that the next step is drawing the background or adding weapons. am I right?

If that would be the case ---> Great minds think alike.
Back to Top View MP83's Profile Search for other posts by MP83 Visit MP83's Homepage Send Private Message Add to Buddy List
 
Smotsholle
Newbie
Newbie
Avatar

Joined: 16 May 2005
Posts: 13
Posted: 25 May 2005 at 14:18 | IP Logged Quote Smotsholle

The screenshot is small because the rest of the screen is black anyways ;)


The next step is adding at least one flying enemy.
I allready succeeded in adding the flying grey ship which moves up and down (nemesis 1, level 1).


It is also possible to shoot them.


Next steps:
- Removing the exit bug
- Possibility to die
- Adding the weapon choice menu
- Adding powerups (for the menu)
- Adding more complex enemies


The exit bug is really annoying:
For no appearant reason the game exits. I suspect it has something to do with pressing a lot of keys simultaneously for a long time, but I don't know how to fix that.
When develloping further I found out it sometimes happens when I shoot a bad-guy.
I went over the entire code many times, but I couldn't find a sollution, so now I'm hoping the people on gamedev can help me.
This is the greatest obstacle at the moment.



Edited by Smotsholle on 28 May 2005 at 18:20
Back to Top View Smotsholle's Profile Search for other posts by Smotsholle Send Private Message Add to Buddy List
 
Popolon
Admin Group
Admin Group
Avatar

Joined: 05 November 2002
Location: Spain
Posts: 3135
Posted: 25 May 2005 at 15:20 | IP Logged Quote Popolon

I'm not an expert on pascal/delphi, but if you want I can take a look at the code to see if I can find the "exit bug" (sometimes it's easier to find a bug if you are not the author of the code).
Back to Top View Popolon's Profile Search for other posts by Popolon Visit Popolon's Homepage Send Private Message Add to Buddy List
 
Smotsholle
Newbie
Newbie
Avatar

Joined: 16 May 2005
Posts: 13
Posted: 25 May 2005 at 16:58 | IP Logged Quote Smotsholle

When I get home (at a different comp here) I'll foresee the code with lots of additional comments so it may become easier to understand. Then I'll put it online and post the link here.

-=EDIT=-
Put some comments in the file:
http://webserv.nhl.nl/~kampe001/Nemesis-M-DEV.zip

You can open the .dpr file in notepad too if you whish.
I stared at the code a lot, but I can't seem to figure out where the bug is.

Ps. Ignore the bad background update-thingy, I'll fix that when I get moving backgrounds ;)

Edited by Smotsholle on 27 May 2005 at 20:18
Back to Top View Smotsholle's Profile Search for other posts by Smotsholle Send Private Message Add to Buddy List
 
Popolon
Admin Group
Admin Group
Avatar

Joined: 05 November 2002
Location: Spain
Posts: 3135
Posted: 26 May 2005 at 10:47 | IP Logged Quote Popolon

downloaded it and told me that the ZIP file was corrupt, can you check it to see if the file is correct?
Back to Top View Popolon's Profile Search for other posts by Popolon Visit Popolon's Homepage Send Private Message Add to Buddy List
 
Smotsholle
Newbie
Newbie
Avatar

Joined: 16 May 2005
Posts: 13
Posted: 27 May 2005 at 08:54 | IP Logged Quote Smotsholle

I'll try and re-upload it this evening....


By the way: I've been thinking...


It is considered a small bug in the game I'm trying to fix later:
I give the command to draw a background and put the sprites on it. The background doesn't draw correctly, but when the sprites move over it it becomes visible (It's a starry night so there are only a few dots on the background so you'll hardly notice).


Another question about the SDL component:
I recently added the ability to shoot enemies, then the baddy is replaced with an explosion sprite.
Roughly said:
Bulletsprite hits enemy-sprite,
Bulletsprite and enemy-sprite are destroyed,
Explosion is created over enemy-sprite.


In a rare case the bullet sprite still sticks to the screen due to the refresh problem.
The sollution I see is refreshing the background every next loop, but is this a wise decision or would that take too much CPU power?
Judging by the constant screen refresh in F1-Spirit I have reason to think the component is strong enough, but just checking ;)


To finish off this enormous post:
Could the background refresh problem be the cause of the game suddenly exitting? Personally I seriously doubt it, but anything's possible eh?


Popolon, you probably think of me as annoying for taxing you with these problems :P



Edited by Smotsholle on 28 May 2005 at 18:19
Back to Top View Smotsholle's Profile Search for other posts by Smotsholle Send Private Message Add to Buddy List
 
Popolon
Admin Group
Admin Group
Avatar

Joined: 05 November 2002
Location: Spain
Posts: 3135
Posted: 27 May 2005 at 11:35 | IP Logged Quote Popolon

Don't worry about redrawing the background at every cycle, it's the usual procedure in scrolling 2D games.

I don't think the background drawing issue has anything to do with the "suddent-exit" problem. I has to be something else...

well, just tell me when you have reuploded the file (or just send it to me by e-mail), and I'll take a look at it.
Back to Top View Popolon's Profile Search for other posts by Popolon Visit Popolon's Homepage Send Private Message Add to Buddy List
 
Smotsholle
Newbie
Newbie
Avatar

Joined: 16 May 2005
Posts: 13
Posted: 27 May 2005 at 20:20 | IP Logged Quote Smotsholle

I re-uploaded it, same filename:
http://webserv.nhl.nl/~kampe001/Nemesis-M-DEV.zip

This time I personally tested the download
Back to Top View Smotsholle's Profile Search for other posts by Smotsholle Send Private Message Add to Buddy List
 
Popolon
Admin Group
Admin Group
Avatar

Joined: 05 November 2002
Location: Spain
Posts: 3135
Posted: 27 May 2005 at 23:07 | IP Logged Quote Popolon

download successful, tomorrow I'll take a look at it
Back to Top View Popolon's Profile Search for other posts by Popolon Visit Popolon's Homepage Send Private Message Add to Buddy List
 
Smotsholle
Newbie
Newbie
Avatar

Joined: 16 May 2005
Posts: 13
Posted: 28 May 2005 at 23:32 | IP Logged Quote Smotsholle

Thanks, I hope you can find the bug

BTW, one last question (which might make the game 10x lighter to run).

In F1 spirit you have a rotating map and rotating cars.
In the rotating map you can collide with map objects and cars, which means you probably don't use a collision rectangle.

JEDI-SDL has a collision demo which works with collision rectangles (which means you can't do a collision test with abnormal shapes).
Maybe it's not implemented yet in the JEDI version, but could you tell me how you managed to do that?
This would make it a lot easier to implement a mapmaker.
The level could simply be a 2-color png file in which one color collides and the other is the background.

I know your stuff is open-source, but I'm terrible with C and C++ (which I'm hoping to change after nemesis-M is finished)
Back to Top View Smotsholle's Profile Search for other posts by Smotsholle Send Private Message Add to Buddy List
 
Popolon
Admin Group
Admin Group
Avatar

Joined: 05 November 2002
Location: Spain
Posts: 3135
Posted: 29 May 2005 at 11:17 | IP Logged Quote Popolon

Well, I DO use collision rectangles for the collisions, but in my engine, each rectangle has 7 properties: x1,y1,x2,y2, center_x,center_y, rotation_angle. Thus, I can rotate collision rectangles. I implemented a routine that checks whether two rectangles with any rotation collide or not (it's based on simple geometric calculus). You can see the code in the files "2DCMC.cpp" and "2DCMC.h", CMC stands for "Minimum Bounding Box" in spanish ("Caja Mínima Contenedora").
Back to Top View Popolon's Profile Search for other posts by Popolon Visit Popolon's Homepage Send Private Message Add to Buddy List
 
Smotsholle
Newbie
Newbie
Avatar

Joined: 16 May 2005
Posts: 13
Posted: 29 May 2005 at 11:43 | IP Logged Quote Smotsholle

I think I understand the general idea. I don't think I can use it in nemesis though, I'll just make the map consist of a lot of sprites ;)
Back to Top View Smotsholle's Profile Search for other posts by Smotsholle Send Private Message Add to Buddy List
 
Popolon
Admin Group
Admin Group
Avatar

Joined: 05 November 2002
Location: Spain
Posts: 3135
Posted: 29 May 2005 at 12:27 | IP Logged Quote Popolon

for a nemesis type of game, I think that a pixel perfect collision detection is the best option. no?


Edited by Popolon on 29 May 2005 at 13:46
Back to Top View Popolon's Profile Search for other posts by Popolon Visit Popolon's Homepage Send Private Message Add to Buddy List
 
Smotsholle
Newbie
Newbie
Avatar

Joined: 16 May 2005
Posts: 13
Posted: 29 May 2005 at 22:56 | IP Logged Quote Smotsholle

I agree on that, but that would mean I have to do a collision test on each and every pixel, that would mean a lot of calculating. I could ease it up by only doing a test when the collision rectangles touch eachother, but still it probably takes up a lot of cpu power.

BTW. Did you find anything strange in the code yet?
Back to Top View Smotsholle's Profile Search for other posts by Smotsholle Send Private Message Add to Buddy List
 
Popolon
Admin Group
Admin Group
Avatar

Joined: 05 November 2002
Location: Spain
Posts: 3135
Posted: 29 May 2005 at 23:28 | IP Logged Quote Popolon

Smotsholle wrote:
I could ease it up by only doing a test when the collision rectangles touch eachother, but still it probably takes up a lot of cpu power.


That's exactly how MoG and the MoG2 engine handle collisions: first a quick rectangle test, and only on those pairs of objects with "rectangle-collision", a pixel perfect routine is evaluated.

about the code, I still haven't got time... the course is over and I'm still revising the exams of my students!! I've to finish revising them for tuesday, and still a lot of exams to revise... But don't worry, I'll look at the code as soon as I can find some time
Back to Top View Popolon's Profile Search for other posts by Popolon Visit Popolon's Homepage Send Private Message Add to Buddy List
 

Page of 2
  Post ReplyPost New Topic
Printable version Printable version

Forum Jump
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot delete your posts in this forum
You cannot edit your posts in this forum
You cannot create polls in this forum
You cannot vote in polls in this forum

Powered by Web Wiz Forums version 7.01
Copyright ©2001-2003 Web Wiz Guide

This page was generated in 0,1719 seconds.