log in | register | forums
Show:
Go:
Forums
Username:

Password:

User accounts
Register new account
Forgot password
Forum stats
List of members
Search the forums

Advanced search
Recent discussions
- Elsear brings super-fast Networking to Risc PC/A7000/A7000+ (News:)
- Latest hardware upgrade from RISCOSbits (News:)
- Accessing old floppy disks (Gen:3)
- November developer 'fireside' chat on saturday night (News:)
- RISCOSbits releases a new laptop solution (News:4)
- Announcing the TIB 2024 Advent Calendar (News:2)
- RISC OS London Show Report 2024 (News:1)
- Code GCC produces that makes you cry #12684 (Prog:39)
- Rougol November 2024 meeting on monday (News:)
- Drag'n'Drop 14i1 edition reviewed (News:)
Latest postings RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
 
View on Mastodon
@www.iconbar.com@rss-parrot.net
Site Search
 
Article archives
The Icon Bar: The Playpen: Slightly cold news on page 10! Phlamey breaks the server.
 
  Slightly cold news on page 10! Phlamey breaks the server.
  This is a long thread. Click here to view the threaded list.
 
Michael Drake Message #77005, posted by tlsa at 11:46, 25/6/2006, in reply to message #76773

Posts: 1097
:flamethrower:, you have mail. :o
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77266, posted by Phlamethrower at 12:01, 2/7/2006, in reply to message #77005
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Let's see if I can get the ball rolling again....

Project status
  • Engine core/framework - Complete
  • Resource management - Complete
  • Scripting engine - Complete
  • Sound - Complete
  • Objects (Bullets, explosions, pickups, etc.) - Complete
  • Peds - Complete
  • Renderer - Basic. Enough to work with but needs further optimisation, depth sorting/hidden surface removal, etc.
  • Vehicles - In progress. Cars lack proper physics, other vehicle types are currently unsupported. Needs full design ready for implementation.
  • Gang/respect system - Needs redesign
  • Ped AI - Non-existant
  • Vehicle AI - Non-existant
  • Traffic management - Non-existant
  • Map generator - Non-existant
  • Final art/sound/mission assets - None
So, what next?

Current major issues are vehicles and the gang/respect system.

