RType style shooter

Blitz3D Forums/Blitz3D Beginners Area/RType style shooter

Uhfgood(Posted 2005) [#1]
I'm thinking about maybe putting my other game on the shelf and focus on something where the collisions are easier. A sidescrolling r-type style shooter, but in 3d.

Only I have a unique consideration, and that is that I want there to be no levels but instead one long continuous level (will be divided into zones).

Can someone give me any idea on the practicalities of doing this, possibly with the free version of maplet... Can you build a large b3d level and load it into the program without any real problems -- I realize it would be large, and that memory would be a concern, but how would you do this... split it up into pieces? or what?


RiverRatt(Posted 2005) [#2]
Um? What is a RType style shooter?

I have made a space shooter like that. It has levals but not like normal levals, and you can die over and over and you just keep starting on the same leval. Its completly automated. You can just let it run for hours like a screen saver. But its not got buildings or anything, just big floating rocks, that get distributed between levals. When the player hase compleated a leavel all the rocks just get moved in front of the player completly random, so its different every time. Also the enimies get harder and harder, and more and more.
I would sugjest making some kind of tile based leval where you could do something like that. Take the parts of the leval you have already passed and rearange them to the front.


Uhfgood(Posted 2005) [#3]
R-type is/was a sidescrolling shootem'up that was originally on the commodore 64 and a number of other computers, starting from 1988. Essentially it is what defined the genre...

http://www.mobygames.com/game/r-type

in any case it's just any class of sidescrolling shmup

Napoleon was building a 3d shmup (or as he called it 2.5d as the view never changes)... from one of his messages I gathered he came up with a system of reusing various mesh "pieces" to construct the background for various levels.

I guess I would need to do this, if I were to start this game.

Keith


JazzieB(Posted 2005) [#4]

R-type is/was a sidescrolling shootem'up that was originally on the commodore 64...



Hmm, actually it was originally a CoinOp in the arcades by Irem into which I deposited many a coin. A classic game for sure and in the same league as some of the older classics of Nemesis, Salamander and the ilk.

I still play R-Type, R-Type 2 and R-Type Delta on my aging PlayStation. Shame there's not many decent shooters around today. Ahh, the days when gameplay was everything ;)


Uhfgood(Posted 2005) [#5]
I think for it's time r-type's graphics were ahead of it's time - er that is to say were better than the rest... And in fact with the exception of the snes version, any newer versions didn't seem to stand out as much as those old ones did, graphics-wise...


WolRon(Posted 2005) [#6]
split it up into pieces? or what?
Yep.
possibly with the free version of maplet...
Maplet is designed to build INTERIORS, not EXTERIORS. Also, it's really designed to make 'blocky' areas, such as indoor buildings. You would be best off using a different modeller, I think. Check out the Toolbox section.


Uhfgood(Posted 2005) [#7]
Thanks for the reply WolRon - essentially alot of shmups are "inside" something, like a planet or a base - I was considering using maplet for that, but one big level is too big :-)


Panno(Posted 2005) [#8]
i made a r-type II (PS) test for 1 1/2 Years and used
maplet for exterior but my gfx are ugly !

ps: its a cool game


Ross C(Posted 2005) [#9]
What you really need to do is say have a way to store your level, using numbers. Say, each block is stored in data statements.

data 4 ; block number

data 13 ; mesh reference number in array
data 20,10,0 ; position of mesh

data 13 ; mesh reference number in array
data 40,10,0 ; position of mesh

data 15 ; mesh reference number in array
data 35,10,0 ; position of mesh


You would have an array that you copy the mesh from, using the reference number in the data statement. That way, everytime you load a new block, you construct the block form the data statements which contain the mesh number and it's position. Create these new meshes in a type collection, so the time a new block rolls round, you free all the entities in it, then create the new ones.