Worklog for semar

Worklog 1

Return to Worklogs

Top Secret - 2(Posted 2003-08-18)
-- Middle August 2003 -- Version: 0.2

I decided to re-start the unit's engine from scratch, using pathfinding instead.

Right now I did some incouraging test, so I can actually map the level with path nodes, which will be later used by the pathfinding routine.

I'm trying to keep the node matrix as small as possible, because the pathfinding could really slow down a game when lots of processing is required.

So far, I then achieved this goals (testing one unit only):

- the unit goes from any start point to any end point following the nodes guidance.

- if a building is built on the map, the node matrix is updated so that the next time a path is requested, it will take in account the building

- if a unit follows the path, and a building is built on that path, then the covered nodes are deleted, and substituted by a new path (small path) which will re-assemble the truncated path. The node matrix is also updated accordingly.

Something I have learned:

I had to check if the placed building covers one or more nodes. Both are 3D cubes - a big one for the building, small ones for nodes.

First, I've tryed with the built-in 3D collision engine, but I had troubles to determine all the nodes which have been touched by the building. Seems that CountCollisions does not really make the job I need in this case.

So, what has really helped me was.. 2D collisions !

Yes, doing just a RectOverlap between the building and node rectangles did the trick.

The two rectangles was:
- the one related to the building, and
- the one related to the node.

I needed to adjust the width and height of such rectangles, because it really depends on how each 3D entity are scaled.

For the 2D position of the rectangles, I could just easily use the entityX() and entityZ() values of the 3D entities.

And... bingo ! It works like a charm, so combining 2D collisions with 3D object not only is possible, but gives also much more controls - for example, with 2D collisions I have achieved a non-response 3D collision in a very elegant way.


Games, Tutorials and More

Top Secret - 1(Posted 2003-08-18)
--- Description.

Top Secret would be a Real Time Stragegy (RTS) game.

Players will set up their own base on a map (in a 3D ortographic view), build vehicles, units and structure.

The map is covered by a FOW (Fog Of War), and it's only revealed when units go through it.

There will also be a 2D radar which will help the player to go through the map.

The aim of the game is to defeat the opponent(s), or play in cooperative mode to defeat other human or PC controlled teams.

--- Version History

-- Middle July 2003 -- Version: The very beginning. (0.1)

The first target I had starting this project, is to set up a reliable engine to move the vehicles.

The very first version used connected waypoints, which have their connection rules pre-calculated in a table. To find a route, the unit only has to follow the nodes found in the table.

It was indeed a good method, but limited in some crucial aspect.

In fact, the waypoint network is static, thus it does not allow alternative path, and neither helps when a waypoint is not reachable because a building was mounted on it.


Games, Tutorials and More

Dangerous Robots(Posted 2002-07-18)
Pathfinding tests...


Games, Tutorials and More

Dangerous Robots(Posted 2002-07-02)
Learning nice things about Blitz3D !

I've discovered that EntityVisible works way better than EntityPick, when you want to check if two entityes can 'see' each other; but the EntityPickMode of the obstacles, should be set to 2 (polygon).

I've also added a function in the code archives, which is handy when you want to rotate an entity toward another, and choosing the short path: Smart Turn

Now I'll improve the player controls, adding strafe mode and shooting during walking.

Also the robot behaviours are going to be a bit.. smarter...

Sergio.


Games, Tutorials and More

Dangerous Robots(Posted 2002-07-01)
My first attempt of a Blitz 3D game !

Dangerous Robots is actually in a WIP status; it can be download from:
Dangerous Robots

At the moment there's only one robot... ;-)
When it reaches the damage of 20, simply disappears...

I'm now tiding up the robot's strategy (AI), and modifying the bitmaps for a better looking.

In the TO-DO list:
- more robots
- different weapons
- sfx
- music
- level editor
- doors and elevators
- more player control (Actually the controls are:
arrow key to move, left ctrl to shoot, M to toggle screen text.

1st of July, 2002.

Sergio.

Shots:







Games, Tutorials and More

Iridis Alpha(Posted 2001-11-23)
Iridis Alpha - Worklog 01
-------------------------

First of all, a special thanks goes to Jeff Minter aka Yak, for having coded such an addictive game !!

At the moment the remake is almost complete..

Yesterday I've solved some glitches related to resetting some global variables; they were not reset at each new game start from the main menu.

Also, the 'which_tile_is_under' function needs a retouch, since it does not report the tile under the gilby with good precision sometime.

The problem is that the tiles moves smoothly, so the gilby could sometime be above both a core and a not core tile. 8P

In the same time, I want re-design the map, and make it more clean; perhaps this will also minimize the 'which_tile_is_under' glitch.

I will add also a starting stage, where the mirrored gilby is not active for the first three alien waves, to get the player used to the game itself, the map, and not worryed about entropy.

Also, the fps must be limited to, say, 40-50; right now I get 60, and the guy that is testing the game, gets up to 120 fps, which make the game unplayable !!! :-(

Hopefully the terrible lickers will be less aggressive, with a normal speed... otherwise, I will change their A.I. to be more 'kind' with the gilby...(killing gilby softly ?.. ;-)

Beside this, the game runs very smooth. I've added also some nice sound effects, and I want try to add some "atmosphere" to the game, so to hear something even when gilby does not shoot or isn't hit; wind, for example, or something similar, would make the job.

A nice improvement could be also to change sound effects in each planet, so to make the game more alive and original each time.

The same behaviour I want apply to the 5 bonus stages, so to have a different atmosphere in each one.

Tweaking the game now gives me lots of pleasure, as well as I've got while coding it...

And I have to admit that the testing sessions become often real challenges, and I forget what I was testing for... LOL !

I want officially thank Myke-P for his support and graphic help, and Mark Rayson for beta testing and kind suggestions.

Ciao,
Sergio.


Games, Tutorials and More