• This repository has been archived on 05/Jun/2024
  • Stars
    star
    426
  • Rank 101,884 (Top 3 %)
  • Language
    Dart
  • License
    BSD 3-Clause "New...
  • Created almost 3 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

tictactoe

A mobile game built in Flutter. You can find it published on stores:

This game was built using the game_template that you'll find in github.com/flutter/samples.

Note: The name of the game in app stores is "Tic Tac Toe Puzzle Game". Because that's what it is, and because every other variation of "Tic Tac Toe" is already taken.

Demo

To make it easier for everyone to play with the sample, it's currently published as a web demo, too, in two versions:

Development

To run the app in debug mode:

flutter run

Code organization

Code is organized in a loose and shallow feature-first fashion. In lib/src, you'll therefore find directories such as ads, ai, audio or main_menu. Nothing fancy, but usable.

The state management approach is intentionally low-level. That way, it's easy to take this project and run with it, without having to learn new paradigms, or having to remember to run flutter pub run build_runner watch. You are, of course, encouraged to use whatever paradigm, helper package or code generation scheme to build on top of this project.

Building for production

The following assumes using FVM. Just remove fvm from the commands if you don't use FVM for Flutter version management.

To build and publish to github.io:

fvm flutter pub global run peanut \
--web-renderer canvaskit \
--extra-args "--base-href=/tictactoe/" \
&& git push origin --set-upstream gh-pages

To build the app for iOS (and open Xcode when finished):

fvm flutter build ipa --bundle-sksl-path warmup_2022-05-12_ios.sksl.json && open build/ios/archive/Runner.xcarchive

To build the app for Android (and open the folder with the bundle when finished):

fvm flutter build appbundle --bundle-sksl-path warmup_2022-05-12_android_pixel5.sksl.json && open build/app/outputs/bundle/release

SkSL shaders

To update the warmup_2022-04-27_xxx.sksl.json files used in the commands above, use the official SkSL shader warmup guide.

The game, despite being simple, uses shaders all over the place for the "drawing ink" effect. In my testing, the performance is fine on most reasonable devices, but why not make it even better?

Note: You can remove the --bundle-sksl-path warmup_xxx.json part of the commands above if you're in a place where you care more about development speed than performance. For example, when you need a quick turnaround for some testing and can't be bothered to manually re-capture the shaders.

Icon

Updating the launcher icon:

fvm flutter pub run flutter_launcher_icons:main

More Repositories

1

state_experiments

Companion repository to the "Build reactive mobile apps in Flutter" talk
Dart
909
star
2

hn_app

The HN reader app developed live on The Boring Flutter Development Show
Dart
487
star
3

linkcheck

Fast link checker
Dart
405
star
4

english_words

Utilities for working with English words
Dart
206
star
5

egamebook

A procedural sword & sorcery adventure
Dart
192
star
6

unsure

Unsure Calculator
Dart
111
star
7

conference_darwin

A library for building conference schedules using a genetic algorithm.
Dart
97
star
8

scifi_ui

Taking Flutter's custom UI capabilities to movie UI territory
Dart
89
star
9

dartbin

DEPRECATED: use https://dart.dev/tools/dart2native instead
Dart
60
star
10

little_things

Code for the app in https://www.youtube.com/watch?v=MIepaf7ks40
Dart
57
star
11

selfimproving-dev

The Self-Improving Developer book.
HTML
49
star
12

edgehead

MOVED:
44
star
13

html_unescape

Dart library for unescaping HTML-encoded strings
Dart
40
star
14

darwin

A genetic algorithm library for Dart.
Dart
37
star
15

markov

Markov chain generator in Dart
Dart
35
star
16

filiphnet

Filip Hracek's personal homepage
HTML
30
star
17

human-life

An app for visualizing human life in weeks.
Dart
28
star
18

progress_bar

JavaScript
26
star
19

win95_flutter

A silly experiment with rendering Windows95-like UI in Flutter
Dart
25
star
20

cli_menu

A simple menu (picker) that works on the command line.
Dart
23
star
21

sloth_app

Intentionally slow Flutter app
Dart
23
star
22

fuzzylogic

Fuzzy logic module for Dart.
Dart
22
star
23

flutter_template_maker

A tool for automatically creating Flutter templates from existing Flutter projects.
Dart
17
star
24

prime_finder

Find primes that include meaningful numbers
Dart
17
star
25

observable_flutter_cube

Dart
16
star
26

adaptive_boring

Dart
15
star
27

game_template

Dart
14
star
28

bespoke

Dart
14
star
29

extension_methods_playground

A few samples use cases of Dart extension methods.
Dart
14
star
30

benchmarkhor

Benchmark comparison tool.
Dart
12
star
31

youtube_subs

Prettifies autogenerated subtitles
Dart
11
star
32

sample_downloader

A command-line tool for easy extraction of Dart & Flutter projects from GitHub repositories.
Dart
11
star
33

slot_machine

Dart
10
star
34

game_benchmarks

ShaderLab
10
star
35

t_stats

A Dart library for statistics.
Dart
9
star
36

tmzns

Automatically exported from code.google.com/p/tmzns
JavaScript
9
star
37

wnews

A tiny command-line news reader
Dart
9
star
38

ink-dart

Dart wrapper around Ink.
Dart
7
star
39

startup_namer

An AngularDart web app for naming startups.
Dart
7
star
40

jsonml

JsonML for Dart
Dart
6
star
41

spaceship_combat

Dart
6
star
42

service_worker_helper

Dart
5
star
43

simpleverse

A simple program that is procedurally generating short poems
Dart
4
star
44

startup_namer_flutter

Dart
4
star
45

codelab-experiment

C++
4
star
46

grayshore

Grayshore is an old-school fantasy setting for roleplaying games (like Dungeons & Dragons), computer games and whatever else that needs a consistent world.
4
star
47

gtag_analytics

A minimal Google Analytics interop library for Dart.
Dart
3
star
48

zombie

Dart
3
star
49

goap

Goal oriented action planning in Dart.
Dart
3
star
50

construct3-standalone

A simple Electron wrapper around Construct 3 web app.
JavaScript
2
star
51

another

Another Death of Art: an evolutionary algorithm art project
Python
2
star
52

flame-collision-benchmark

Dart
2
star
53

lochness

Ludum Dare game
Dart
2
star
54

timeline

A simple web-based tool for creating SVG timelines
Dart
2
star
55

devfest_cz

Dart
2
star
56

dart-logo-neural-pilot

Dart
2
star
57

dart-graphml

DEPRECATED: Please do not use this code
Dart
1
star
58

reddit_crawler

A simple command line tool that gets all Reddit submissions about a particular technology
Dart
1
star
59

bodega

Dart
1
star
60

herding-game

Automatically exported from code.google.com/p/herding-game
JavaScript
1
star
61

egamebook_server

Dart
1
star
62

dart-xml

A lightweight XML library for Dart.
Dart
1
star
63

components_codelab

Dart
1
star
64

georgeous

This is a 2 year old exercise in Android app design. Nothing much to see here, really.
Java
1
star
65

text_interpolate

Minimal Dart library for random interpolation between two Strings. To be used for 'animation' - tweening between texts.
Dart
1
star
66

measure

Tools for measuring some performance metrics.
Dart
1
star