Log In  
Follow
freds72

Old enough to have known the golden age of Amstrad and Amiga ;)
Still own a few Tilt and Joystick magazine (yeah, I am french).
Professional software architect, hobbyist gamedev.

Game & experiments repo: https://github.com/freds72

Twitter account: https://twitter.com/FSouchu

SHOW MORE

Cart #freds72_daggers_title-8 | 2024-02-28 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
42

Note: game must be played from splore - this page doesn't support mouse lock
Note: global leaderboard not yet available

Take the cursed dagger, use its power to dispatch the horrors from this hellish place, score the best time!

Note: this is not an official Devils Daggers port for PICO8 but a fan game using Sorath's game universe.

How to play

  • Default controls: ESDF + mouse
  • Fire: left mouse button
  • Jump: space

Local stats icons:

  • number of jewels collected
  • number of daggers fired
  • hit ratio
  • obituary message
  • session time

Configuration & Settings

Go to Settings , adjust and accept to save your changes.

Online Leaderboard

Game uses Newgrounds leaderboard for competitive play.

Play from until scoresub is available:
https://freds72.itch.io/demi-daggers
https://www.newgrounds.com/portal/view/905300

Click on online - connect button on title screen to login (or create) with your NG account.

Online ladder can be disabled from settings menu.

Editor How to

Game ships with a built-in editor.
Design your own voxel enemies and share your creations on #demidaggers!

(see workaround below for middle click)

Editor 101

*All commands have a tooltip, hover the mouse on the icon and a sliding text will appear:

Mouse bindings:

  • left click: draw voxel
  • middle click (hold): rotate view
  • right click: pick color from cursor
  • green line: represents the drawing plane (switches dynamically)
  • mouse wheel: moves drawing plane back&forth (slices)

In case you want to revert to original models, hit P (for pause) and select reset all (needs confirmation).

Saving & Sharing

play command saves the models, generates images and goes back to title

copy copies the current model to the clipboard, easy to share a single model. Don't forget to post the corresponding gif!

Paste the text on the target model to use it.

export saves all models for sharing

When running standalone (binaries or PICO8 desktop), file is located under

%APPDATA%\pico-8\appdata\freds72_daggers\export.p8l

When running on web, use browser dev tools to extract the "freds72_daggers_asssets.p8l" file.

Drag&drop an export.p8l file over an open editor to replace your current voxel collection.

Credits

  • Sorath: original game!
  • Ridgek: (awesome) music & sound design
  • Artyom Brullov: additional gfx (thanks!)
  • Heracleum: cover art
  • Werxyz, Miss Mouse: beta testers
  • Zep and the #pico8 discord folks!

Post-mortem & Technical Details

See: https://freds72.itch.io/demi-daggers/devlog/638738/journey-to-demi-daggers

Changelog

V1.3 (15064e3)

changed: removed multi-spritesheet exploit with new Pico 0.2.6 version
changed: covert art by Heracleum

V1.2 (8f696d9)

changed: improved egg model (re-generate via editor)
changed: squid spawn no longer invicible before spewing
changed: reduced shotgun duration (3 frames)
changed: reduced worm difficulty
changed: Increase spawn & chatter spider sfx loudness
changed: lower streak wait time
changed: high level shotgun fire over several frames
changed: large centipede health
changed: increased skull gravity
fixed: improved shotgun cpu usage
fixed: prevent chatter from not playing back after Ctrl+R reload
changed: reduced skulls upward speed
changed: improved squid hitbox
added: auto gif option for best score>30s
changed: attract cooldown for shotgun
changed: build version in settings menu
fixed: crash in editor for bad colors
fixed: high cpu switching menu in title
fixed: skulls fountain on title
fixed: removed invalid color in editor

V1.1 (164e498)

changed: shotgun on "long" click
change: upward move on squid spawns
fixed: smooth "coyotte" move
fixed: jump on press
fixed: removed browser mouse acceleration
fixed: editor not going back to title
fixed: editor crash on last color

P#137782 2023-11-22 20:19 ( Edited 2024-02-28 20:32)

SHOW MORE

How to reproduce:

  • save a zero length pico8 file
cstore(0,0,0,"blah.p8")
  • reload() file from another cart
reload(0x0,0x0,0x4300,"blah.p8")

surprise! 0x0 -- 0x42ff was been wiped out clean even if "blah.p8" doesn't contain any data :/

P#137575 2023-11-17 18:24 ( Edited 2023-11-17 18:25)

SHOW MORE

