Log In  


Cart #18391 | 2016-01-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
82

Old version:


Cart #18356 | 2016-01-18 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
82

Cart #18343 | 2016-01-18 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
82

Cart #18137 | 2016-01-04 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
82


It's a complete game now, with a title screen and a final boss.

--Arrow keys to move
--Z-key to fire
--X-key to strafe

Defeat the Star Beast on level three!
You start in the elevator. Use the Z key at the console to go up one floor, provided you have destroyed all robots and collected the keycard, which is hidden in the level.

--This is inspired by AfBu's 3D experiment, as well as Lode's Computer Graphics Tutorial on ray-casting, which uses a different stepping method than AfBu. (http://lodev.org/cgtutor/raycasting.html)
--Horizontal distortion effect borrowed from qbicfeet

82


All Comments
1

Wow very nice!!


Yeah! Impressive!


This game is very cool, and I have played it many times !!


Reminds me of Tyrannosaurus Tex. (To that end, if you're looking for a use for the X key, strafing. Definitely strafing.) Good job!


Awesome! Movement is so fluid! I love it!


1

I just ran out of program chars this evening and was prepared to start shortening names and removing comments. Then realized that I hadn't upgrade to version 0.1.4d. Now I have a full 2,000 tokens and 32,000 more characters left. It's the small things that make me happy.

Now to finish up dynamic map creation...


Great work! So we're gonna have a procedural game? That should cut down on space a lot. Lookin' forward to it. :L


Updated to 0.9

Changes include:
--Map is now generated procedurally using a sparse matrix
--Enemies have different behaviors and can shoot
--Bullets leave holes in walls
--Added HUD for health, keys, and money
--Added radar for enemies
--Added health and coin pickups

Still to do:
--No real sound effects, let alone music
--Needs a title and game over screen
--Would still like more variation in room type
--Boss robot on floor 5 with a clear end game


A few more updates:

--Fixed double load of rooms, which lowered frame rate and prevented items from disappearing when picked up
--added more sound effects for doors, shots, damage etc
--reduced map size a bit to improve speed
--enemy shots go through doors (open or otherwise)


Added a final boss and a title screen.

I'm going to consider this one done for now.

-Electric Gryphon


Really great result. Can you estimate how many tokens went into the pure rendering of the level, without any gameplay?


The parts of the engine that draw walls and sprites are roughly:
Tokens: 1029/8192
Program Chars: 5427/65536
Compressed: 1935/15360


5

Here's an earlier version of the engine that only has wall rendering, sprites, and basic movement. (This is before I clobbered the code with a spaghetti of game play elements.) If anyone wants to use this framework for anything, I am all for it!



Thank's a lot for the stripped down version - already thinking about one or the other way to use it in a possible sequel to my first pico8 project, but I need to finish that first :). Really great tech!


Man sometimes I just feel like I have no good way to attack these enemies, since they are so dangerous in close quarters. This game is just hard. I like it though! If it's going to have 5 levels it should probably save the harder enemies for later.


This is really cool! Thanks for the engine too! I've wanted to play around with raycasting in PICO for a long time! :)


I'm impressed as !@!@$ to see this on Pico8. Great job!


Wow!

What'd you say how likely it is to look at the code of your game and figure out how all this works, especially the 3d part?


To be honest, the 3D part was taken mostly from this tutorial:
http://lodev.org/cgtutor/raycasting.html

The tutorial is great, with clear illustrations and even complete C source code. I simply translated the code into PICO-8 Lua, with map and sspr calls, going step by step. I'd recommend just starting with the part of the tutorial on un-textured ray casting and building up from there if you want to have a good understanding.)

Now that I have been working to add more features to the engine (floors, variable height walls, and distance fade) I have been starting to understand the code in more detail. I am also starting to optimize the ray cast code for speed a bit more so that I can get these features in without dropping frame rate.


Thank you! I know where to look if I ever get the 3D itches now.


I really love the game, but it currently has some kind of bug that crashes PICO-8 completely. It happens in both the web player and the desktop version. It usually happens on game over when you try to start a new game.


Hmmm. I will try to recreate and repair


Small bug: If you fire at door and then approach them so they open, the bullet hole hangs in the air.


If anyone wants to use this framework for anything, I am all for it!

Perhaps make a repo? I'd be interested in contributing to such a FOSS raycaster for pico8!



[Please log in to post a comment]