Giter Club home page Giter Club logo

paladin-t / bitty Goto Github PK

View Code? Open in Web Editor NEW
244.0 9.0 16.0 46.42 MB

Bitty Engine - An itty bitty 2D game engine, with built-in editors, programmable in Lua.

Home Page: https://paladin-t.github.io/bitty

License: BSD 3-Clause "New" or "Revised" License

CMake 0.78% C++ 70.90% Objective-C 0.35% Objective-C++ 0.22% Makefile 7.81% HTML 8.54% CSS 0.07% Shell 1.98% M4 1.62% Batchfile 0.31% D 0.22% DTrace 0.01% Perl 1.43% Roff 3.94% VBScript 0.04% DIGITAL Command Language 0.60% Python 0.27% C# 0.45% HLSL 0.23% Java 0.26%
game-engine fantasy-console fantasy-computer bitty bitty-engine lua game-development gamedev indiedev pixelart

bitty's Introduction

bitty's People

Contributors

paladin-t avatar ryanford avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bitty's Issues

Evaluate Profile-Guided Optimization (PGO)

Hi!

I am collecting all materials (benchmarks, articles, stories, showcases, etc.) about Profile-Guided Optimization (PGO) across different applications here. I am sure you will be able to find helpful information regarding PGO.

Related to the gamedev domains, I suggest you look at the following things:

  • I did some benchmarks for Bevy with PGO. PGO-run (first) vs non-PGO (second) - Pastebin. In these results you need to interpret performance decrease as "Release version is slower than PGOed" and performance increase as "Release version is faster than PGOed". As you see, in many scenarios PGO improves performance, but in some of them performance is decreased.
  • Unreal Engine supports PGO build since 4.27 (release notes). According to the documentation, PGO allows to achieve better performance on UE too (+10% on some CPU-heavy scenarios from this page). Also, I've talked with developers in a local Telegram chat about UE. A person said that they use PGO as a default optimization with UE and their games. The PGO profiles are collected via crafted local test workloads (usually - the most difficult scenes) with Gauntlet. The performance improvement is something like 6-8%
  • Godot proposal about PGO - link
  • Unity Burst thread about PGO - link

We need to check the PGO effects on Bitty, and if it works well - write a note in the Bitty documentation about building with PGO. I'd appreciate your providing an easy way to build Bitty with PGO (e.g. via custom build options), and experienced users will be able to do it on their own for their own usage scenarios. Another option is to optimize Bitty prebuilt binaries with a generic-enough profile. Providing PGO-optimized binaries could be a trickier task (since it requires preparing a good-enough profile) but as an option would be great to see too.

As an additional optimization, I suggest looking at LLVM BOLT. But from my experience, starting with PGO and then using BOLT would be better.

"open"/"save" silently do nothing, itch.io paid download

I think I've got a bug, but there's not a lot to go on - no matter what I do, I can't get "open" or "save" to do anything; opening from examples works, but "open", "open from directory", and all the save options just silently do nothing.

This is the itch.io pro download on linux x64

  1. run bitty (sorry I accidentally changed workspaces)
  2. prove the app works, it runs
  3. try to save, nothing happens
  4. try to save as, nothing happens
  5. try to save as directory, nothing happens
  6. quit, asked to save, nothing happens

https://youtu.be/Lhp5JfAd06I

​Happy to get anything else that would be helpful!
​​

Licensing Question

Are games made with Bitty required to be GPL licensed because of the dependency on Mongoose?

doubt

have network support, i.e., luasocket or tcp/udp custom based ?
native or dll/so

doubt

hi

whats diff between steam and github ?
it's possible add new functions using dll (in case of windows) ?

Editor crash

When playing with the included example, Physics/Sticky, the editor crashes with the following error when I click on one of the sticky objects, and then I drag my mouse off screen to the right. I'm using x64/Bitty on Pop!_OS.

Code editor opened: "main.lua".
Initializing cpSpace - Chipmunk v7.0.3 (Debug Enabled)
Compile with -DNDEBUG defined to disable debug mode and runtime assertion checks
Aborting due to Chipmunk error: Unsolvable constraint.
	Failed condition: det != 0.0
	Source:/home/tony/Documents/shared/bitty/bitty.linux/../lib/chipmunk2d/include/chipmunk/chipmunk_private.h:255
Aborted (core dumped)

bitty 易用性改进

我对bitty做了大量的易用性和UI方面的改进
一部分的演示:

2022-05-18.09.09.46.mp4

其中一些修改了第三方包, imgui_code_editor, imgui这些包都有改动
暂时没有提交pr

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.