PDA

View Full Version : Thaumaturge's Hall of Horr- uh Prototypes



Thaumaturge
21-03-2008, 12:05 AM
Well, in keeping with the request in Dislekcia's prototype thread, and having decided that a few other old projects were worth showing, I hereby present my own little list of old and abandoned prototypes.

Please note that all of these are pretty cold - years old, in fact, I think.

None have real names, I don't think, I'm afraid. ^^;

The first was, as I recall, intended to be a 3D Roguelike game, which got as far as generating randomly-sized square rooms, connected by corridors. I'm quite happy with the corridor results, at least.

The pattern of blue dots at the top-right is a minimap of the level, with the player's position and orientation given by the little green arrow.

Controls:
w,s,a and d produce forward, backward and strafing movement, while the mouse controls the view direction.

Hit escape to exit.

Download. (http://gamedev.openhazel.co.za/filecloset/data/files/406/rooms.zip)

http://img509.imageshack.us/img509/4361/capture20032008231521ib2.th.png (http://img509.imageshack.us/my.php?image=capture20032008231521ib2.png)

Known problems:
- There is no collision detection.
- The wall models are horrible.
- The rooms are "turned off" incorrectly in some cases (they're intentionally not rendered under certain - alas, buggy, it seems - circumstances).
- The corridors are very dark (this was intentional, as I recall, with the intent of replicating Rogue's one-block-view-distance corridors).


The second was probably a large influence on Ludus Magicus (which some of you might remember from some months ago - I do still intend to make it more readily available once I have that website of my own to upload to.

It was intended to be a sort of board game, or perhaps a board-game-RTS-hybrid - I'm honestly not sure at this point. It also implements a height-map board, with picking based on (currently invisible) nodes.

I seem to recall that I abandoned this project when I discovered that, at the time, flooding the board, even small as it is, with fire resulted in noticeable slowdown. (This doesn't seem to be the case any more, at least not that I've noticed in the runs that I've performed today.)

Controls:
The red circle indicates the selected node; clicking the left mouse button with such a node selected will enact the currently-selected spell, if any.

The spells are available via the set of buttons on the left; only the explosion and fire spells actually work, I'm afraid.

The fire spell causes flames to appear in the selected node and a few nodes around it.

The explosion spell creates a brief particle effect and a dent in the heightmap. Repeat rapidly for best effects, I find.

Hold down shift and move the mouse to change the camera direction and angle of elevation.

Hit escape to exit.

Download. (http://gamedev.openhazel.co.za/filecloset/data/files/405/boardgame.zip)

http://img505.imageshack.us/img505/6136/capture20032008231111hm0.th.png (http://img505.imageshack.us/my.php?image=capture20032008231111hm0.png)


The third, and final is essentially a top-down scrolling shooter extended to 3D, and takes place in a sort of tunnel (as opposed to the rectangular playfield of a scrolling shooter).

I recommend moving backwards immediately when the game starts; if I recall correctly, as the test level is currently set up, much of the action occurs behind the player's starting position.

Feel free, however, to play with the level file (test.lvl) - it's a simple text file.

Controls:
w,s,a, and d produce forward, backward and strafing motion, while the mouse directs the player's direction.

The mouse button fires the current weapon, while the space bar cycles between weapons (which I don't think differ overmuch).

As per usual, hit escape to exit.

Download. (http://gamedev.openhazel.co.za/filecloset/data/files/407/tunnel_shooter.zip)

http://img148.imageshack.us/img148/8669/capture20032008231236fv4.th.png (http://img148.imageshack.us/my.php?image=capture20032008231236fv4.png)

~

That done, I head off to download the prototypes that I don't yet have. ^_^

Afflict
21-03-2008, 04:32 AM
These look great! This was an excellent idea, the community certainly seems allot more "alive" lol ;)

Anyway this is just inspirational! (all the threads including this one ;) )

Fengol
21-03-2008, 08:04 AM
How are you randomising your map in The First, they definitely look Rogue-ish? Actually, if my character was holding a candle and sword and I fought a 2d monster I would have sworn I was in a cleaner version of Ultima Underworld. Except for the movement speed it's awesome!

I was also really impressed with The Second, although I'd loved to have zoomed in. Did you ever play Master of Magic? It was a Civ type game but with fantasy races and you could cast spells to help your cities and destroy others. Might be useful to check out if you continue this.

SkinkLizzard
21-03-2008, 11:24 AM
The second from the screen shot reminds me very much of populous the beginning
although in that your shaman did all the casting.
*downloads these*

Tr00jg
21-03-2008, 05:52 PM
I tried the 2nd one and I quite liked the graphics. Not much more I can say. :P

Thaumaturge
21-03-2008, 06:39 PM
Thank you all. ^_^


Anyway this is just inspirational! (all the threads including this one )

I'm very glad to hear it. ^_^


How are you randomising your map in The First, they definitely look Rogue-ish?

It's been a while since I coded that, but, if I've read my code correctly, the algorithm looks something like this:


1. For as many rooms as desired:

a. Generate a random room size.
b. Generate random positions (that won't result in the room leaving
the bounds of the play-area) until you find one that doesn't result
in the room overlapping of coming too close to another (I think that
I required an at least one-tile gap between rooms),
c. Generate and store a room using these values.

(Yes, this logic has a flaw: if the number and sizes of rooms are not carefully chosen,
it's possible to end up in a theoretically-infinite loop as the program tries to
re-position a room for which there is no space. This wouldn't be too difficult to fix,
I don't think, however.)

2. For all rooms:

a. Pick another room as a "target"
b. Using the centres of the two rooms, calculate the distance-squared in each of the
x and y axes between the rooms (distx and disty). The centre of the current
room becomes the "current position".
c. While distx is less than the target room's width squared and disty less than its
height squared:
(roughly speaking)
- A variable called "turnflag" is used to reduce corridor turning - this allows
for long runs, instead of zig-zags, and also encourages over-shooting,
and thus more deviations in corridor course.
i. Decrement turnflag.
ii. If the current tile is unset, set it to be a corridor tile
iii. Move in the current direction, if not near a player-area border; if we are
near such a border, select a random direction.
iv. If turnflag is less than or equal to zero (in other words, we are allowed to
turn), reset turnflag (to a randomised number, although the degree of
randomness is variable) and, if it would take us closer to the target room,
change our direction by ninety degrees in the appropriate direction.
v. Recalculate distx and disty based on the current position and the target room's
centre.


Actually, if my character was holding a candle and sword and I fought a 2d monster I would have sworn I was in a cleaner version of Ultima Underworld. Except for the movement speed it's awesome!

Thank you very much! That's quite a compliment! ^___^


I was also really impressed with The Second, ...

Thank you very much again. ^_^

The idea was more or less continued in Ludus Magicus (which, as I indicated in my original post, I do intend to host somewhere in the not-too-distant future ^^; ), although its gameplay is more abstracted, I think, being even more a board game than I think that I had intended for this game.

Like this game, it uses a heightmap for the board, has an underlying node structure, and allows the player to cast spells, either on the board itself or on pieces, to help or hinder.

I don't think that I ever played Master of Magic, but you did remind me of Fantasy General, of which I seem to recall playing a demo, and which I recall including the ability to cast spells on units.