RayCoaster is a simple 3D raycaster. The source code and executables
for Windows and Linux are provided. Download executables for free in a free demo. RayCoaster has been tested in Windows (with
32 bit MinGW) and Linux, but should also be possible to build for Android, macOS and iOS. SDL2 and SDL2_image libraries must to be
installed to build RayCoaster. The right to sell and distribute is
1. What map editor does it have?
This is the map.txt file from RayCoaster that completely defines the map and the images for walls and sprites (the rest are generated images). Walls and sprites can be different height, partly transparent, clipping or not clipping (eg c1_ demon2.png makes the sprite not clipping). The source code has 554 lines of code, can change everything in the map and is made to facilitate making a game.
2. Many simple raycasters have been made, isn't writing another one too out of date?
Most of the simple ones are not really good enough for making a game. Most have walls all the same height, there are no sprites. The engine is often not written good enough, try to move out of the map or even look out of it, and it crashes. The code does not facilitate making a game. Creating a map is inconvenient, the number of walls, etc, that can be used, is too restricted, there is no simple way to change images to be loaded. Often there also are many bugs in the code. So obviously in spite there are many simple raycasters made, there is a lot to improve. Things can always be improved, that something is already there and there is no way to make it better, is almost never true, at least what concerns software.
3. I really don't understand why do i have to pay for a simple thing like this, why cannot it simply be free?
It costs $3, right, and this is likely a big obstacle for many, as all expect it to be free. Making it free looks ideal for many, but does not always look ideal for me. I think there should be something in between commercial closed source and completely free. So that both the users and developers get benefit. Open source with a small price is one such option.
4. I can find a free one, why do i need to pay $3 for only 554 lines of code?
You may search for a free small raycaster engine that has all the features written here, most likely you cannot find any, i at least couldn't find. I did never write such raycaster, not to talk selling it for $3, when there were a similar one free, but better. One may think the code of some free raycaster can be taken, and the necessary features added. I can tell you that it is not that easy, i had a lot of trouble with this, you may save more than a month of your precious time by getting RayCoaster.
5. How is it any better than many simple ones out there?
I love simplicity, clarity, abstraction and easy changeability, so i hope that when you read the RayCoaster code, you get a very clear idea of what raycaster exactly does, in the smallest detail, which i couldn't get before RayCoaster, by reading the code of the other raycasters out there. Thus if your aim is to write a simple raycaster game, i think RoaCoaster will at least be very useful for you, even if you also use some other code or tools or there are things you would like to add to RayCoaster engine. For some simple game the RayCoaster engine alone will likely be enough though.
6. Is it at least as good as Doom or is it yet another primitive Wolfenstein 3D?
The RayCoaster engine is in some way in between Wolfenstein 3D and Doom. It is not so advanced as Doom, but for example you can make a wall or sprite image different height, and in 3D the corresponding wall or sprite will be that height. This enables for example to have buildings and outdoor scenes like in Elder Scrolls Arena or other such games. Yet no simplicity is sacrificed.
7. Why should anyone today use such low resolution images? What is the image format?
Magenta (255, 0, 255) is the transparent color for
walls and sprites. It loads png images 64 pixels wide (as it was in the
early games like Wolfenstein 3D and Elder Scrolls Arena) with any
height, that have no alpha channel. So make sure that there is no alpha
channel, if there is one, remove it, otherwise the image will not load.
8. I want to make an advanced 3D game, why do i need things like this that have no features or anything?
You may think it's better to make a more advanced 3D game. Depending on what you can do or want to do, this may be a good idea. But the hell, i need fun, if all the complexity takes all my fun, then what's the use of it?