liwords
Ebiten
liwords | Ebiten | |
---|---|---|
20 | 54 | |
74 | 9,889 | |
- | - | |
9.3 | 9.8 | |
6 days ago | 2 days ago | |
Go | Go | |
GNU Affero General Public License v3.0 | Apache License 2.0 |
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.
liwords
-
Scrabble's Best Player Knows No Limits
Check out https://woogles.io (disclaimer I am a cofounder). AGPLV3 platform with world class bots, puzzles, a free analyzer, clubs/tournaments, and more to come. You can see the source code at https://github.com/woogles-io/liwords. We recently hit 5M games played and have hosted a few major tournaments.
- ISC
-
Any new Opensource projects in (go) looking for contributors. I want to start my journey as an OSS contributor.
A small team of us work on a project https://github.com/domino14/liwords - this is an online crossword-board-game playing website. We have around 6000 MAU, are fully free and open-source, and need a lot of coding help!
-
Who is using Go to build web sites and applications?
We built woogles.io (a crossword board game playing site with almost 10K MAU) in Go. See https://github.com/domino14/liwords
-
What are well-developed web applications in Golang?
https://github.com/domino14/liwords - warning it’s not that well-developed but it’s ok
-
Ask HN: Those making $0/month or less on side projects – Show and tell
A small team and I made https://woogles.io - we were inspired by lichess to make a site to play crossword board games during the pandemic (like Scrabble, Words with Friends, etc).
We did raise money on Kickstarter - 25K but are purely donations-driven and open source (AGPL3) Most months we just get enough to cover the cost of running the servers. We have around 6000 monthly active users, have hosted several big worldwide championships, have puzzles, and just earlier today released a board editor / broadcast mode for annotating real life games in real time. We also have a top notch bot AI and WASM-based analyzer.
Our stack is Go, Typescript + React, with NATS/PGSQL on the backend.
-
scrabble
woogles.io
-
Has there been a scrabble AI who can make predictions on the winning probabilities?
The people behind those websites and apps have no clue this software exists. The exception is woogles.io because it is associated with the Macondo AI. /u/14domino is the brain behind both of those things
-
ISC is so ugly
https://woogles.io raised $25K on Kickstarter and built a more beautiful site. Come join us (we’re still taking donations :)
-
An overview on Scrabble resources
- Playing online: there is woogles.io which I personally would recommend; it's made by players for players and is free to use. Among the features are: play against humans, play against strong bots, tournaments, feedback on your moves after the game, availability of different languages and game variants. Other options are: playscrab.com (also made by players for players); isc.ro (the Internet Scrabble Club); the app Scrabble Go and, if you don't mind playing with slightly altered game rules, Wordfeud, which comes along with a large online league (not technically affiliated with the app itself).
Ebiten
-
Lag Is Never Where You Want It... Or Don't Want It
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
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?
For other OSes, see https://github.com/hajimehoshi/ebiten/issues/1162
-
Is there a love2d for c++?
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?
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?
Check out this thread, some of the linked repositories might be of help. https://github.com/hajimehoshi/ebiten/discussions/1527
-
Spaceshooter in Go
// 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
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
This program also demonstrates how great Ebitengine is and how you can port GLSL shaders to it almost 1 to 1.
-
Sharing Saturday #439
Basic gist: built in Go with ebitengine, medieval fantasy, pixel art
What are some alternatives?
zig-wasm-test - A minimal Web Assembly example using Zig's build system.
Pixel - A hand-crafted 2D game library in Go
minimal-zig-wasm-canvas - A minimal example showing how HTML5's canvas, wasm memory and zig can interact.
raylib-go - Go bindings for raylib, a simple and easy-to-use library to enjoy videogames programming.
zig-wasm-logger - A simple implementation of console.log() in Zig + JS + Wasm
go-sdl2 - SDL2 binding for Go
Dodgeballz - A mini game using Zig, WASM and JS
engo - Engo is an open-source 2D game engine written in Go.
sokol-zig - Zig bindings for the sokol headers (https://github.com/floooh/sokol)
resolv - A Simple 2D Golang collision detection and resolution library for games
lichobile - lichess.org mobile application
Oak - A pure Go game engine