Log In  
Log In  

@mole5000

Follow
Follow

Cart [#51217#] | 2018-04-02 | License: CC4-BY-NC-SA | Embed

So this is mostly for those of you who are thinking about ChessJam and wondering if the Pico8 is tough enough for the job.

The answer is clearly "Yes!" (1). Here is my implementation of a Sid Sackson classic board game Lines of Action. OF interest is that I'm using Negamax, bit boards and the 0x4300 user memory for the storing thereof.

There is unfortunately some kind of bug hiding in my (horrible, horrible) code that means the smart AI occasionally glitches the game state. I did mostly write this late at night during a period I wasn't sleeping well. I am very hapy with the code about the menus though.

(1) People have managed to fit (most of chess) into a ZX81 (that's a whole 1K of ram they were working with). http://users.ox.ac.uk/~uzdm0006/scans/1kchess/

P#51218 2018-04-02 16:42 ( Edited 2018-04-02 20:43)

Cart [#42480#] | 2017-07-14 | License: CC4-BY-NC-SA | Embed
3

So I went a little crazy after doing my contribution for the invent a title screen thread. I thought it would be nice if the two Gs drew at the same time and I came to the conclusion (in a huge leap) that the best way of doing it would be to some kind of co-operative multitasking co-routine system.

It doubled the token count from 200ish to 400ish but I'me pretty happy with it and I think it works well as a demonstration of the power of closures and co-routines.

EDIT: So the library is based around additive drawing - there is no clearing of screen state between each frame so everything builds up. My next plan is to build a "display list" system when you can attach co-routines to properties of each display item to animate them - more flexible than this current system.

P#42481 2017-07-14 16:31 ( Edited 2017-07-14 20:50)

Cart [#41917#] | 2017-06-24 | License: CC4-BY-NC-SA | Embed
3

While working on my 3d engine I've written a function that I think would be generally useful and I haven't seen it done before. It draws horizontal dithered lines such that odd and even rows have an alternating checkerboard pattern. Code is obviously in the cart but I post below as well.

The code runs just as fast the native LINE function but with the bonus of optional dithered-e-ness

function dither(sx,ex,y,draw_colour,shade_colour)
  if (sx<0 and ex<0) or (sx>127 and ex>127) then return end
  sx = max(0,min(sx,127))
     ex = max(0,min(ex,127))
     if ex < sx then
      sx,ex = ex,sx
     end
     local sos = sx % 2
     local eos = ex % 2
     local yind = y*64+0x6000
     local ctu = -1
     if y%2 == 0 then
      ctu = draw_colour
     else
      ctu = shade_colour
     end

      if sos == 1 then
       sx -= 1     
       poke(yind+sx/2, bor(band(peek(yind+sx/2),0x0f), band(0xf0,ctu)))    
       sx += 2
      end 

      if eos == 0 then            
       poke(yind+flr(ex/2), bor(band(peek(yind+ex/2),0xf0),band(0x0f, ctu)))
       ex -= 1
      end

      memset(yind +sx/2,ctu, (ex/2-sx/2)+1)
end

The tricky bit being to deal with the start and end of the line when they do no perfectly align with the byte boundaries.

P#41918 2017-06-24 17:38 ( Edited 2017-06-24 21:39)

Cart [#41579#] | 2017-06-13 | License: CC4-BY-NC-SA | Embed
7

I've finally managed to get a clean, 3d wireframe engine up and running. It does backface culling but otherwise is as plain as it comes.

Working through the maths and pulling together from various sources was a pain as writing a software renderer is a bit of a lost art form with D3d/OpenGl doing all the maths for you these days.

So I thought people might appreciate a simple example to start from.

THis doesn't do any camera transforms - the camera is at 0,0 starting down the z-axis.

P#41580 2017-06-13 09:11 ( Edited 2017-07-19 15:20)

Cart [#40585#] | 2017-05-14 | License: CC4-BY-NC-SA | Embed
2

Another memory game to go along with my earlier "Simon Says" game.

I really loved the low-to-high game from Brain Training so thought I would implement it here. If I take this any further the I think I'd double the size of the tiles and make my own font as I have difficulty 'scanning' the numbers with Pico's default font.

My personal high score on this Pico version is 9 numbers cleared (I was way better at the DS version!)

P#40586 2017-05-14 16:41 ( Edited 2017-05-14 20:41)

Cart [#40457#] | 2017-05-11 | License: CC4-BY-NC-SA | Embed
1

A rough and ready "Simon Says" game I hacked together in a few hours. Use the arrow key to play the appropriate triangles and follow the sequence. What high score can you get?

I am inordinately proud of the code that draws the triangles as I got it right first time.

P#40458 2017-05-11 11:05 ( Edited 2017-05-12 10:03)

X
About | Contact | Updates | Terms of Use
Follow Lexaloffle:        
Generated 2019-01-23 02:42 | 0.079s | 2097k | Q:68