Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Kweepa

#2261
Advanced Technical Forum / Re: AGS 3D
Sun 21/08/2005 21:00:40
New version.
Mostly internal changes.
- in edit mode, can right click to select the object under the cursor (within 1000 units)
- uses n-gons for rendering rather than triangles
- clipping is performed in 3d

As a result of the above points, the script code to render is faster (probably about 50% faster) and much less complicated. Also, the wireframes in the selection mode look better.

Again, there may be bugs. Please let me know if you see anything unusual - except the sorting bug!

[EDIT] Link as before.

[EDIT2]
Added some functions:
SetWindow(int x, int y, int w, int h)
- sets the extents of the 3d window (can have a small window for faster rendering)
- doesn't clip the objects or characters so you need to draw a frame around it
SetCamera(float nearClipPlaneDistance, float fieldOfViewDegrees)
- hopefully self explanatory
The above can be called at any time, so you could change the FOV for special effects, or move or resize the window while playing.
SetPrimVisible(int i, bool visible)
- allows you to have collision only primitives
SetPrimGround(int i, bool ground)
- allows you to disable walking over primitives
- you still move above it, but the camera doesn't move up or down
- useful for small details on floors
SetPrimSolid(int i, bool solid)
- allows you to walk through primitives
- useful for small details on walls, and for slopes

[EDIT3]
I have noticed that pitching and banking an object distorts it. Fixed! Must remember to bracket everything. In AGS scripting -a - b == -(a - b)!
#2262
AGS Games in Production / Re: The Bar
Sun 21/08/2005 01:34:40
Damn!
You should team up with someone and do artwork for their game, if you don't have the motivation to finish your own.
#2263
Advanced Technical Forum / Re: AGS 3D
Sun 21/08/2005 00:38:27
Walking on objects is done.
I might add jumping to the todo list - it's pretty easy since falling is already implemented.

[EDIT] Jumping is done. Press the RMB to jump.
#2264
Advanced Technical Forum / Re: AGS 3D
Sat 20/08/2005 22:37:12
Quote from: [ ... ] on Sat 20/08/2005 21:54:50
Quote
> Would it be possible to have objects follow paths (the bad-guy space ships)

As far as I know Steve is currently working on allowing MoveCharacter commands for 2d sprites or characters in the game world. By using those commands it should be pretty much possible to script flying enemy ships etc. just like you'd script them in standard 2d.

That's right, you could do it that way. Or you could just move and rotate the ships around in 3d every frame.

Quote
> would it be possible to put an 'over-lay' graphic that wouldn't move with the 3D stuff (the window panes of the gun turrets and the guns themselves)

Any object in the room, and any GUI, is drawn on top of the 3d. So that should work fine. Your weapon can be drawn Wolf/Doom style.
#2265
Advanced Technical Forum / Re: AGS 3D
Sat 20/08/2005 20:37:58
[ ... ], this is the current todo list:
- walking on objects (eg steps, slopes)
- better sorting, if possible. I gave it a stab yesterday but it's difficult...
- inventory system
- right click looks
- moving characters
- deleting objects and characters from, or adding to, a room
- some user-defined primitives
   - in the room script, it would go like this:

Code: ags

ClearUser1Prim();
AddUser1Vertex(x, y, z);
AddUser1Vertex(x, y, z);
AddUser1Vertex(x, y, z);
AddUser1Triangle(0, 1, 2);
AddUser1Prim(x, y, z);


GG,
The collision detection is at the height of the camera. Walking up steps and slopes isn't yet possible, but it should be quite easy. I just need to look under the camera for the closest object, and change the camera height appropriately. I still have to write the ray-triangle intersection routine though. Should be generally useful.
#2266
Quote from: aussie on Fri 19/08/2005 21:27:05
Steve McCrea is hosting the game and I feel it's unfair to keep asking him to update the mirror for me (I have already asked him once).  ;)

I could probably update the mirror a couple more times. Just ask away! :=
#2267
Advanced Technical Forum / Re: AGS 3D
Sat 20/08/2005 19:29:48
New version with player collisions HERE.

If you find any bugs in the player collision please let me know!

