Log In  

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

Old version:

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

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

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

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

P#18138 2016-01-04 01:07 ( Edited 2016-06-01 02:52)

All Comments

Wow very nice!!

P#18139 2016-01-04 01:29 ( Edited 2016-01-04 06:29)

Yeah! Impressive!

P#18143 2016-01-04 06:08 ( Edited 2016-01-04 11:08)

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

P#18144 2016-01-04 11:09 ( Edited 2016-01-04 16:09)

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

P#18162 2016-01-05 04:22 ( Edited 2016-01-05 10:46)

Awesome! Movement is so fluid! I love it!

P#18333 2016-01-16 19:34 ( Edited 2016-01-17 00:34)

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...

P#18334 2016-01-16 22:01 ( Edited 2016-01-17 03:01)

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

P#18339 2016-01-17 19:12 ( Edited 2016-01-18 00:12)

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

P#18344 2016-01-18 03:15 ( Edited 2016-01-18 08:15)

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)

P#18357 2016-01-18 17:59 ( Edited 2016-01-18 22:59)

Added a final boss and a title screen.

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

-Electric Gryphon

P#18392 2016-01-22 03:14 ( Edited 2016-01-22 08:14)

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

P#18411 2016-01-23 09:28 ( Edited 2016-01-23 14:28)

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

P#18414 2016-01-23 12:38 ( Edited 2016-01-23 17:38)

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!

P#18416 2016-01-23 12:52 ( Edited 2016-01-23 17:52)

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!

P#18417 2016-01-23 13:25 ( Edited 2016-01-23 18:25)

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.

P#18447 2016-01-24 17:36 ( Edited 2016-01-24 22:36)

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

P#18473 2016-01-26 01:27 ( Edited 2016-01-26 06:27)

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

P#18474 2016-01-26 02:02 ( Edited 2016-01-26 07:02)


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?

P#18525 2016-01-30 05:57 ( Edited 2016-01-30 10:57)

To be honest, the 3D part was taken mostly from this tutorial:

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.

P#18534 2016-01-30 13:49 ( Edited 2016-01-30 18:49)

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

P#18549 2016-01-31 05:50 ( Edited 2016-01-31 10:50)

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.

P#21853 2016-05-30 23:38 ( Edited 2016-05-31 03:38)

Hmmm. I will try to recreate and repair

P#21979 2016-05-31 19:29 ( Edited 2016-05-31 23:29)

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

P#21984 2016-05-31 20:03 ( Edited 2016-06-01 00:03)

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!

P#22003 2016-05-31 22:52 ( Edited 2016-06-01 02:52)

[Please log in to post a comment]