this is bitsy with 3d editor  ✨🎁✨

here's my ko-fi page if you would like to support me

StatusIn development
CategoryTool
PlatformsHTML5
Rating
Rated 4.9 out of 5 stars
(41 total ratings)
Authoraloelazoe
Tags3D, Bitsy, Level Editor, Lo-fi
LinksSource code

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

I find that my game renders the next room above the first one, and as such all of the non-floor textures are visible from the sky, which is not my intention. is there a way around this?

hi! if the room renders above the other it means they are in the same stack. a new room is added to the  stack when you place things on top of each other in the 3d view. i guess you could end up in the situation you describe if  instead of using plus button in 3d or 2d room panel you built some stuff in the 3d view which added a new room to the stack and then you started modifying that room in the default bitsy 2d panel, is that so? you can also check gamedata panel and look for "stack":, then look for ids of the rooms you see rendered together.

What I did was click "add new room" in the 2D editor. It does appear that in the gamedata panel the intended separate room is in the same stack as the other stuff, though. Not sure how to fix that without breaking something.

huh i see. it doesn't work the same way for me, when i create new rooms in 2d panel they are placed in a separate stack.. 
well i guess you could create another stack with a couple of placeholer rooms with a few blocks, and then inspect game data and replace the room ids with the rooms ids you want to be separate from your other stack. bitsy 3d game data is in json format and punctuation is important, make sure you have all the quotes and commas in the same way like you see in the original game data, like not having a comma after the last item in a list and stuff

Is it possible to have sound effects in Bitsy 3D?

This might be one of the stupidest questions i've ever asked on here but what button do you press to interact with sprites? Ive tried almost all the buttons on my keyboard and nothing will bring up the dialog box in the 3D view of my game

