Ebiten VS aaaaxy

Compare Ebiten vs aaaaxy and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
Ebiten aaaaxy
54 5
9,889 203
- -
9.8 9.7
2 days ago 8 days ago
Go Go
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Ebiten

Posts with mentions or reviews of Ebiten. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-24.
  • Lag Is Never Where You Want It... Or Don't Want It
    1 project | dev.to | 1 May 2024
    Reading ebiten docs and source code they very clearly state that writing RGBA bytes to an image is slow, and shouldn't really be done every frame, at least many times per frame. This is where I thought my performance was being lost, and it sent me looking for answers for ages. Turns out, I was wrong and right.
  • Making Games in Go for Absolute Beginners
    17 projects | news.ycombinator.com | 24 Nov 2023
    I love Go, yet I've never thought of it as a language with usable game engines. I'm extremely happy to find I was very wrong about that!

    I'm woefully behind the curve on compiling to WASM, though, and I've yet to experiment much with tinygo so I have no idea how far I would get in creating a game people could enjoy in a browser without having to download a big bundle of assets. It's reassuring to see WASM mentioned explicitly as a compilation target [1] by Ebitengine though.

    [1] https://github.com/hajimehoshi/ebiten

  • Ho did/do you remove cgo?
    1 project | /r/ebitengine | 18 Jun 2023
    For other OSes, see https://github.com/hajimehoshi/ebiten/issues/1162
  • Is there a love2d for c++?
    3 projects | /r/gamedev | 25 May 2023
    What about learning Go with Ebiten? Or Rust with Bevy?
  • What would be the closest thing to Unity/Unreal C#/C++ for Go to create games/animations/visual work?
    5 projects | /r/golang | 19 Apr 2023
    Actually, there is a game engine in Go. Ebiten(gine) is actually really popular and has already been used for a few games in production
  • How complex/big can I make games in Go?
    1 project | /r/golang | 9 Apr 2023
    Check out this thread, some of the linked repositories might be of help. https://github.com/hajimehoshi/ebiten/discussions/1527
  • Spaceshooter in Go
    1 project | dev.to | 13 Mar 2023
    // consider having a laser type to deal with orientation, etc // basic information to draw sprites, track position and update position type Body struct { // positions x float64 y float64 // velocities vx float64 vy float64 // get height and width from sheet.xml using sp width int height int } type Enemy struct { Body sp int health int } type Laser struct { Body sp int } type Mode int const ( ModeTitle Mode = iota ModeGame ModeGameOver ) var ( arcadeFont font.Face smallArcadeFont font.Face ) // fonts and sizes func init() { tt, err := truetype.Parse(fonts.ArcadeN_ttf) if err != nil { log.Fatal(err) } const dpi = 72 arcadeFont = truetype.NewFace(tt, &truetype.Options{ Size: fontSize, DPI: dpi, Hinting: font.HintingFull, }) smallArcadeFont = truetype.NewFace(tt, &truetype.Options{ Size: smallFontSize, DPI: dpi, Hinting: font.HintingFull, }) } // in the future have a laser type struct, spriteImgNum, and number of animations type Game struct { mode Mode level int // tracks location of player and maybe health Player struct { Body health int laserType int canShoot bool sp int // consider adding in height and width of player object // all of the sprites seem to be the same // TODO set global width } PLasers []*Laser Enemies []*Enemy ELasers []*Laser gameoverCount int } // load images func init() { // sprites img, _, err := image.Decode(bytes.NewReader(resources.Sprites_png)) if err != nil { log.Fatal(err) } gameImages, _ = ebiten.NewImageFromImage(img, ebiten.FilterDefault) // backgrounds img, _, err = image.Decode(bytes.NewReader(resources.Starfieldreal_jpg)) if err != nil { log.Fatal(err) } bgImage, _ = ebiten.NewImageFromImage(img, ebiten.FilterDefault) } // background image logic from // # https://github.com/hajimehoshi/ebiten/blob/master/examples/infinitescroll/main.go var ( theViewport = &viewport{} ) type viewport struct { x16 int y16 int } func (p *viewport) Move() { w, h := bgImage.Size() maxX16 := w * 16 maxY16 := h * 16 p.x16 += w / 32 p.y16 += h / 32 p.x16 %= maxX16 p.y16 %= maxY16 }
  • Mac + opengl
    2 projects | /r/GraphicsProgramming | 24 Jan 2023
    I noticed a similar issue when I got my MBP with the framebuffer not matching the window size and this has to do with the DPI settings. This GitHub link helped me understand the issue better and I hope it can be of assistance to you https://github.com/hajimehoshi/ebiten/pull/1811
  • crten - a small tool to view your pixel art with a CRT screen effect
    2 projects | /r/gamedev | 15 Nov 2022
    This program also demonstrates how great Ebitengine is and how you can port GLSL shaders to it almost 1 to 1.
  • Sharing Saturday #439
    3 projects | /r/roguelikedev | 4 Nov 2022
    Basic gist: built in Go with ebitengine, medieval fantasy, pixel art