Symptoms: the mouse drifts right on Firefox (only)

How to reproduce:

  • export demo cart as an html page
  • publish page on itch.io (or equivalent)
  • run game on Firefox (MacOS or Windows - Linux is fine)
  • notice mouse x-drifting

Note: does not occur when game is run locally
Note: does not occur when game is run fullscreen using the Pico8 button
Wild guess: suspect a Firefox bug regarding mouse coordinates and iframes?

Test cart:

Code:

function _init()
 poke(0x5f2d,0x5)
end

_x,_y=0,0
function _update()
 _x=mid(_x+stat(38),0,127)
 _y=mid(_y+stat(39),0,127)
end

function _draw()
 cls()
 print(_x.."/".._y,2,2,7)

 circfill(_x,_y,4,8)
end
P#136966 2023-11-05 15:15 ( Edited 2023-11-05 16:12)

SHOW MORE

How to reproduce

  • execute code:
print("a")
(nil or print)("b")
  • outputs:
A
runtime error line 1 tab 0
print("a")
attempt to call a number value
at line 1 (tab 0)

note that print("a") is correctly executed regardless of the error being reported on that line!

Workaround

print("a")
local fn=nil or print
fn("b")
P#131500 2023-06-30 19:46

SHOW MORE

Expected:

-- save to p8.rom format
cstore(0,0,0x4300,"test.p8.rom")

Outcome (bug): test.p8.rom is actually a png file!!

P#125362 2023-02-05 13:32 ( Edited 2023-02-05 13:33)

SHOW MORE

The _env (lower case) keyword is no longer supported:

example cart: https://www.lexaloffle.com/bbs/?tid=48907

likely a general bugs on upper/lower case remapping.

P#122340 2022-12-13 19:27 ( Edited 2022-12-13 19:30)

SHOW MORE

Marking as resolved - this is a "feature" of printh to stop at \0.
Solution to export p8scii to clipboard is given here: https://www.lexaloffle.com/bbs/?tid=38692

Repro cart:

Cart #haguramako-0 | 2022-08-20 | Code ▽ | Embed ▽ | No License
1

Outcome:

  • p8scii correctly copies bytes on screen
  • bug: clipboard gets only a truncated command (should be 612 chars)

Note: works as expected if background is not 0

P#116055 2022-08-20 13:38 ( Edited 2022-08-20 15:38)

SHOW MORE

The new poke to set map start cannot be applied to 0x20.
eg:

— does nothing :[
poke(0x5f56, 0x24)

for small maps, the 0x2000 ‘hardware’ map area cannot be reached in full:

— hw map
poke(0x5f56, 0x20)
— say tiles are starting after a large 32x32 map
— set width
poke(0x5f57, 2)
— yikes, cannot set y offset (>256)
poke(0x5f3b, 32*32\2)
P#102894 2021-12-16 07:51 ( Edited 2021-12-16 07:55)

SHOW MORE

Holiday season, stuck at home waiting to open presents?
Despair snow more, a play of totally accurate bowling will enjoy the day!

Cart #freds72_bowling-5 | 2021-12-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
37

Devlog

Codebase expands from Ghost Rally, no longer limited to a single dynamic/static response.
Collision hulls are limited to solid rectangles to benefit from simplified overlapping tests and clipping maths.
The whole engine could be plugged into any 3d engine if you don't mind the staggering token cost :/

Sources are available at: https://github.com/freds72/chamboultout

The game went through multiple iterations (initial idea was a "chamboultout"), including odd things like:

or a "Santa Bombers"!

Changelog

1.1 fixed: invalid "spare" message when producing a strike

Credits:

  • Physic code & articles by Randy Gaul: qu3e
  • Physic articles & talks from Dirk Gregorious: Contacts Talk
  • Radix sort by James Edge ( @jimmi)
  • Secret Discord team ( @Jusiv, @markgammed...)
P#102722 2021-12-14 06:16 ( Edited 2021-12-18 21:03)

SHOW MORE

Cart #poom_0-9 | 2022-01-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
363

BBS Edition to celebrate year 1 of POOM release!
(limited to 1 level - sorry!)

Enjoy full game at: https://freds72.itch.io/poom

Controls

Alternate scheme (select from controls menu):

Devlog

Game is "multi-cart", using 0x8000 region filled with raw data from 2 carts (poom_0+poom_1).

Engine details: https://freds72.itch.io/poom/devlog/241700/journey-to-poom

Credits

Art+Design+Music: @paranoidcactus
Code: @freds72

Changes

  • added: Jelpi Spotter credit :)
