Hard Light Productions Forums

General FreeSpace => FreeSpace Discussion => Topic started by: Aardwolf on August 05, 2006, 08:54:30 pm

Title: An Ambitious Project (may need help eventually)
Post by: Aardwolf on August 05, 2006, 08:54:30 pm
I have been working on a new project recently. It is set in the FreeSpace universe, and does not (necessarily) introduce any elements that are not Canon. The plan: 2D FreeSpace 2. Sounds good? Great. Sounds bad? Well, maybe. I haven't had a chance to work on it for a week, but I will be able to get back to work on it tomorrow.

It is written in Java.

Plans and Goals:

I have other ideas, but I haven't made up my mind on many of these issues. I do, however, know that I will need a little help: with FRED2_Open, I have lost the red color of Shivan textures, and the Yellow of the Hatshepsut, and I need screenshots of FRED2 showing various ships from top view, facing right. Background should be disabled, along with grid. For each I will need two images: one showing the texture (show model) and one showing a black silhouette on a white background (MSPaint applied to a screenshot with wireframe). The first should be a .jpg file, and the second should be a .gif file. Try to fill as much of the screen with the ship as possible. Use the same camera angle and ship position for both.

Here is a list of the ships with animated textures that I will need (still) screenshots for:
Title: Re: An Ambitious Project (may need help eventually)
Post by: MatthewPapa on August 05, 2006, 09:04:26 pm
maybe you should team up with this guy instead of us having 2 separate projects going for the same thing.
http://www.hard-light.net/forums/index.php?topic=41382.0
Title: Re: An Ambitious Project (may need help eventually)
Post by: Aardwolf on August 05, 2006, 09:17:55 pm
I have now looked at the screenshots of this game, and from what I have gathered (I am not able to download it yet) it is a shoot-em-up. My game is different: it is basically FreeSpace from a top view, with an external camera, and less data on the screen. Also, it will have more action going on and less plot, I suspect, but this can be changed in user-mods, if I get around to making it moddable (I plan to, I just don't know how easy it will be).

The ship is in the bottom center of the screen in my game. So far, I have gotten the screen to rotate around the player, I have added a fireball that moves around a la "pong" to test animations, and there is a Sobek that you can shoot at. Explosions work when you hit it, and they are animated.

Right when I get back home (I am currently in a hotel, today is the last day of my vacation) I plan to replace the current explosion anim (from Soldat) with one from FreeSpace.

Our games seem to be too different, and since I don't know Flash, I can't really help on this project, but if the creator is interested in assisting me, or if anybody else is, please PM me. First, however, note that I almost always program alone, and have limited teamwork experience.
Title: Re: An Ambitious Project (may need help eventually)
Post by: Aardwolf on August 06, 2006, 11:13:22 pm
Yay, screenshots of the preliminary work are now available! It's too bad photobucket shrinks large files. Alas, there is little I can do about this.

(http://i93.photobucket.com/albums/l77/Aardwolf001/2D%20FreeSpace/ss005.jpg)(http://i93.photobucket.com/albums/l77/Aardwolf001/2D%20FreeSpace/ss001.jpg)
(http://i93.photobucket.com/albums/l77/Aardwolf001/2D%20FreeSpace/ss004.jpg)(http://i93.photobucket.com/albums/l77/Aardwolf001/2D%20FreeSpace/ss003.jpg)
(http://i93.photobucket.com/albums/l77/Aardwolf001/2D%20FreeSpace/ss002.jpg)

As you may or may not be able to tell, there is a decent fog effect, and you can zoom in and out. Also, you can move forward and backward, as well as shoot. Fog, however, does not work if you zoom all the way out, so for some of the shots it had to be disabled. Execution load time is approximately 40-ish seconds, because it must load a large number of images of varying sizes, and will eventually have to load even more. I also plan to increase the screen size from 640x480 to 800x600. Very soon. Like, as soon as I finish posting this, soon.

Comments?

Edit: that chain of explosions is a fireball (pong style) added to test animations.

Edit: I overestimated the load time. Severely. It's only fifteen seconds. Tops. But it feels longer than that.
Title: Re: An Ambitious Project (may need help eventually)
Post by: BS403 on August 06, 2006, 11:28:14 pm
sweet :yes:
Title: Re: An Ambitious Project (may need help eventually)
Post by: Aardwolf on August 07, 2006, 01:31:55 am
Thanks. It's still in its very early stages, however. I won't be able to add tables and moddability for a while. In the meantime here's another screenshot showing the Herc about to take four hits from a Shivan Alouqua. Oddly enough, the cannons that launched these blasts were mounted on the Sobek (see above images).

(http://i93.photobucket.com/albums/l77/Aardwolf001/2D%20FreeSpace/ss006.jpg)(http://i93.photobucket.com/albums/l77/Aardwolf001/2D%20FreeSpace/ss007.jpg)

Weapon-ship collisions are working properly, but a slow weapon can run into the front of your ship and explode on you (annoying) and there is no damage. Next task: convert Descent style physics to FreeSpace style physics, or something like them. If I feel like it and I don't find something more important/interesting.

Why does photobucket suck? Why did my 800x600 image get shrunken down more than my 640x480 images? I can live with being a pawn if the game makes sense!
Title: Re: An Ambitious Project (may need help eventually)
Post by: Backslash on August 07, 2006, 03:57:16 am
Why does photobucket suck? Why did my 800x600 image get shrunken down more than my 640x480 images? I can live with being a pawn if the game makes sense!
:lol:  That silly take made my day, thanks.  I can just totally hear Alpha 2 saying that.  "We're sticking our files out here!  We deserver a straight answer!"

First, why not imageshack (http://imageshack.us/)?

Second, where'd you get that explosion animation?  Or is it just the one we're used to, but the perceived sharpness of it being at a low resolution combined with your blending methods that make them look a lot more awesome than usual?

Your FRED2_Open problem sounds like you don't have glowmaps on.  Try adding -glow to the shortcut target.

Looks like fun.  I say this as a coder as I see the potential.  Early stages, but fun to mess with.  How long have you been working on this?

Heh, this inspires me to play around with the VIEW_TOPDOWN control a bit...
Title: Re: An Ambitious Project (may need help eventually)
Post by: Aardwolf on August 07, 2006, 05:15:25 am
The explosion animation is exp05.ani, from the sparky_fs2.vp file in the retail version. I added another small screenshot to my last post, and as you can see, there is a Mara in it now. I should however mention that none of the ships (other than the player's) move yet, and only turrets and the player's ship are capable of firing. It's also slowing down considerably once I have in the battlefield a Sobek, Orion, Hatshepsut, and two fighters (Mara and Herc); this may be due to the large size of the images after stretching, or the collision detection subroutines. There is a lot of optimization that I could probably do, but that's the sort of thing I'm not very good at. I can make games, and I can make them fun, but I don't have a very good idea of where it is the fun in the games gets replaced by lag.

Thanks, anyway. I stayed up all night, and well into the morning, but I got a lot done.
Title: Re: An Ambitious Project (may need help eventually)
Post by: Snail on August 07, 2006, 05:30:32 am
What would make this FreeSpace minigame different from FreeSpace 2D and Desktop FreeSpace would be the ability to control capital ships.  ;7
Title: Re: An Ambitious Project (may need help eventually)
Post by: Aardwolf on August 07, 2006, 05:38:28 am
Desktop FreeSpace? Wazzat?
Title: Re: An Ambitious Project (may need help eventually)
Post by: Snail on August 07, 2006, 05:40:58 am
Some extremely old game you can find at game warden. It was extremely basic and had only Mara fighters for enemies. It sucked in many ways but it was still quite fun to play when my internet had died.

Oh, call Apogee say Aardwolf (Sorry I had to say that).
Title: Re: An Ambitious Project (may need help eventually)
Post by: Aardwolf on August 07, 2006, 05:45:55 am
Oh, something like this? (This is based on your description, not on the game, which I haven't seen yet.)

www.geocities.com/akenhbosch/playable/final/SO2.jar

I made this one. I said in another thread that I had "come across it," but I lied.
Title: Re: An Ambitious Project (may need help eventually)
Post by: Snail on August 07, 2006, 05:55:51 am
no, something more like this http://www.game-warden.com/desktopfs/ (http://www.game-warden.com/desktopfs/).
Title: Re: An Ambitious Project (may need help eventually)
Post by: Aardwolf on August 07, 2006, 02:03:08 pm
Additional screenshots have become available, illustrating new, dazzling features! See for yourself:

(http://aycu20.webshots.com/image/3059/1275100211463047379_rs.jpg) (http://allyoucanupload.webshots.com/viewimage?imageID=1275100211463047379)

(http://aycu04.webshots.com/image/1163/1053140760599629722_rs.jpg) (http://allyoucanupload.webshots.com/viewimage?imageID=1053140760599629722)

The first shows a lot of bullets coming from the Sobek (even though it only has four turrets) and the second is a picture of the Sobek exploding. Explosions of large ships continue indefinitely, and player bullets cause lag, but other than that, it's really coming along.

Edit: Now available as well: a preliminary screen capture video. I hope I hadn't gotten your hopes up higher than they should have been. If you like it, though, that's great. I'm gonna keep working on it, either way, though. Video:

http://s93.photobucket.com/albums/l77/Aardwolf001/2D%20FreeSpace/?action=view&current=2DFS2.flv
Title: Re: An Ambitious Project (may need help eventually)
Post by: Mars on August 07, 2006, 03:06:44 pm
Could you post it in somthing other than flash please? I don't think Flash for Linux in Firefox works for this.
Title: Re: An Ambitious Project (may need help eventually)
Post by: Snail on August 07, 2006, 03:39:05 pm
Great, but I don't get why the Sobek uses Shivan Alouqua cannons. :yes2: :) :yes:
Title: Re: An Ambitious Project (may need help eventually)
Post by: Aardwolf on August 07, 2006, 04:15:02 pm
Sorry if you can't access the video. I don't know any other sites. I mean, I looked on ImageShack, and it has some good things, but for video, I didn't see any really good options. I know it's not perfect, either.

Why alouqua? Because I wanted something I could tell apart from my hand-drawn Prometheus. The stats, I realize, are way off. The continuously exploding Mara has been fixed so that it only shows one poof and then vanishes behind it, and I plan to make the capship explosions terminate with a big shockwave soon. Missiles are also going to be added soon. No new screenshots yet. I was out and haven't been working on it. I was getting a pizza. Well, actually three pizzas, but I only ate five slices. Yum, pizza!

Edit: Six slices.
Title: Re: An Ambitious Project (may need help eventually)
Post by: Snail on August 07, 2006, 06:12:21 pm
Debris would be uber cool  :nod:
Title: Re: An Ambitious Project (may need help eventually)
Post by: Aardwolf on August 07, 2006, 08:21:17 pm
Now that I have implemented missiles, worked out a very simple AI which I can apply to missiles and ships, and have figured out an annoying bug, I can take a brief break to... ask for suggestions for what area to develop next.

Be specific, and if you know programming or can sort of understand how I did what I've done so far, tell me how you think it could be implemented.

As for debris, I like the idea, it would help with final explosions of ships, but I don't know exactly how I would do it. Does anybody here have any suggestions? I could model each piece as its own image (breaking the ships into chunks), but that would be slow and inefficient.

For those of you who know Java, I am using the java.awt.* libraries, as well as java.awt.image.* to create rotating images. Specifically, I use AffineTransforms to rotate the camera, and the ships. I am doing a LCS(Local Coordinate System) to WCS (World) to CCS (Camera) approach. It is working quite well at the moment, although it can get quite slow sometimes when there is a lot of action on the screen. I don't know if it could be improved by having a faster computer or whatnot, but I don't really have that as an available option.

The missile I'm using is from a screenshot in fred of interceptor.pof, which i replaced the fighter01.pof model of the ulysses temporarily with. It looks pretty good, IMHO. I will post screenshots soon, possibly after I add shockwaves. However, the shockwaves I use may need to be from the retail version (I can't seem to access the .eff and .dds files in the .vp's with anything I know of). Maybe I will use the FS1 shockwaves instead.
Title: Re: An Ambitious Project (may need help eventually)
Post by: Mars on August 07, 2006, 09:51:09 pm
Sorry if you can't access the video. I don't know any other sites. I mean, I looked on ImageShack, and it has some good things, but for video, I didn't see any really good options. I know it's not perfect, either.

Meh, life goes on... looks good so far  :yes2::yes: 
Title: Re: An Ambitious Project (may need help eventually)
Post by: Snail on August 08, 2006, 06:38:10 am
Hey look, it's a pretty butterfly.  ;)
Title: Re: An Ambitious Project (may need help eventually)
Post by: aldo_14 on August 08, 2006, 11:05:54 am
Now that I have implemented missiles, worked out a very simple AI which I can apply to missiles and ships, and have figured out an annoying bug, I can take a brief break to... ask for suggestions for what area to develop next.

Be specific, and if you know programming or can sort of understand how I did what I've done so far, tell me how you think it could be implemented.

As for debris, I like the idea, it would help with final explosions of ships, but I don't know exactly how I would do it. Does anybody here have any suggestions? I could model each piece as its own image (breaking the ships into chunks), but that would be slow and inefficient.

For those of you who know Java, I am using the java.awt.* libraries, as well as java.awt.image.* to create rotating images. Specifically, I use AffineTransforms to rotate the camera, and the ships. I am doing a LCS(Local Coordinate System) to WCS (World) to CCS (Camera) approach. It is working quite well at the moment, although it can get quite slow sometimes when there is a lot of action on the screen. I don't know if it could be improved by having a faster computer or whatnot, but I don't really have that as an available option.

The missile I'm using is from a screenshot in fred of interceptor.pof, which i replaced the fighter01.pof model of the ulysses temporarily with. It looks pretty good, IMHO. I will post screenshots soon, possibly after I add shockwaves. However, the shockwaves I use may need to be from the retail version (I can't seem to access the .eff and .dds files in the .vp's with anything I know of). Maybe I will use the FS1 shockwaves instead.

Not using JOGL?  I think there's also another accelerated middleware library for java somewhere too, from what I remember awt can be a littl inefficient.

(I'll have to admit trying and giving up something like this a wee while back, to keep me occupied for a few hours at night when I was on work trips; you've done a far better job than I managed, though)

Quite impressed by your sample jar, though, albeit I think there's a smidgen of jerkiness in it (big bugbear I had, which somes seems to just be down to java itself, perhaps the VM limitations or somesuch); I've always found performance to be an utter bastard, albeit my very brief experiments with JOGL did see a good bit of improvement (we're talking Pong level stuff, natch).
Title: Re: An Ambitious Project (may need help eventually)
Post by: Aardwolf on August 08, 2006, 03:44:03 pm
Additional screenshots! 2 of them, so far!

(http://i93.photobucket.com/albums/l77/Aardwolf001/2D%20FreeSpace/ss011.jpg)(http://i93.photobucket.com/albums/l77/Aardwolf001/2D%20FreeSpace/ss010.jpg)

Gah!!! It shrunk them horribly!!!!!!!!!!!!!!!!!!!!!!

Well, in the second one, you can see a missile trail, sort of. In the first, if you look closely or increase the contrast or something, you can see about four of them. They fade as you zoom out, and get wider as you zoom in.

BTW, where can I get JOGL? I think, if I can figure out how to make the necessary changes, that library / those libraries could be especially useful for this project.
Title: Re: An Ambitious Project (may need help eventually)
Post by: Snail on August 08, 2006, 04:57:21 pm
Are the windows on the Hatsheptsut (sp?) glowpoints? That would be amazing.  :yes:
Title: Re: An Ambitious Project (may need help eventually)
Post by: Aardwolf on August 08, 2006, 05:16:16 pm
Well, I don't know what a glowpoint really is, per se, other than that it glows and that it's probably a point (I don't know about implementation or that sort of thing, or how they are different from other glowing things), but yes, they do glow, and they show up as gray if you don't have glowmaps on, which sucks.

Also, I have "given up" on JOGL because I can't seem to find any damn constructors for the GLJPanel or GLCanvas objects, which is really really really really ... really annoying. If, when I am done with this project, or when I have gotten to a release point, someone would like to work on JOGL-izing it, please feel free to do so; as long as you don't make any major changes and you give credit, I don't (currently) have a problem with it. I reserve the right, however, to change my mind on this at any time prior to the first release.

Edit: I have fixed the bug (I don't think it appears in the video) where your bullets collide with you if you are moving too fast. This also removes any possibility of blowing yourself up (until AOE is implemented). Also I have added a shockwave that emanates from a destroyed capship, and have limited the explosion time. The jerkiness (aldo_14 noticed it in the video) is a problem, and it gets worse with more primary-fire, idk why this is, '.' (crude attempt at "because" symbol) there are just as many enemy shots as player shots usually, and tons of missiles in other versions.
Title: Re: An Ambitious Project (may need help eventually)
Post by: Aardwolf on August 08, 2006, 11:19:52 pm
I hate to be the one to push my own thread into "Hot Topic" status, but...

A video showing a dogfight between 3 SF Maras and the player (Herc) is complete. In the actual game (lost in video some reason) the player's shots have a blue tint, and the enemies' are orange-tinted. I'm not even very good at this game. It's perfectly fair-- the ships right now (and weapons) have identical statistics-- it's just that it was 3 : 1, their favor. I'm still having the problem with it running too slowly.

Edit: Oh, right. The video. Here it is:

http://s93.photobucket.com/albums/l77/Aardwolf001/2D%20FreeSpace/?action=view&current=2DFS2v02.flv
Title: Re: An Ambitious Project (may need help eventually)
Post by: Mars on August 09, 2006, 12:01:41 am
Why flash? Flashing is bad.

Title: Re: An Ambitious Project (may need help eventually)
Post by: Aardwolf on August 09, 2006, 12:09:30 am
Because Photobucket supports video. I'll try to get it in another format. Please hold.

Edit: Alright, here's the situation: Photobucket converted my files to .flv for some stupid reason, even though the files I uploaded were .avi. I'm currently uploading the files on Google Video. Unless you live in China, you should be able to access this, and it should be in the format I uploaded it in to for which what hey?. Thank you for noticing that something was wrong, Mars, even though I didn't understand what you were saying at first. My mistake.

Edit: I hate everything! Google Video also changed the file type to a Flash video! Is nothing holy!?!?!?

Edit: You're probably grumpy if you can't load it, but think how pissed off I must be! Anyway, you can access the second movie (mentioned in the previous post) here: http://www.megaupload.com/?d=BKPL4XTZ just go through exiting any popups and that sort of **** until it lets you download it by typing in a set of three letters and clicking "Download" somewhere near the top-right.

Edit: I've done a lot of editing because I'm kind of reluctant to make an additional post. This one's got some content, though: once somebody is able to download the video, please make a post in this thread (only one is needed) with a link to the video on some other server that can be downloaded as a(n) .avi or as a .zip file!
Title: Re: An Ambitious Project (may need help eventually)
Post by: aldo_14 on August 09, 2006, 03:16:22 am
Well, I don't know what a glowpoint really is, per se, other than that it glows and that it's probably a point (I don't know about implementation or that sort of thing, or how they are different from other glowing things), but yes, they do glow, and they show up as gray if you don't have glowmaps on, which sucks.

Also, I have "given up" on JOGL because I can't seem to find any damn constructors for the GLJPanel or GLCanvas objects, which is really really really really ... really annoying. If, when I am done with this project, or when I have gotten to a release point, someone would like to work on JOGL-izing it, please feel free to do so; as long as you don't make any major changes and you give credit, I don't (currently) have a problem with it. I reserve the right, however, to change my mind on this at any time prior to the first release.

Edit: I have fixed the bug (I don't think it appears in the video) where your bullets collide with you if you are moving too fast. This also removes any possibility of blowing yourself up (until AOE is implemented). Also I have added a shockwave that emanates from a destroyed capship, and have limited the explosion time. The jerkiness (aldo_14 noticed it in the video) is a problem, and it gets worse with more primary-fire, idk why this is, '.' (crude attempt at "because" symbol) there are just as many enemy shots as player shots usually, and tons of missiles in other versions.

I'm sure there was a GLCanvas constructor, but buggered if I can remember it.....

I always had a suspicion (in my case) that the jerkiness was down to mis-threading, although I have my suspicions about the JVM itself, particularly because everything is being done in-software unless you use a library to get hardware rendering.  Albeit I don't think it was ever down to memory usage (although I'm wondering how often the gc kicked in, now I think of it).  Perhaps if you have a fair wodge of stuff being loaded, but then it'd only be expected at irregular intervals.  In any case, during my more futile experiments with JOGL I did discover a very significant difference between software and hardware modes.

Annoying, really; I did have a reasonable approximation of an R-Type esque game going, but despite some rather significant work optimising it (or trying to; NB: why not group player and enemy projectiles seperately so you can cut down on collide checks?), never got it to look 'right' with either AWT or (eek) Swing.
Title: Re: An Ambitious Project (may need help eventually)
Post by: Mars on August 09, 2006, 03:37:47 am
Huh, your hosts convert it to flash? :wtf:

That's messed up... well don't worry about it... that's just weird.
Title: Re: An Ambitious Project (may need help eventually)
Post by: Speeder on August 09, 2006, 05:24:37 pm
okay, umm...
I don't really know much about Java (I've used it a very little bit once, buut nothing much), but I guess I'm starting to know this and that. Right now, you're probably using the GDI's Canvas for drawing the game... Now, the GDI is very far from the hardware, so you need to get through many layers of software to really do the thing you want to do. Which is all computed by the CPU. Furthermore, your images are stored in system memory, instead of video memory, so your CPU will have much idle time while the images are send from the system memory out. Hence why you should change to DirectX or OpenGL, othervise your game will slow in like HELL when you draw many pictures, and especially when you do blending effects (let's even not talk about additive drawing or things like that).
I'd also recommend changing to C++ or maybe Delphi, cuz Java is kindof a script language, so it could run much faster on those :)

About the what to do next part, I'll just write down how I've developed FS2D. I've first done the menu, toplist system and the score file encripting algo. Then the base of the scripting engine. (like preformating, and the layers of the handling and storing objects of events and cycles) Then the loading system that will examine the level and load the needed things from the definition files. Then the ship displaying, then the hit detection and health and shield handling and shield effects, then went to explosions and ship deleting. After that I've done general object handling and display, then made the diff classes for the diff types of objects and added their unique things. After that I've went to the bosses, but as your game's diff, I guess you handle those about the same as any enemy :) After that I went to the special effects like lens flares and whatevers... and last was the scoring system, although it should've came before, but hehh, I was lazy :)
Hope this gave some help...

As for images and videos, I think you should use imageshack for images. It's veeery nice. For videos, some simple file uploader would be best, like rapidshare.de or yousendit.com (fake e-mail, shows the link).

Question about the game: How do you handle hit detection? (Hitboxes, the whole picture or pixel by pixel?)

oh, yea, and lastly if you'd like to make a glowpoint, drawing a simple sprite additively could nicely do (When you add the colour values of the picture to be drawn on the parent. It looks... glowy! :D)