aaaaxy

Posts with mentions or reviews of aaaaxy. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-24.
  • Making Games in Go for Absolute Beginners
    17 projects | news.ycombinator.com | 24 Nov 2023
    > Your game looks great, congrats on your progress! I especially enjoyed how the zoom works when you're leaving/arrive planets, and the unique propulsion system (also, the anchor made me giggle!).

    Thank you. Feedbacks are very much appreciated. There is still a long was until an eventual release, but it's very fun to work on it.

    > I tend to not need many, so I'd be curious if you can recall any structure in particular which you couldn't find? No biggie if not.

    I had trouble finding basic structures like sets or linked lists, as much as more specific ones like R-tree, M-tree, KD-tree quad-tree or specific kinds of tries.

    When quickly searching on Google, there are pretty much always some results, but when looking at the details it's not that great. Most of the packages have some kind of flaw that was a deal-breaker for me. Most common ones are:

    - The package is something developed by one guy 4 years ago, and has pretty much no stars and is abandoned

    - The structure is somehow backed by the native `map`, meaning that it has the same randomized iteration order

    - There is some kind of logic to try to handle multi-threading, mixed-up with the data structure's logic. Often with mutexes/locks, thus killing the performance. My game is pretty much only mono-thread, and I just need something simple and that does not care about synchronization.

    - The structure is not generic, but only uses `interface{}`

    - The structure lacks tests or have unreadable code made of 1-letter variables

    > I'm not a game dev, but I've seen some larger games such as https://github.com/divVerent/aaaaxy/tree/main/internal (if you haven't played it before—do it!) which seems to be able to place everything into separate packages without issue, so perhaps there's something to gleam from their architecture?

    Thanks for the reference. After looking at it, is seems to me that they are creating really tiny packages made of one or two files. I don't want my codebase to end-up with thousands of 1-file packages, it does not seem very maintainable. I want to keep having packages with clearly defined purposes and domains.

    > Hash map iteration shouldn't be sorted in _any_ language (here's Rust, for example https://play.rust-lang.org/?version=stable&mode=debug&editio... (Python makes it _appear_ as if dicts are sorted hash maps, but that's only because it doesn't only use a hash table, but a vector as well (same as you'd have to do in Go))), otherwise it would cause both portability and security (https://github.com/golang/go/issues/2630) issues. You should probably be using a b-tree if you aren't willing to sort it yourself.

    I think that you didn't understand my message (or I didn't explain clearly enough). I do not need the items to be sorted, I need the iteration order to be consistent.

    Let's say that I insert A, B and C in a map, then want to iterate on it. I will get an unspecified order, maybe ABC, maybe CBA, maybe BAC, which does not matter to me. However, in any language, this order will be consistent across all future iterations unless the data is changed. This is a natural property of any data structure. So if I got CBA in the first loop, I will also get CBA in the second and third loops.

    In golang this is not the case because they actively inserted a random order. It means that even if the data does not change, I may get CBA in the first iteration, but BAC in the second, then ABC... Which created a ton of issues for me.

    > If you don't care about unloading https://github.com/pkujhd/goloader

  • aaaaxy: A nonlinear 2D puzzle platformer taking place in impossible spaces.
    1 project | /r/gogamedev | 2 Nov 2023
  • Aaaaxy is a nonlinear 2D puzzle platformer taking place in impossible spaces
    1 project | news.ycombinator.com | 10 Sep 2022
  • ⟳ 1 apps added, 37 updated at f-droid.org
    9 projects | /r/FDroidUpdates | 26 Aug 2022
    AAAAXY (version 1.2.280+20220822.2294.9ff4b8b7): A nonlinear 2D puzzle platformer taking place in impossible spaces.

What are some alternatives?

When comparing Ebiten and aaaaxy you can also consider the following projects:

Pixel - A hand-crafted 2D game library in Go

osmdroid - OpenStreetMap-Tools for Android

raylib-go - Go bindings for raylib, a simple and easy-to-use library to enjoy videogames programming.

chaofun-app - 炒饭( https://chao.fun/app )App工程

go-sdl2 - SDL2 binding for Go

app - Think fearlessly with end-to-end encrypted notes and files. For issues, visit https://standardnotes.com/forum or https://standardnotes.com/help.

engo - Engo is an open-source 2D game engine written in Go.

fritter - A privacy-friendly Twitter frontend for mobile devices

resolv - A Simple 2D Golang collision detection and resolution library for games

NewsBlur - NewsBlur is a personal news reader that brings people together to talk about the world. A new sound of an old instrument.

Oak - A pure Go game engine

goloader - load and run golang code at runtime.