No such thing as a dumb question, all you gotta do is bump into them. So whatever key you pressed to approach them, just press it again ( :

(+2)

I got really into Bitsy 3D (the color variant) in the last year. If you think not of how to bend the engine to your ideas, but of what would best fit its limitations, some amazing things can happen.

Really the big limit is the bitsy room size. Modern 3D exploration is all about looking out onto a vista, seeing the world out before you, and Bitsy 3D says absolutely not. Most of my spatial design has gone into how to work with this, instead of despite it.

In Terranauts Ep. 2 I did so by making the vista smaller. I started the player in a trench at the bottom of a hill, packing in as many conversations, set pieces, and corners as I could into the ascent of one 16x16 room. This way, by the time you climbed halfway or all the way up, you could turn around and look down with a sense that you'd really gone somewhere.


In my current project I'm looking back on how developers dealt with this constraint in the late 90s. Ocarina of Time heavily blocks the player in, giving you the sense that the world continues far past what you can see. It does this with tree walls, fences, hills, cliffs, anything to convince the player that cleverly disguised interior spaces are actually vast exterior ones. This approach is the only way forward I can see for rendering outside spaces in Bitsy 3D in a satisfying way.


But then there's the 3D modeling itself. This is what really keeps me coming back. You get boxes, wedges, billboards, and planes. That's it, but you can do so much because of the transform functions. Planes can be skewed onto a wedge and a box to create a fully textured car. Multiple pole shaped boxes make convincing posts for your bridge of perpendicular plane textures. Skew billboard seaweed into your flat tower for an overgrown water meter. The possibilities are endless!


I recently realized you can link multiple assets together, transformed relative to each other. This has really emboldened my recent shift towards actually 3D characters, instead of just bitsy billboard sprites. I also find good results with a crunchy resolution and appropriate fog, but these are just aesthetic preferences. 

So yeah, Bitsy 3D is my favorite game engine of all time. Thanks for making it Aloelazoe and Aurysystem, hope this is an interesting read for someone out there!

(+1)

Thank you soo much for making it! I really enjoyed making Rusty Blade in it.

thank you for the  kind words! i'm glad you found it useful <3

I was thinkin lately "hey it would be nice to go back to make some small bitsy games, before trying to learn some Godot or something" and then BAM, I stumble upon Bitsy 3D and I'm like WHAT THE HELL

Now I can make this simple 3D game I had in mind.

Thanks a lot, this is awesome :O

thank you, it's heartwarming to know😊

(+1)

This is great I love it

Hello, I just found this- wonderful work, by the way- and was wondering what part(s) of the script that I should add in borksy in order to modify a game made in vanilla bitsy? I found Bitsy Savior and decided to try it out, but for some reason this 3d hack was having trouble running inside Bitsy Savior.

i got the game made- ended up importing my bitsy data into bitsy 3d. 

any plans to add music support? /gq

hi is there a way to leave a trail behind, where ever the player moves? kinda like tron lightcycles?

hey two ways to do this i can think of are to either use a lot of rooms or to use bitsy hacks. but keep in mind that you might want to use an older version of hacks comptatible with bitsy 7.3 that bitsy 3d is based on

thanks!!!

Hey there! Love this engine hack (even made a game with it)! I was wondering if you had plans to update it to make it compatible with the new version of Bitsy? They've added in sound effects and music tools, and I would love to be able to add sound to my project!

hi! gald you liked it! well, i don't have plans to update it. i know it's not the same as making music inside bitsy, but maybe you would find beepbox useful, it's tiny and intuitive, i used it to make music for some of my bities...

(+1)

Ahh okay! No worries! I'll look into beepbox then!

This isn't a mobile!

(+1)

Literally my favorite game engine ever.

too good especially because you don't need: recorde

to code and to paint even if on a certain thing

I have to go over it with notpad++

(+1)

I’m a big fan of this! I’m using it to take a break from Playdate development lol

(+1)

guys, bitsy HD works with this. just upload you bitsy HD files into this thing and it works like a charm.

(+2)

i really like this! im using this to recrate undertale, and i have a posted demo https://risingbreadloaf.itch.io/undetale-remade-in-bitsy-3d-demo its nothing much yet but i plan to remake the whole game

(+2)

Thanks ! Thanks ! Thanks !
Really good job
Simple tests with no real gameplay :
https://aestheticoffailure.itch.io/alternative-mechanics
https://aestheticoffailure.itch.io/conflict-of-perceptions

(+2)

This is such a beautiful extension to Bitsy! Thank you so much for making it.

(+1)

thank you (*^ ᴗ ^*) loved your game!

(+1)

Oh this means a lot, thanks!

(+2)

Just finished making a game using this tool. There are some minor glitchy things (and I had trouble making hacks work) but it overall looks great!! Playing Bitsy in 3D is so refreshing

(+1)

absolute game changer, this is gonna make me dive back into bitsy! so many possibilities with such a simple system!

(+1)

wow it's cool

(+1)

WOOOAAAAHHH
i just got into bitsy stuff so seeing a 3d thing is just
wow

(+1)

just insane... the way you explore a game with this engine is really interesting! is there a chance that it will be mobile compatible one day? thank you so much for your hard work, already making my next game on it!!

(1 edit) (+1)

thank you so much<3 glad you found it of some use! not sure about making it compatible with mobile, very unlikely i would say. i might re-make bitsy 3d and add new features when new version of bitsy comes out, but at the moment i'm kinda exhausted from building on top of bitsy and i'm working on a new project which can become a lo-fi  3d small games  editor at some point

(+1)

too bad but l understand it must be a lot of work, but l can't wait to try your 3d editor! dont get burnt, you make great things! just played your pineapple adventure, loved the spritework, and playing as pineapple part! 

The thought alone has me salivating. I hope you and others continue to work on things like this. It completely opens up new doors to the game making community.

(+1)

Awesome! 

*this is now my go-to editor for if I don't wanna text code*

(+1)

i love this! very nice

(+1)

could you add a option for many colors, like

https://aurysystem.itch.io/multicolorbisty???

(+2)

hi! supporting many colors is out of scope for bitsy 3d itself, but aury actually made an editor combining both flavors: https://aurysystem.github.io/bitsy-forks/bitsy-color-3d/index.html

wow! sorry i missed this XD

(+1)

oh this is amazing! 

It's crazy but I finding I'm wanting the option to switch camera settings between rooms :'D The great thing about bitsy tho is that all it's limitations really force me to keep my ideas small and manageable.

keep up the great work!

(2 edits)

thank you <3  if you still want to break some  limitations it's possible to change camera between rooms using javascript from dialog hack

we discussed it with other folks on bitsy discord

https://discord.com/channels/379218174236819458/383667407572697091/7574161388787...

https://discord.com/channels/379218174236819458/383667407572697091/7576251493098...

(these are links to messages that explains how to use bitsy 3d code to do it.. i think you would need to be in bitsy discord already to open it? if you are not, there is a link inside bitsy itself in the about panel) and you can always ask on bitsy discord if anything is unclear :3

(+1)

ahhhh thank you!

(+1)

how to support without money

(+1)

i guess  share it with other folks, tell them why you like it! thank you for heartwarming message <3

(+2)

Wow, this is amazing, good work!

thank you <3

(+2)(-1)

im having a problem with the exits effects. they show on on the 2d monitor. but not on the 3d version.

 they are not supported in bitsy 3d as of now

(+1)

they need the original 2d canvas and it's not possible to support them out of the box, don't think there would be exit effects in bitsy 3d in a forseeable future (unless someone implements and contributes them?) cause at the moment i'm working on other features i think are more crucial.. and that to do list is pretty huge lol

(-1)

Would there be a way to use the camera as the 2D plane needed?

unfortunately no, it needs the original 2d canvas where vanilla bitsy rendering is happening, not just the appearance of 2d view that you can set up with orthographic camera in 3d

(+1)

Having fun checking this out so far but I ran into some problems with the Universal Camera. For some reason the position and rotation values will not save.  The value in editor will appear updated but the preview does not change and after pressing play all values are reset to default.  For some people this is clearly working as I've played a few games that use a fixed universal cam.

I have tried different browsers, Chrome and Firefox, using it on my android, and changing the values directly in the HTML all to no avail.  If you have any ideas about what could be happening I'd love to hear them. Thanks

(+2)

thank you for catching this one! just uploaded a fix ✨

(+1)

Cheers, thanks for being so quick

(+2)

This is really amazing! I have one problem, for some screen size ratios, like a wacky widescreen one, the dialog box is at a weird position and the title doesn't even show at all. Is there a way in the settings I can move this?

(+1)

oh.. this needs to be fixed. unfortunately no way to configure it through settings. thank you for reporting!

(+1)

this is finally fixed in the last update  ✨

Can't get exits to work.. :(

(+1)

exits aren't supported in the scene editor yet, but you can use vanilla bitsy 'room' and 'exits & endings' panel to edit them. you will be taken to the appropriate room-layer in the 'room' panel when you alt-click something in '3d scene' panel

(+2)(-1)

Still can't wrap my head around how cool this is!

Some issues I've ran into so far:

  • child meshes aren't affected by their 'hidden' setting
  • disabling 'follow avatar' in camera setting lets you hold ctrl to drag the camera around (doesn't happen with the dungeon crawler/fixed position follower presets), seems like a potentially undesirable behavior that should have its own checkbox
  • compatibility with hacks:
    •  _reinitEngine in dialog hacks undoes the DrawTextbox patching
    • the dialog choices hack breaks rendering somehow, can't figure out what's going on with that
  • suggestions:
    • it would be nice to have a way to explicitly add a new room to the active stack
    • editor camera's max radius feels needlessly low
(+1)

thank you for your report!
regarding new rooms in the active stack - as of now this could be done by editing game data. i was planning to make 3d scenes more flexible, like having individual  transforms for every room, allowing them to be parented to empty transforms and such, so more direct control over rooms and stacks would be coming together with these features

(6 edits) (-1)

Got the dialog choices working, I think. Looks like the main problem with hacks is that they can overwrite the patched bitsy functions, so you need to make sure that all the patches are still in effect after the hacks are applied. I guess making all other patches happen inside the patched `startExportedGame` might take care of things?

I changed the code to this and  it seems to be working:

document.addEventListener('DOMContentLoaded', function() {
    var interval;
    if (bitsy.EditMode === undefined) {
        // if we are in exported game, patch bitsy with 3d functions
        // if the project includes hacks, then when this runs startExportedGame is doAllInjections
        b3d.patch(bitsy, 'startExportedGame', function () {
          b3d.patch(bitsy, 'update', null, function () {
            b3d.update();
            b3d.render();
          });
          // doing this before everything else runs ensures that the intro dialog is cleared
          // in case a hack overwrites bitsy.update (there's probably a better way to do this?
          // like i'm surprised starting the updates before the actual game works)
          // this will leave us with two running update intervals when the game actually starts, 
          // which i guess is bad, so it'll need to be cleaned up afterwards
          interval = bitsy.update_interval = setInterval(bitsy.update, 16); 
        }, function () {
          clearInterval(bitsy.update_interval);
          bitsy.update_interval = interval;
          b3d.init();
          var py;
          // make position of the dialog box configurable through game settings
          b3d.patch(dialogRenderer, 'DrawTextbox', function () {
              py = bitsy.player().y;
              bitsy.player().y = b3d.settings.positionDialogBoxAtTheTop ? bitsy.mapsize : 0;
          }, function () {
              bitsy.player().y = py;
          });
          // adjust movement direction relative to the camera
          b3d.patch(bitsy, 'movePlayer',
              function () {
                  var rotationTable = {};
                  rotationTable[bitsy.Direction.Up] = bitsy.Direction.Left;
                  rotationTable[bitsy.Direction.Left] = bitsy.Direction.Down;
                  rotationTable[bitsy.Direction.Down] = bitsy.Direction.Right;
                  rotationTable[bitsy.Direction.Right] = bitsy.Direction.Up;
                  rotationTable[bitsy.Direction.None] = bitsy.Direction.None;
                  b3d.rawDirection = bitsy.curPlayerDirection;
                  var rotatedDirection = bitsy.curPlayerDirection;
                  var ray = b3d.scene.activeCamera.getForwardRay().direction;
                  var ray2 = new BABYLON.Vector2(ray.x, ray.z);
                  ray2.normalize();
                  var a = (Math.atan2(ray2.y, ray2.x) / Math.PI + 1) * 2 + 0.5;
                  if (a < 0) {
                      a += 4;
                  }
                  for (var i = 0; i < a; ++i) {
                      rotatedDirection = rotationTable[rotatedDirection];
                  }
                  bitsy.curPlayerDirection = rotatedDirection;
              },
              function () {
                  bitsy.curPlayerDirection = b3d.rawDirection;
          });
          // patching onready is useless at this point since it's already been called
          // remove borksy touch control fix that breaks mouse camera controls
          var touchTriggerEl = document.getElementById('touchTrigger');
          if (touchTriggerEl) touchTriggerEl.parentElement.removeChild(touchTriggerEl);
        });
    }
});
Deleted 3 years ago
(2 edits)

also, as far as i know dialog choices haven't been updated to work with bitsy v7 yet, they crash both bitsy 3d and vanilla bitsy as kitsy tries to replace the code that no longer exists in v7. not sure how you would have fixed that by changing the order in which patches are applied

so dialog hacks do overwrite DrawTextbox in _reinitEngine, as you have correctly pointed out, but all other other patches are compatible
going to add a lil fix now
thank you for investigating the issue!

hm actually i'm not sure about some kitsy injects, they might still break things it seems

(4 edits) (+1)

oh, i wrote a temporary fix to make the dialog choices hack work with bitsy 7.0.

it works fine with regular bitsy, but when i tried it with bitsy 3d, i realized that  when the old script tags are replaced, the patched functions are replaced too, so you still need to reapply the patches, or at least that's what i think is happening (a script tag will be executed when it's attached to the document, right? i may be wrong, i'm terrible at this)

see  the screenshot - the dialog choices hack needs to alter the updateInput function (this is in the original hack, not something i added), so it replaces  the tag that contains it, which in turn breaks the patched update function (and also restarts the renderer)


so if i'm right, it'd be safer to find a way to apply patches after the hacks, if i'm wrong, well, that's embarrassing, sorry about wasting your time

(3 edits) (+1)

i improved compatibility with hacks by using kitsy for all bitsy 3d patches when it's present in exported game. and sean just updated dialog choices
they should finally  work well together :D
thank you for finding the bug and for your suggestions, it was very helpful!

(+1)

This is looking so good. Nice work. :)

thank you [◍^‿^◍]

:) I just wondered if you have a list of features in Bitsy 2D that aren't in Bitsy 3D? I'm thinking about developing my latest Moomin Bitsy as 3D. It doesn't use hacks, just a lot of exits and variables. 