Notes:
- no character collisions yet.
- only works with objects that have been rotated around the up/down axis (using A and S). Will be inaccurate for other rotations.
- toggle collisions with F6.
#2268
Advanced Technical Forum / Re: AGS 3D
Fri 19/08/2005 23:58:31
You could probably do it without textures - just map the textures to colours.
Loading the animations wouldn't be too difficult, I'd guess (with a text format, say).
As long as all the polygons were relatively small (so a simple sort worked), and there weren't too many polys in the model (maybe 400 max), I think it could be done in scripting.
You're right though, that is a different discussion.
#2269
I don't think it sucked.
I think it was just too, err, imaginative.
Nice list of items!
#2270
Advanced Technical Forum / Re: AGS 3D
Fri 19/08/2005 13:48:18
You can easily add a mouse cursor by adding an object to the center of each room and updating its image depending on the cursor mode, but I agree that some special case code would be nice for that. Or you could use a persistent gui - for all HUD style stuff. That's what I'll be using for the inventory.

Giving Scids a window is of course a possibility, but then I need to make the inside visible from the outside and vice versa. I was considering it, but it would double the art production time and slow down the game.

Primitives with hotspots is as easy as placing a game object with a blank sprite at the location of the primitive. Moving them can be done too - just look at the disco ball code in Room 1, and replace Rotation with Position.

Characters moving is a little trickier. I plan to take advantage of AGS's moving and animation code. So character coordinates in AGS will be XZ coordinates in the world. To get the rotation right, I'll just:
check if character is walking
  get walk loop to determine walk direction
  rotate walk direction by the camera matrix
  determine new walk loop
  draw walk frame from new walk loop

Having them change room means a slight redesign, but it will happen.
#2271
Advanced Technical Forum / Re: AGS 3D
Fri 19/08/2005 03:04:19
Doh! :=
Ish, nice blimp!

For an update, I'm making some internal changes to the engine
- already changed the camera over to cache a transform matrix
- now improving the sorting to find the best dividing plane between primitives
#2272
I love it!
I had no idea that Flatland was so biting - women are straight lines? Yeowch!
I also didn't know Abbott's middle name was Abbott. How inspired!
#2273
Looks like hadgot_inv == -1 at that point.
Before line 51, check
if (hadgot_inv != -1)
#2274
Advanced Technical Forum / Re: AGS 3D
Thu 18/08/2005 14:58:57
Since Allegro has such functions, with perspective correction, we could even have
RawDrawSpriteInterpolatedPerspective(int slot, sx1, sy1, sx2, sy2, sx3, sy3, sx4, sy4, float z1, z2, z3, z4);
Where the x and y are screen coordinates and the z are distance of the point from the screen.
#2275
Advanced Technical Forum / Re: AGS 3D
Thu 18/08/2005 06:13:17
Yes, that's right.
Look closely at the left hand wall here.

You can see that each column is a scaled up column from the original texture, drawn half above the centre of the screen and half below.
You can download the original Wolfenstein3D source code (and of course the Doom source code) from iD to see exactly how JC did it.
#2276
Advanced Technical Forum / Re: AGS 3D
Thu 18/08/2005 05:58:43
I think you have the right idea, Geoff.
For each column on the screen, you work out which wall can be seen, which column of the texture to draw and what height that column should be. Then use RawDrawImageScaled on the one pixel wide image that represents that column of the texture.
Alternatively you can, for each rectangular wall, work out the height of the wall at each end. Then for each screen column, interpolate the height and the texture column and draw with RawDrawImageScaled. Done.
#2277
Interesting review - I had a lot of the same thoughts when playing too.
I didn't mind the action sequences: after the first death I saved often.
And I didn't have a problem with the character animation. It was basic, but that was the style of the game. Better to keep it simple than to reach too far and fall on your face.

I don't know how constructive it is, given how old the game is, but a couple more thoughts.

o Nobody else at the station seems to do much thinking. The chief in particular doesn't always respond to plot twists in a rational manner.
o Why do I have to steal gadgets from Lucas, if he's such a good friend? Couldn't I explain that I need them to solve a life-or-death case? It seemed like a forced puzzle.
o I'm a cop. Couldn't I shoot a man eating tiger with a gun, rather than scaring it away with a random whistle? On the whistle front, is it that hard to find a whistle in a shop or a police station?

Steve
(biting the hand that feeds him games)
#2278
Advanced Technical Forum / Re: AGS 3D
Thu 18/08/2005 02:33:23
You make a good point!
Doom-style texture mapping could be done, if you disable look up/down or use skewing rather than rotation for the look up/down.
It would be quite easy to import textures for experiment too - just use the tiled sprite import and select a one column tiling.
I look forward to seeing that!
#2279
I also mirrored it at
http://www.kweepa.com/step/ags/games/mirror/Chick.zip
I can keep it there indefinitely if you want.

Haven't had a chance to play it yet. Looks good though!
#2280
Quote from: Anarcho on Wed 17/08/2005 18:37:41
and her decent
-> and her descent
:=

Fun game, great graphics!
SMF spam blocked by CleanTalk