Blog

  • I beefed out my PS1 collection

    Since I had so much more PS2 games than PS1 I beefed out my PS1 collection a little bit.

    PS1:
    Breath of Fire III.img
    Breath of Fire IV.img
    Dragon Warrior 7 Disc 1.img
    Dragon Warrior 7 Disc 2.img
    Frogger 2.img
    Frogger.img
    Legacy of Kain - Blood Omen.img
    Legacy of Kain - Soul Reaver.img
    MLB 2005.img
    Ms. Pac-Man Maze Madness.img
    NHL 2001.img
    Pac-Man World.img
    Resident Evil 3 Nemesis.img
    Resident Evil Survivor.img
    Spyro Ripto's Rage.img
    Spyro the Dragon.img
    Spyro Year of the Dragon.img
    Tekken 3.img

    I also have 4 more PS1 games on the way, two of them I already received but one was dead and one was the PC version instead of PS1 so I reordered them. They are:

    NBA Live 2003
    Resident Evil Director's Cut
    Resident Evil 2
    Twisted Metal 4

    And then for PS2:

    PS2:
    007 Agent Under Fire.img
    007 Everything or Nothing.img
    007 From Russia with Love.img
    007 Nightfire.img
    007 Quantum of Solace.img
    Ace Combat 4 Shattered Skies.img
    Ace Combat 5 The Unsung War.img
    Ace Combat Zero The Belkan War.img
    ATV Offroad Fury 2.img
    ATV Offroad Fury 3.img
    ATV Offroad Fury 4.img
    ATV Offroad Fury.img
    Backyard Baseball 10.img
    Breath of Fire Dragon Quarter.img
    Call of Duty 3.img
    Crazy Taxi.img
    Dragon Quest 8.img
    Frogger Ancient Shadow.img
    Frogger's Adventures The Rescue.img
    Frogger the Great Quest.img
    GoldenEye Rogue Agent.img
    Grand Theft Auto San Andreas.img
    Gran Turismo 4.img
    Legacy of Kain - Blood Omen 2.img
    Legacy of Kain - Defiance.img
    Legacy of Kain - Soul Reaver 2.img
    Lego Batman.img
    Marvel Ultimate Alliance.img
    MLB The Show 11.img
    NBA 2K12.img
    NHL 09.img
    SOCOM 2 US Navy Seals.img
    SOCOM 3 US Navy Seals.img
    SOCOM US Navy Seals Combined Assault.img
    SOCOM US Navy Seals.img
    Teenage Mutant Ninja Turtles 2 Battle Nexus.img
    Teenage Mutant Ninja Turtles 3 Mutant Nightmare.img
    Teenage Mutant Ninja Turtles.img
    Tomb Raider Anniversary.img
    Virtua Fighter 4.img

    That’s the last games I’m buying as soon as I get the last 4. These are all discs I own I just ripped them all and listed the directories.

  • How BooBoo works

    Everything is broken up into operators and parameters. Each builtin function separates the previous and its parameters. Expressions and fish (what I call container indexes) are slurped up from start ( to end ) as a single unit and parsed into an intermediary format. When it comes time to evaluate an expression all the appropriate handlers are called with a vector of parameters until the final embedded () is done. Expressions return a temporary value, while fish return a reference to the exact location.

    For example, the “for” loop construct in BooBoo is a pretty standard library function except that it knows about the program counter. The C++ backing function gets a list of Tokens, which can be literals, or some form of variable including expressions and fish. You can handle it the simple way and just request a number from a parameter or you may need something more advanced. Same with “if”.

  • Ok, I admit it. I fucked Jon Rector’s wife and Chris Chaisson’s Chinesed girlfriend.

    Ok, I admit it. I fucked Jon Rector’s wife and Chris Chaisson’s Chinesed girlfriend.

  • BooBoo 3.0.8

    • Remove need for vector/map casts in known instances
    • Fix endless hits on dead bodies in DOOMED
    • Remove op/sec limit. It punishes high framerates/logic rates
    • Add more/most things to example shim5.json
    • Added json_set_*, json_save and booleans to JSON
    • Add depth/stencil/cull graphics operations
    • Render targets including the backbuffer are now created with depth buffers and stencil buffers
  • BooBoo caches textures

    For example if you load the same image twice, the second time it uses the same texture. Same with sprites. So if you run image_update and updates some pixels of one of the images, they all change. There are several ways to get around it, if you want separate images you can _update individually. You can use image_read_texture then image_to_texture to create a new texture. Or image_create then draw the image to the render target.

  • Sprites explained

    Sprites are saved in Aseprite as a spritesheet with a json file and tga/png for each separate animation. Name the json and image the same. Now once you have all your animations saved, put them all in a directory together and in that directory create a file called sprite.json:

    [ walk_e, walk_w, walk_n, walk_s, throw, jump ]

    List all your animations in an array in a json file like above. Now to load a sprite, use the directory name with sprite_load. Make sure to put sprites in data/gfx/sprites.

  • BooBoo 3.0.7

    • Move cfg docs to core docs
    • Add casts to make maps in some examples work.

    As I previously said, now that types aren’t explicitly set, sometimes you need a cast. Example old code:

    map m
    = [m "draw"] my_draw

    This becomes:

    var m
    = m (map m)
    = [m "draw"] my_draw

  • BooBoo License

    BooBooCLI is now free. If you want to distribute BooBoo (game engine) with your game you must buy it on Humble.

  • BooBoo 3.0.6

    • Prioritize command line switches over shim5.json. Make many command line switches available in shim5.json (see devsettings for everything, run with +debug command line switch then press F9 to get devsettings.)
    • Add break and continue for for loops
    • +adapter command line switch is removed, it never worked with OpenGL
    • Changed default samplerate to 48000 Hz as that seems to be the default for quite a while now