For the free-looking first person camera you should allow the player to move diagonally. It's weird walking in only 4 directions when you can look diagonally. Otherwise great job! :)

(+2)

thank you! that's one of the things that i might add before the release!

Just panning the camera around, I noticed the cat sprite rotates so it's always oriented toward the camera, but the player sprite maintains a constant angle. Playing the demo is even weirder: WASD always moves relative to the current camera angle (e.g. if camera faces east, W moves east), but does not rotate the camera. Arrow keys also move relative to current camera but also move the camera, up and down for up and down, and rotating for left and right. Pressing left arrow repeatedly makes the PC move in roughly a circle. I don't know how much of this behavior is intentional, or how much is a result of being a first pass at the idea.

this is because cat drawing is set to use billboard mesh and avatar uses the plane. you can alt-click the drawing in the editor and select a different mesh type in 3d settings panel, under mesh tab
arrow keys rotating the camera is not intended behavior, it's on the todo list for getting fixed!

Ah, I hadn't noticed those were options. I tried the different types, and they seem to offer a wide set of options. The transform options allow for some effects not found in 2D Bitsy. I also found the camera type options and played with those.

I had just started typing a comment about transparency when I found the option for that as well.

and when i start the game it is just a blue screen i even tried to make a new game and everything

hm.. this might be because game data is corrupted, because you have very dense fog settings or because camera is facing away from everything. did you have any errors in the console?

the dungeon crawler camera, has a bit weird, and i dont know what but something in the engine inverted the controls of the player, but overall its really good, keep it up

i'm not sure what could have inverted the controls.. one thing i can think of is if you use 'arc' camera type you can set 'use left and right to rotate by angle' to a negative number

(+1)

Wow great work