Log In  
[back to top]


Cart #skytest_hello-2 | 2024-04-03 | Embed ▽ | No License
5

🐱hello picotron

Z button: Background changes
X button: Redisplays text

release note


v0.2

  • add music

v0.1

  • first release
5
2 comments



The distribution URL is here!
https://bitchunk.itch.io/pelogen2

What tools?

PELOGEN2 is a 3D modeling tool created on PICO-8.

Because it was created for such small specifications, it is not suitable for overly complex and large modeling.

In today's era of large-scale, detailed works, what would you create with this small-scale 3D modeling tool?

I think there is still value in being able to express creativity within limitations.
Even if it imitates something that exists in reality, it is precisely because it is low-poly that an unrealistic and creative world can be created.

Tutorials will be added to the devlog from time to time.

You may have questions about things you don't know about how to make or features. I would appreciate it if you could create a thread in that case. It's easy to deal with, and others can use it as a reference.

Features etc.

Data management

[ Continue Reading.. ]

13
2 comments



CPU meter can also be switched using Ctrl + O. As per the PICO-8 manual, originally only Ctrl + P is required.
This specification seems strange to me.

Recently, it has become possible to implement an option to operate in combination with Ctrl.
For example, when developing tools, there are times when you want to use the Ctrl + O keys to open files (data).

2
1 comment



PELOGEN2 has released!!

I previously created a 3D modeling tool called "pelogen".
It was designed to run on pico-8 with a minimum amount of data, and with its 16x16x16 vertex coordinates and one-stroke triangulation, it was almost exclusively a tool for myself.

This time, the specifications were revised from there, and the tool was created with an eye to making the data a bit larger and easier to model.

  • The vertices will be edited in such a way that triangles are added, instead of the specification of adding vertices one by one.
    And we will set a color for each face.

  • You can JOIN the vertices of each triangle to simplify vertex movement and build complex shapes.
  • You can duplicate selected triangles and rotate or flip vertices by a limited number of angles.

[ Continue Reading.. ]

3
0 comments



This is my own public blog posted on pixivFanbox on August 28, 2023 at 13:40.

Other private blogs and other private blogs are posted here.
https://bitchunk.fanbox.cc/


I am able to get some time before bedtime, but I don't have much physical time and often fall asleep right away.

Match judging and then erasing blocks

We also create a direction to make the matched and erased blocks fly away.
However, this leaves the block full of gaps.

Match, then drop the top block

There is no falling direction, but the erased area will be filled with blocks.
However, this also leaves a lot of gaps. It is necessary to make up for the gaps.

Compensate for the topmost block so that there are no gaps

Place an additional block at the top of the erased area and drop it.
The falling direction has also been added.

[ Continue Reading.. ]

2
0 comments



Cart #knutil_dbg-1 | 2023-08-10 | Code ▽ | Embed ▽ | No License
1

Feature Overview

DBG() Displays any timing value in real time.

  • Executed with arguments, it stacks values for display.
  • You need to specify 'd?' at the timing you want to display.
  • When the stacked value display is complete, it is reset.
  • This function consumes 71 Token.
function _update()
 dbg('Debug Test!',time())
end

function _draw()
 dbg('d?') -- 'Debug Test! [time value]'
end

This function will be included in the next version(0.14.0) of KNUTIL library.
If you want to stop processing and investigate detailed values, consider DMP().

release note

[ Continue Reading.. ]

1
0 comments



Cart #knutil_amid-1 | 2023-08-09 | Code ▽ | Embed ▽ | No License
2

Feature Overview

AMID() Returns the median of a given positive and negative number.

  • It is used in controlling the camera and parameters that can swing either + or -.
  • This function consumes 10 Token.
x,y=0,0
w,h=16,8 -- range of movement(*2+1)
while 1 do
	cls(12)
	camera(-64,-64)

	rectfill(w,h,-w,-h,0)

	?'⬆️⬇️⬅️➡️ key to move',-60,-60

	x+=tonum(btn(1))-tonum(btn(0))
	x=amid(w,x)

	y+=tonum(btn(3))-tonum(btn(2))
	y=amid(h,y)

	pset(x,y,8)
	?x..' '..y,-w,h+1,7
	flip()
end

This function will be included in the next version(0.14.0) of KNUTIL library.
If you want to determine that two values are within range, consider INRNG().

