Giter Club home page Giter Club logo

32blit-beta's Introduction

32blit Beta Testing Release

The code in this repository is intended for 32blit beta testers only. It's not intended for general release or for end users. If you expect to be able to get started quickly and easily- you're going to have a bad time.

The 32blit API itself isn't quite finalised yet and may be prone to sudden and sweeping rewrites- that's to say that feedback is appreciated, but your PRs might be in vain.

That said, we're really keen to hear feedback about the setup process, our documentation, ideal tooling, and generally how best get medium to advanced developers up and running with 32blit and C++.

While the 32blit API is not finalised, this repository represents an overview of how our C++ tooling will work and how we expect to separate user projects from API code and the SDL/STM32 front-ends.

You Will Need

  1. Some experience writing/compiling C/C++ software
  2. gcc or Visual Studio for compiling test builds
  3. gcc-arm-none-eabi for compiling STM32 builds
  4. cmake and make for building 32blit libraries and examples
  5. Python3 installed, along with pip3 (sudo apt install python3 python3-pip on Ubuntu/WSL) and the 32blit tools pip3 install 32blit
  6. Ubuntu on Windows 10 WSL (Windows Subsystem for Linux), or a Linux VM if you prefer.
  7. If you intend on building/uploading the device firmware, you will need a DFU upload tool, on Windows it's easiest to just use "DfuSe Demonstration" (available from st.com) and the following Python modules: pip3 install construct bitstring

For more information about how to build on the various systems, refer to the platform specific docs in the docs folder!

More docs!

Refer to the OS specific docs:

If you want to run in a browser, refer to the Emscripten docs

If you want to run on device, refer to the 32blit docs

How to set up your editor:

Overview of what is inside?

32blit

The 32blit directory contains the API/engine for developing your game. This engine contains all the graphics, sound and game logic functionality you'll need for building a 32blit game.

32blit-sdl

The 32blit-sdl directory contains an SDL2 HAL for 32blit compatible with Linux, macOS, Windows and Emscripten. You can use it to run your 32blit projects on your computer and test/debug them a little quicker.

You should be careful relying upon it, however, since 32blit-sdl is not an emulator you may run into memory or performance problems when deploying your game to a 32blit console.

32blit-stm32

The 32blit-stm32 directory contains the STM32 HAL for 32blit, compatible with the STM32H750. Once you're ready to get your project running on a 32blit console you will need to ensure you have the gcc-arm-none-eabi toolchain installed and then follow the instructions below for Building & Running On 32Blit

Examples / Projects

The examples directory contains example projects, these can be built into both SDL or STM32 binaries and cover a range of techniques from simple concepts to complete games.

Refer to the OS/platform specific documentation files in the docs/ folder for instructions on how to compile and run these examples.

The template directory contains a minimal game template you can copy to start your own project.

Troubleshooting

If you see cannot create target because another target with the same name already exists you've probably run cmake .. in the wrong directory (the project directory rather than the build directory), you should remove all but your project files and cmake .. again from the build directory.

If you are getting complaints on WSL / Linux about python modules missing, you may have accidentally installed them with sudo. When using pip3 to install modules do not use sudo, this will make sure that modules are installed for the current user.

32blit-beta's People

Contributors

daft-freak avatar gadgetoid avatar ali1234 avatar lenardg avatar andrewcapon avatar shane-powell avatar ahnlak avatar mylogon341 avatar ymauray avatar lowfatcode avatar zenodante avatar illbewithee avatar thepythonator avatar tinwhisker avatar ntwyman avatar mikerr avatar johnmccabe avatar a2 avatar andreban avatar drisc avatar lordeidi avatar loxrie avatar pharap avatar trollied avatar lukesadlerhhl avatar titimoby avatar dstretch avatar

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.