P#101541 2021-12-05 13:04 ( Edited 2022-01-03 20:59)

SHOW MORE

See repro cart - unless I am totally wrong on my software tline, pico8 tline ("hw tline") is not correctly rendering lines with arbitrary slopes.

Software version eventually converge toward correct pattern, tline does not.

Cart #rikegukawu-0 | 2021-06-20 | Code ▽ | Embed ▽ | No License
5

P#93773 2021-06-20 08:25 ( Edited 2021-06-20 08:25)

SHOW MORE

stat(31) fails to report any key mapped to an accentuated character (ex: on AZERTY keyboard, 2 is mapped to key "é").
It prevents support for diverse keyboard layouts.

Suggest to have a raw keyboard stat value to report key number.

Cart #goyonusuha-0 | 2021-04-09 | Code ▽ | Embed ▽ | No License
4

P#90300 2021-04-09 20:06 ( Edited 2021-04-09 20:09)

SHOW MORE

How to reproduce:

  • register custom menu entry
  • run game with an endless while/flip loop

bug: menu item code is never triggered

Cart #gijenijato-0 | 2021-01-01 | Code ▽ | Embed ▽ | No License
3

P#86023 2021-01-01 14:16 ( Edited 2021-01-01 14:17)

SHOW MORE

It is not possible to present actual keys being used by pico in game.
Pico8 keyconfig can be used to remap keys.

Proposal:

keyconfig id [player]
returns the character being used for button id and player (default 0)
P#85463 2020-12-16 08:31

SHOW MORE

How to reproduce:

  • launch cart
  • set custom screen palette:
pal({140,1,139,3,4,132,133,7,6,134,5,8,2,9,10},1)
  • load data:
reload(0,0,0x4300,"cart2.p8")
  • while data gets processed, hit "pause"
  • bug: screen palette gets reset

Can be reproduced on POOM on the loading screen (https://freds72.itch.io/poom)

P#85389 2020-12-14 20:57 ( Edited 2020-12-14 21:00)

SHOW MORE

Using -export command to automate multi cart package building and blocked by a number of bugs:

  • unable to specify HTML plate path (only works if export is actually performed from home folder)
  • inconsistent path parameters between bin and html exports:
# works for html
pico8.exe carts\cart_0.p8 -home . -export "game_alpha.html -p my_plate cart_1.p8 cart_2.p8"
# doesn't work for bin
pico8.exe carts\cart_0.p8 -home . -export "game_alpha.bin cart_1.p8 cart_2.p8"
# works for bin
cd carts
pico8.exe cart_0.p8 -export "game_alpha.bin cart_1.p8 cart_2.p8"
  • incomplete js generated unless export is run from carts folder
# produces broken js
pico8.exe carts\cart_0.p8 -home . -export "game_alpha.html -p my_plate cart_1.p8 cart_2.p8"
P#83543 2020-10-31 14:01

SHOW MORE

Thick line drawing routine (as a reply to @JadeLombax Twitter).

Cart #rabogemeri-0 | 2020-07-29 | Code ▽ | Embed ▽ | No License
7

Manual:

linefill x0 y0 x1 y1 r [col]
draw a 2*r pixel wide line
note: r must be >= 0.5 to produce meaningful results
note: the code uses sub-pixel precision rasterization, allowing smooth movement

Example:

-- 4 pixel wide white line
linefill(45,34,67,96,2,7)
P#80095 2020-07-29 16:32 ( Edited 2020-07-29 16:35)

SHOW MORE

introduced in 0.2.0d
how to reproduce:

  • call tline with a start point outside of screen boundaries
  • tline starts at 0 without adjusting lookup coordinates

repro cart:

Cart #kuwirapima-0 | 2020-04-24 | Code ▽ | Embed ▽ | No License
14

P#75284 2020-04-24 12:30 ( Edited 2020-04-24 12:33)

SHOW MORE

How to reproduce:

  • switch to spritesheet
  • select pen tool
  • draw
  • middle-mouse click to pan
  • draw does nothing outside the initial zone
P#74884 2020-04-17 15:52

SHOW MORE

How to reproduce:

-- outputs zero
local b=band(nil,4)
-- throws error (arithmetic on field ?)
local b=nil<<4
P#74869 2020-04-17 07:07

View Older Posts
Follow Lexaloffle:          
Generated 2024-03-19 04:21:44 | 0.168s | Q:73