[ Continue Reading.. ]

2
0 comments



Cart #knutil_htd-0 | 2023-08-08 | Code ▽ | Embed ▽ | No License

Feature Overview

HTD() Split a continuous string of hexadecimal numbers into a table.

  • the number of supported delimited bits is 4,8,12,16 bits (1~4 nibbles).
  • characters that cannot be converted to numbers are ignored.
    • the result of the api's tonum('0x'..v) of the api.
  • depending on the delimiter, a missing last character will result in a lower digit by the number of missing characters.
  • This function consumes 30 Token.
local a=htd('12a30f',1) -- a={1,2,10,3,0,15}
local b=htd('12a30f',3) -- b={297,783}

Perhaps consider BUNPACK() if you want to separate NUMBER every few bits.

[ Continue Reading.. ]

2 comments



Cart #knutil_ecpalt-0 | 2023-08-07 | Code ▽ | Embed ▽ | No License

Feature Overview

ECPALT() set transparency from palette table.

  • Transparency is reset at each function execution.
  • If the value of the "color id key" in the palette table is 0, the palette becomes transparent.
  • The palette that was made black by MKPAL() can be used as transparent as it is.
  • The format is redundant due to the specification to match MKPAL().
  • This function consumes 20 Token.
-- Make 6, 7, and 13 transparent.

ecpalt({[6]=0,[7]=0,[13]=0})

spr(1,16,32,2,2)

This function will be included in the next version(0.14.0) of KNUTIL library.

release note

[ Continue Reading.. ]

0 comments



Cart #knutil_mkpal-0 | 2023-08-07 | Code ▽ | Embed ▽ | No License

Feature Overview

MKPAL() Create a color swap table for use in PAL().

  • This is useful for creating several color patterns.
  • It is not an error if the number of elements in the swap table does not match.
  • This function consumes 44 Token.
-- Color swap to darken "blue, white, and green".

local p=mkpal({12,7,11},{13,6,3}) -- mkpal('c7b','d63') is also the same.
pal(p)
spr(1,16,32,2,2)

This function will be included in the next version(0.14.0) of KNUTIL library.

release note


v0.1

  • first release
0 comments



Horizontal alignment is reset when a line break or tab is inserted in p8scii.

The example below expects the first line to start at the beginning of the first line after a line break.
Also, the tab position seems to reset the shift cursor.

cls()
?"\+jjtest p8scii\ntest p8scii (𝘹ADJUST:j)",0,0
?"\+ljtest p8scii\ntest p8scii (𝘹ADJUST:l)",0,16

?"\-jtest\-j	p8scii (𝘹ADJUST:j)",0,64
?"\-ltest\-l	p8scii (𝘹ADJUST:l)",0,72

Cart #p8scii_nl_adjust_bug-0 | 2023-05-28 | Code ▽ | Embed ▽ | No License
1

1
1 comment



Cart #knutil_oprint-4 | 2024-07-01 | Code ▽ | Embed ▽ | No License
6

Feature Overview

OPRINT() Adds outlines to text and prints them.

  • enclosure is not possible if tabs are included. (in pico8_v0.2.5.g)
  • operation cannot be guaranteed if p8scii for decoration is included.
  • Custom decorations other than outlines can be made by specifying a comma-separated p8scii as an argument.
  • This function consumes 32 Token.
-- Split a pair of data and further split it into colors and names.

oprint('outline print',10,6,7,13)  -- text, x, y, foreground-color, outline-color [, custom decoration]

This function is an inheritance of OUTLINE contained in the KNUTIL library.

release note

[ Continue Reading.. ]

6
2 comments



When you see the default kana font, you might think that you could create something a little better.
But then you realize that it was a kind of provocation for creators (or designers).

Why the tilt?

Hiragana can be quite difficult to express in 5x5px.
One answer to this problem is a slanted design.
This allowed us to secure a space, albeit a small one, per character.

x4 size

Original size

Preview gif

Text conversion scripts for SpreadSheet custom scripts

This script converts "Kana/Kana" text to "Katamuki kana" specification in a spreadsheet.
Register it in a custom script and execute p8Katamukikana([Cell-ID]) on the cell you want to convert.