If needed the respect system could be dropped entirely (GTA 1 didn't have one), but having one would allow the police to respond automatically to activities instead of me having to hard-code them and their responses into the game.

Vehicles need a full design working out, focusing on physics and movement/collision detection.

Ped AI should be relatively easy. As previously stated, peds will have various activities that the mission script will instruct them to perform. Line-of-sight and pathfinding code coupled with the already existing movement code would be all that's needed to get the activities implemented.

Although based around a similar goal system as ped AI, vehicle AI will be trickier. Because vehicles have semi-realistic physics, the AI will have to account for such evil things as stopping distance, turning circles, skidding, predicting collisions, etc. Pathfinding will also need to be more advanced to cope with the road layout.

Traffic management - this is the bit that keeps the area around the player populated with peds/vehicles and the rest of the map empty. I have code to work out the visible area around the player, so it's just a case of tweaking thresholds until spawn ranges, traffic density, etc. looks right. Traffic lights are likely to fall under this heading as well.

Map generator - As stated somewhere in this thread, the map generator will likely rely on definition files to tell it what valid buildings, roads, scenery, etc. look like, and how they can be placed in relation to each other. The mission script can also force certain structures to be included in the map. The map generator can be developed fairly independently of the rest of the game, and droppped entirely if it doesn't work.
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77370, posted by Phlamethrower at 20:58, 4/7/2006, in reply to message #77266
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
It's the vehicular movement pseudocode!

This code relies on a few basic abilities:

1. Determining if a vehicle is inside a wall
2. Determining what surfaces a vehicle rests on (or intersects)
3. The ability to scan upwards to find the top of a wall or solid

The movement code is thus:
1. First, we get the movement delta for the current frame, i.e. multiply the rotational and (spatial? standard?) velocity by the frame time.
2. Get a list of the surfaces that the vehicle is resting on (if any). Use this to calculate the Z delta if the vehicle was to follow each of these slopes. If any of these is higher than the current Z delta, update the delta to match. This allows vehicles to drive up slopes, and also to fly through the air a bit if driving over the crest of a hill.
3. Step forward the full time step
4. If the vehicle is not intersecting anything, rejoice.
5. Else, step back (Probably using binary search) until the first point of intersection.
6. Get the highest point of the walls that the car is intersecting. If this is higher than the highest obstacle the vehicle can climb over, make a small step backwards and trigger the collision code.
7. Else the vehicle must be climbing a small step or starting to climb a slope. Move the vehicle up to the top of this slope; if it doesn't fit, give up and enact the collision code. Else adjust the movement deltas to account for the distance travelled so far, and go back to step 2.

Eventually the vehicle will run out of movement delta or encounter an unpassable obstacle. Of course if the movement deltas are too large (as a rough guess, any movement over half a map block will be too large) the delta will have to be subdivided or else thin walls (or large walls!) may be missed by the collision detection code. For absolute safety, the largest step allowed would be the size of the largest circle that fits inside the bounding box of the vehicle.

How do we get the (spatial? standard?) and rotational velocities in the first place?

That's all down to the physics code in control of the vehicle.
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77438, posted by Phlamethrower at 12:50, 8/7/2006, in reply to message #77370
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Woo! Automated makefile dependency updateingness.

*resumes tweaking code*
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77456, posted by Phlamethrower at 23:52, 8/7/2006, in reply to message #77438
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Woo! New movement code roughly working.
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77462, posted by Phlamethrower at 15:22, 9/7/2006, in reply to message #77005
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
:flamethrower:, you have mail. :o
*finally downloads it*

Yay!

Hmm, now I need a program to swap colour ranges :o
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77465, posted by Phlamethrower at 19:08, 9/7/2006, in reply to message #77462
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
This is the first time I've found the EOR option in !Paint useful. And I've just realised I can use it to add stripes and other decals to cars :E
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77466, posted by Phlamethrower at 19:41, 9/7/2006, in reply to message #77465
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100


[edit: Hmm, looks better on this monitor than the one the RPC is using :P]

[Edited by Phlamethrower at 20:42, 9/7/2006]
  ^[ Log in to reply ]
 
Richard Goodwin Message #77467, posted by rich at 21:21, 9/7/2006, in reply to message #77466
Rich
Dictator for life
Posts: 6828
Nice!
________
RichGCheers,
Rich.
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77475, posted by Phlamethrower at 22:42, 9/7/2006, in reply to message #77467
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Finally.

[edit]

I'll add TimPlayer support to the next release then, I guess.
Erm, the release after this one, then :P

[edit #2]

And if you happen to download this release, then (a) don't expect too much to have changed, and (b) don't expect the cars to collide with much except the walls. This release was more a test of my packagey-uploady thing than anything useful (Although it does contain a crash fix and new icon sprites :P Plus my potentially very useful makefile updater thing in the source archive!)

[edit #3]

The increasing nonsensicalness of my posts suggests that it's time I GO TO BED.

[edit #4]

*remembers he didn't update the build number in the editors manual*

*updates it*

*presses teh shiny button and watches it automagically package and upload*

Hmm, I really need a shiny button icon to put on the iconbar.

[edit #5]

:o

[Edited by Phlamethrower at 01:18, 10/7/2006]
  ^[ Log in to reply ]
 
Richard Goodwin Message #77481, posted by rich at 07:28, 10/7/2006, in reply to message #77475
Rich
Dictator for life
Posts: 6828


I've only got MSPaint installed on this work machine, so if you want transparent backgrounds, sort it yourself ;)
________
RichGCheers,
Rich.
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77517, posted by Phlamethrower at 20:25, 10/7/2006, in reply to message #77481
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
I have the shiny button! It is clickable!

But it's going to live on the pinboard instead of the iconbar, as it is very large and easily clicked.
  ^[ Log in to reply ]
 
Andrew Message #77523, posted by andrew at 22:55, 10/7/2006, in reply to message #77481
HandbagHandbag Boi
Posts: 3439


I've only got MSPaint installed on this work machine, so if you want transparent backgrounds, sort it yourself ;)
Have you got a mouth ulcer? :)

[Edited by andrew at 00:31, 11/7/2006]
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77593, posted by Phlamethrower at 20:16, 12/7/2006, in reply to message #77523
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Ooh, Judge Dredd.
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77594, posted by Phlamethrower at 20:23, 12/7/2006, in reply to message #77593
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
"Guns are training! Remaing still!"

Such polite execution machines :P
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77596, posted by Phlamethrower at 22:18, 12/7/2006, in reply to message #77594
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Despite audiovisual distractions, I think I've successfully hacked ye olde spandraw polygon clipper into a proper car-world collision detection algorithm. There's undoubtedly some room for improvement, but hopefully I can avoid the hard part by just writing a special-case collision detection algorithm when the car is lying entirely on flat surfaces (which it will be doing 90% of the time).

Also the current implementation will allow me to easily add checks for thin walls between blocks (The polygon clipper is being used to clip the bounding box of the rotated car against the 2D footprint of each blockstack, producing a vertex list of the corners of the clipped area. Thus if a vertex lies on an edge of the block footprint, it's fairly safe to say the car is intersecting any thin wall which also lies along that edge)
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77597, posted by Phlamethrower at 22:43, 12/7/2006, in reply to message #77596
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Would help if it was clipping the bounding box and not the clipping rectangle :P

[edit]

Hmm, kinda working.

[Edited by Phlamethrower at 23:52, 12/7/2006]
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77682, posted by Phlamethrower at 22:42, 14/7/2006, in reply to message #77597
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
It's working! (better)

One of my assembler functions was reading the wrong value from the stack and messing up the clipping :|
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77685, posted by Phlamethrower at 22:51, 14/7/2006, in reply to message #77682
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Interesting - if your hard disc is full, GCC waits indefinitely until some space is free :o
  ^[ Log in to reply ]
 
VinceH Message #77702, posted by VincceH at 10:59, 15/7/2006, in reply to message #77685
VincceH
Lowering the tone since the dawn of time

Posts: 1600
Interesting - if your hard disc is full, GCC waits indefinitely until some space is free :o
Does it tell you that's what it's doing, or does it just sit there indefinitely hoping you might notice something is up?
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77703, posted by Phlamethrower at 11:21, 15/7/2006, in reply to message #77702
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
It just sits there.
  ^[ Log in to reply ]
 
Jeffrey Lee Message #77995, posted by Phlamethrower at 22:29, 23/7/2006, in reply to message #76503
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Anyway, It looks very good. :)
No it doesn't! Almost everything is in blue :|

Unless that problem is specific to specific Iyonicies. But still, looks like I'll have to fix it :| (The problem is caused by the plotter leaving the top bit set of 16bpp pixels. Works fine on RISC OS 3.7, but apparently not on (my) Iyonix. And trying to view a 16bpp sprite in !Paint with the top bits set, in an 8bpp mode, under RISC OS 3.7, produces similar corruption. YAY FOR NOT STATING IN THE RELEVANT DOCUMENTATION THAT THE TOP BITS OF 16BPP PIXELS MUST NOT BE SET)

F12 didn't work to escape the game.
This is because it crashes like a bitch when returning to the desktop.
  ^[ Log in to reply ]
 
Jeffrey Lee Message #78089, posted by Phlamethrower at 00:53, 25/7/2006, in reply to message #77995
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
No it doesn't! Almost everything is in blue :|
After some more poking, it appears that this graphics card hasn't been colour swapped properly :o

It has two outputs, both of which appear to have red and blue swapped in 16bpp modes :cry:
  ^[ Log in to reply ]
 
Jeffrey Lee Message #78090, posted by Phlamethrower at 00:56, 25/7/2006, in reply to message #78089
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Although, rather interestingly, the mouse is displayed in the correct colour.

*attempts to turn the entire screen into a giant hardware cursor while browsing his pink TIB :P*
  ^[ Log in to reply ]
 
Richard Goodwin Message #78097, posted by rich at 07:39, 25/7/2006, in reply to message #78090
Rich
Dictator for life
Posts: 6828
Although, rather interestingly, the mouse is displayed in the correct colour.

*attempts to turn the entire screen into a giant hardware cursor while browsing his pink TIB :P*
Ah, no, that's the new stylesheet I added to mess with your head ;)
________
RichGCheers,
Rich.
  ^[ Log in to reply ]
 
Phil Mellor Message #78104, posted by monkeyson2 at 09:00, 25/7/2006, in reply to message #78089
monkeyson2Please don't let them make me be a monkey butler

Posts: 12380
No it doesn't! Almost everything is in blue :|
After some more poking, it appears that this graphics card hasn't been colour swapped properly :o

It has two outputs, both of which appear to have red and blue swapped in 16bpp modes :cry:
Is there any reason to use less than 24bpp in the desktop these days? Backwards incompatibility and testing aside.
  ^[ Log in to reply ]
 
Jeffrey Lee Message #78106, posted by Phlamethrower at 09:13, 25/7/2006, in reply to message #78104
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Is there any reason to use less than 24bpp in the desktop these days? Backwards incompatibility and testing aside.
Not really - but there is a reason to use it in games :frown:
  ^[ Log in to reply ]
 
Phil Mellor Message #78108, posted by monkeyson2 at 09:37, 25/7/2006, in reply to message #78106
monkeyson2Please don't let them make me be a monkey butler

Posts: 12380
Is there any reason to use less than 24bpp in the desktop these days? Backwards incompatibility and testing aside.
Not really - but there is a reason to use it in games :frown:
Isn't 24bpp easier in games? 1 word = 1 pixel.
I preferred writing 256 colour games to 16 colour for the same reason.
  ^[ Log in to reply ]
 
Jeffrey Lee Message #78112, posted by Phlamethrower at 10:40, 25/7/2006, in reply to message #78108
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Isn't 24bpp easier in games? 1 word = 1 pixel.
Easier, yes.

Faster, probably not.
  ^[ Log in to reply ]
 
Phil Mellor Message #78113, posted by monkeyson2 at 10:53, 25/7/2006, in reply to message #78112
monkeyson2Please don't let them make me be a monkey butler

Posts: 12380
Isn't 24bpp easier in games? 1 word = 1 pixel.
Easier, yes.

Faster, probably not.
The code I'd write for a 32K mode would definitely be slower than the equivalent for a 16M one ;)
  ^[ Log in to reply ]
 
Pages (22): |< < 11 > >|

The Icon Bar: The Playpen: Slightly cold news on page 10! Phlamey breaks the server.