Author Topic: Classic Games  (Read 9261 times)

Offline Eddy-B

  • Hero Member
  • *****
  • Posts: 1186
    • http://www.eddy-b.com
Classic Games
« on: January 28, 2007, 05:43:25 AM »
Well... i was feeling nostalgic last night, so i decided to build an old favorite of mine, down in the video halls in the early eighties:

SPACE INVADERS !![/size]

You can find it here: www.Eddy-B.com
[size=8](version 0.3 is a 228kB ZIP)[/size]
« Last Edit: January 28, 2007, 07:32:28 AM by Eddy-B »
Rule #1:  Eddy is always right
Rule #2: If you think he's wrong, see rule #1
--------------------

Outpost : Renegades - Eddy-B.com - Electronics Pit[/siz

Offline White Claw

  • Hero Member
  • *****
  • Posts: 854
Classic Games
« Reply #1 on: January 28, 2007, 03:25:51 PM »
Sweet... I'm sure someone here will throw a pie in your face for not working on OP!  :P  

Offline alice

  • Administrator
  • Hero Member
  • *****
  • Posts: 553
Classic Games
« Reply #2 on: January 28, 2007, 04:09:31 PM »
Um, It's actually called Outpost Invaders!

:P

I had the honor of playing the beeping version of doom.


Lol, it's fun, but I really don't know how this game held peoples attention..

Offline Eddy-B

  • Hero Member
  • *****
  • Posts: 1186
    • http://www.eddy-b.com
Classic Games
« Reply #3 on: January 29, 2007, 04:57:34 AM »
Quote
Lol, it's fun, but I really don't know how this game held peoples attention..
it just DID!  coz there wasn't much else...

well, not true: there was this dull game of "tennis" ... wasn't more then just a vertical bar on either side of the screen, and a small square that was suppose to be the ball. and all it did was... BLEEP..  BEEP...   BLEEP,  BEEP-BEEP-BEEP
ah, i won !
Rule #1:  Eddy is always right
Rule #2: If you think he's wrong, see rule #1
--------------------

Outpost : Renegades - Eddy-B.com - Electronics Pit[/siz

Offline CK9

  • Administrator
  • Hero Member
  • *****
  • Posts: 6226
    • http://www.outpost2.net/~ck9
Classic Games
« Reply #4 on: January 29, 2007, 09:16:54 AM »
Pong!

How about a Pheonix revamp?
CK9 in outpost
Iamck in runescape (yes, I still play...sometimes...)
srentiln in minecraft (I like legos, and I like computer games...it was only a matter of time...) and youtube...
xdarkinsidex on deviantart

yup, I have too many screen names

Offline Eddy-B

  • Hero Member
  • *****
  • Posts: 1186
    • http://www.eddy-b.com
Classic Games
« Reply #5 on: January 31, 2007, 08:47:01 AM »
I've wanting to create the other game that i liked (even more then space invaders).

I'ts bit bit "newer" ,, that is: it definatly had 16 or more colors, you have to shoot down alien ships, kind of the same way. From time to time 1, 2 or even 3 of them come down trying to hit you (and release bombs).

The top row consisted of only a few of their 'motherships' worth more points obviously. Sometimes, when they came down,they'd "beam up" you own vessel. If you still had a life left, you could continue from that point on. THEN if you were abel to shoot down its captivator, you would get it back, and you'd have TWO ships at your command, kinda glued together :-)


Anyone know what the title of that game was ?  I believe it was also a Taito or Konomi game
Rule #1:  Eddy is always right
Rule #2: If you think he's wrong, see rule #1
--------------------

Outpost : Renegades - Eddy-B.com - Electronics Pit[/siz

Offline White Claw

  • Hero Member
  • *****
  • Posts: 854
Classic Games
« Reply #6 on: January 31, 2007, 02:02:18 PM »
Ah yes... I believe Galaga is the name you're looking for!

"Updated" Java Version

Or even better (as I remember it).

The wiki also has some info and more explination if you're looking to recreate Galaga.
« Last Edit: January 31, 2007, 02:03:28 PM by White Claw »

Offline Leviathan

  • Hero Member
  • *****
  • Posts: 4055
Classic Games
« Reply #7 on: January 31, 2007, 02:43:48 PM »
haha

total classic game

Offline White Claw

  • Hero Member
  • *****
  • Posts: 854
Classic Games
« Reply #8 on: January 31, 2007, 07:41:08 PM »
Eddy,

What did you write this space invaders in? Did you use DX? I'm trying to work on my skills in windows programming but the DX samples suck. They're all very 3d based and I don't care to go that far yet. I would just like to be able to do the basics. (Load a bmp, move it around, have it fire...)

I've been looking for a page that just delves into the basics, but everyone wants to show off 3D. I suppose I'll have to go buy a book (but I was hoping to save the money)...

(This is even more frustrating because I've written my own video, mouse, joystic drivers etc. for DOS. I even had a 2d RTS engine with 512x256 maps in crusty old real mode back buffered with animation. Not to mention my XWing clone. Now I can't even put up a picture.  :find: )
« Last Edit: January 31, 2007, 07:44:27 PM by White Claw »

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4955
Classic Games
« Reply #9 on: January 31, 2007, 08:30:40 PM »
Have you checked out "Tricks of the Windows Game Programming Gurus"? It has lots of stuff on 2D graphics, and sections on AI, and all sorts of other game programming topics. It's fairly general in it's coverage so it's widely applicable, plus their are simple illustrations of the ideas so it's easy to follow. He also wrote a sequel that deals with 3D graphics.

Also, if you use DX, it should always maintain some sort of backwards compatibility. So even if you install DX 9, you can still choose to only use earlier version. (DX1 maybe? :P)
 

Offline Eddy-B

  • Hero Member
  • *****
  • Posts: 1186
    • http://www.eddy-b.com
Classic Games
« Reply #10 on: February 01, 2007, 04:50:00 AM »
Quote
What did you write this space invaders in? Did you use DX? I'm trying to work on my skills in windows programming but the DX samples suck. They're all very 3d based and I don't care to go that far yet. I would just like to be able to do the basics. (Load a bmp, move it around, have it fire...)
I use Borland C++ builder 5 for all my work (except for Outpost2, since that can only be done with MSVC).

The source isn't much of a secret, the more since the game is a 30 year old classic (i found an earlier ROM dating back to 1978 - this must be one of the first).

The exe is 842kB, but i packed it with UPX so it won't be that big.
I've been thinking about tranferring it to a console application, since that can be made much MUCH smaller, probably <64kB. I've also created Boulder Dash 10 years ago, which was only 56kB and ran just fine on a 286/33MHz, and still does on my pentium. Some parts of that game were written in assembler to speed it up, and also because i'm using a vertical retrace video interrupt for timing.

The Space Invaders' graphics are just plain and simple bitmaps, drawn on the screen using standard windows functions (bitblt).
Rule #1:  Eddy is always right
Rule #2: If you think he's wrong, see rule #1
--------------------

Outpost : Renegades - Eddy-B.com - Electronics Pit[/siz

Offline White Claw

  • Hero Member
  • *****
  • Posts: 854
Classic Games
« Reply #11 on: February 02, 2007, 06:22:45 PM »
Quote
The Space Invaders' graphics are just plain and simple bitmaps, drawn on the screen using standard windows functions (bitblt).

I guess this was what I was wondering more than anything. I have a couple books from back in my DOS programming days that I learned game programming from. But I didn't even know where to begin with Windows. I found an "old" (1997) "Teach yourself Visual C++ in 21 days" book. I did a little messing around with that last night (and found the bitblt fn). I figured out how to embed a bmp into the program, now I want to figure out how to dynamically load and display one.

I have the "Tricks of the Doom programming gurus" book and man, that thing is esoteric. I guess I'll just have to go spend the cash on a book when I get some.

Quote
Also, if you use DX, it should always maintain some sort of backwards compatibility. So even if you install DX 9, you can still choose to only use earlier version. (DX1 maybe? )
Yeah, I hate when I can't play someone's simple game because I don't have the latest. I think a build for DX 6 or 7 would be okay since I think that's when it became the most stable and most supported. (Maybe DX5)
« Last Edit: February 02, 2007, 06:24:04 PM by White Claw »

Offline White Claw

  • Hero Member
  • *****
  • Posts: 854
Classic Games
« Reply #12 on: February 04, 2007, 10:55:13 AM »
And now my motherboard just died. I'm on a borrowed computer but I think my programming life is on hold for a couple weeks...   :'(  :find:  

Offline BlackBox

  • Administrator
  • Hero Member
  • *****
  • Posts: 3093
Classic Games
« Reply #13 on: February 04, 2007, 11:36:07 AM »
Here's a suggestion if you want an (easy) way to output 2d graphics. It becomes even more useful if you want to port your game to other platforms.

Check out SDL: http://www.libsdl.org/

It's actually really lightweight and easy to use, not really loaded with features that you'll never use. It's a cross platform library that allows you to access the video framebuffer, receive input, do threading (and synchronization with mutexes), and sound output. (no networking though)

I've used SDL in projects before, when I first learned about it I was able to learn the basics needed to draw images and get input from the keyboard and mouse within 15 minutes.

It's written in C and there are bindings to many languages. It runs on just about any platform imaginable (so if your game is written well you shouldn't have to change a lot of code to compile it elsewhere).

Offline White Claw

  • Hero Member
  • *****
  • Posts: 854
Classic Games
« Reply #14 on: February 04, 2007, 03:18:35 PM »
Nice. I looked at a couple projects created with it and they look pretty good. Thanks for the tip!!

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4955
Classic Games
« Reply #15 on: February 04, 2007, 08:04:12 PM »
There are some legal issues with using it though. At least from what I've read. So if you plan to ship a game that relies on it, you need to design it so it can be relinked with a newer version. From what I've read, you aren't required to give out all your source code, but you would have give out something along the lines of object files that can be relinked with a new version of the library. Sounds like a pain in the butt to me, and probably makes it a little easier for people to make undesirable changes to your code.

Not that I'm against modding. I just prefer when there is a good method that was meant to be used to produce mods.
 

Offline BlackBox

  • Administrator
  • Hero Member
  • *****
  • Posts: 3093
Classic Games
« Reply #16 on: February 04, 2007, 08:35:23 PM »
Well, they use the LGPL for licensing. This does allow it to be used with "nonfree" software.

As for the whole linking thing, it's not much of an. SDL is a dynamic library, the program is just linked with an import library to make use of the dynamic library which is either in the program directory or installed globally (on windows, it would probably be distributed with the program; on unix, SDL is a common item and it is likely that the user already has it).

So, to 'link' with a new version of the library you just drop in a new SDL.dll (win32) / libsdl.so (unix) and it should work fine (assuming they keep backwards compatibility, which any good project should do). The program itself does not have to be recompiled / relinked.

The possibility of 'relinking' with a dynamic library by just replacing the library is mentioned in the LGPL, see Section 6 part (b):
http://www.gnu.org/licenses/lgpl.html
« Last Edit: February 04, 2007, 08:35:59 PM by op2hacker »

Offline White Claw

  • Hero Member
  • *****
  • Posts: 854
Classic Games
« Reply #17 on: February 04, 2007, 09:03:19 PM »
Yeah, I think I would mostly like to get a look at their library. Part of the appeal of coding to me is that I made it myself. It's not so much that I arrive quickly at the end product, but that I made and understand the project myself. But then again, once you look at the code its hard to say you didn't use it as a baseline for your own library. (That whole intelectual property thing.)

Of course, having a project to play and share is nice too...  :D