function p8Katamukikana(text) {
  const kanamap = {
    'が': 'か゛', 'ぎ': 'き゛','ぐ': 'く゛','げ': 'け゛','ご': 'こ゛',

[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=130144#p)
7
0 comments



Cart #knutil_msplit-1 | 2023-05-22 | Code ▽ | Embed ▽ | No License
2

Feature Overview

MSPLIT() Converts a string into a table by splitting it with multiple delimiters.

  • The default delimiter is " " for ease of data entry and readability(according to one's own preference).
  • the default delimiters and numeric conversion flags should be modified according to your project.
  • This function consumes 36 Token.
-- Split a pair of data and further split it into colors and names.

local value=msplit(
	 '10-yellow 11-green 8-red 12-blue'
	 ,' ','-'
	)

for i,v in pairs(value) do

	local col,name=unpack(v)
	?name,i*32-24,48,col

end

If you want to check the type at once, consider using a DMP().

[ Continue Reading.. ]

2
0 comments



Cart #knutil_tohex-1 | 2023-05-20 | Code ▽ | Embed ▽ | No License
2

Feature Overview

TOHEX() Converts to a hexadecimal string filled with zeros.

  • If the number of digits is not specified, specify 0.
  • The maximum number of digits specified is 4.
  • This function consumes 40 Token.
?tohex(32)   -- 20
?tohex(32,3) -- 020

?tohex('0x32',1)   -- 32

This function is included in the KNUTIL library.

release note


v0.1

  • first release
2
0 comments



Cart #knutil_tonorm-0 | 2023-05-19 | Code ▽ | Embed ▽ | No License
1

Feature Overview

TONORM() normalize argument values (strings) to the correct type.

  • Mainly converts from strings to values of the correct type.
    • Especially used to initialize multiple values from a long string, see HTBL().
  • Hexadecimal numbers are converted to decimal numbers.
  • This function consumes 28 Token.
?tonorm('true') -- true (The type is 'boolean')
?tonorm('nil') -- [nil] (The type is 'nil')

This function was included in the KNUTIL library, but has been deprecated since v0.14.0.
If you want to check the type at once, consider using a DMP().

[ Continue Reading.. ]

1
0 comments



Cart #knutil_exrect-0 | 2023-04-24 | Code ▽ | Embed ▽ | No License
1

Feature Overview

EXRECT() creates a rectangle object with extended functionality.

  • The created rectangle object can be drawn and its inclusions and overlaps can be checked.
  • Drawing and update functions return their own objects, so they can be written in succession.
  • This function consumes 388 Token.(include comb() and cat() functions)
r = exrect('10 80 16 24') -- generate a rectangle object from a string. x:10, y:10, width:16, height:24
r.rf(6).rs(7) -- draw "r" with rectfill, and then draw it again with rect.

[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=128952#p)
1
1 comment



In the code editor's search function, if you enter a search word and then double-click on the text, the search word is reset and you cannot use ctrl + G( or ctrl + H) to search for the next word.

4
1 comment



Cart #p8ooccapture-7 | 2023-07-11 | Code ▽ | Embed ▽ | No License
10

Feature Overview

Capture the string for "One-off character" used in P8SCII from the sprite sheet and copy it to the clipboard.

  • Simply print() the copied string to draw an image like spr().
  • No decoder implementation is required.

!! Uses mouse control which does not work with BBS.

Please download and use it. !!

Type on your console

> load #p8ooccapture

Note: Turn on "PUNY FONT MODE" when pasting into the code.
Depending on the character, sound may be made or the display of raw characters may be corrupted.

I have made one in the past with fillp and rectfill for equivalent purposes(FILLPatDraw), and I believe P8OOCPrint will be lighter and faster performing than this.

[ Continue Reading.. ]

10
6 comments



Cart #strdsum-0 | 2023-02-02 | Code ▽ | Embed ▽ | No License
6

Feature Overview

STRDSUM() sums two numerable strings.

  • The number of digits it can handle exceeds the 32-bit limit. (Probably as long as the system will allow.)
  • Match the string length to the longer of the two arguments.
  • Negative values and values after the decimal point cannot be handled.(Insert a period in the output result.)
  • This function consumes 63 Token.

This code may cause errors in versions prior to 0.2.5c.

?strdsum('32768','32768') -- 65536

?strdsum('500','000500') -- 001000

?strdsum('900109','123456') -- 1023565
6
1 comment





Top    Load More Posts ->