Thank you for your interest in publishing with Apress (a Springer Nature company).
Below is a completed proposal for review.
Proposed Title / Subtitle
Main title: Grid-Based Game Programming
Subtitle: with p5.js-v2 and p5.quadrille.js
AUTHOR DATA
- Author Name: Jean Pierre Charalambos
- Mailing Address: Universidad Nacional de Colombia, Sede Bogotá — Facultad de Ingeniería, Departamento de Ingeniería de Sistemas e Industrial
- Phone Number: +57 601 316 5000
- Email Address: jpcharalambosh@unal.edu.co
Author Bio
Jean Pierre Charalambos is an Associate Professor at the Universidad Nacional de Colombia (Bogotá) specializing in creative-coding pedagogy, visual computing, and game-based learning. With over 20 years of experience teaching computing and programming, he is the author of the open-source library p5.quadrille.js and the SoftwareX article p5.quadrille.js: p5.js quadrille library (Elsevier, 2024), which inspired this book.
Charalambos leads the Gamers, Developers and Designers (GDD) group, a research and teaching initiative exploring digital game-based learning through open, creative-coding tools that bridge multiple programming paradigms. His work integrates design-based research and agile methodologies to foster hands-on, sustainable learning in computer science education.
Online Presence
- GitHub: https://github.com/nakednous
- Blog / Portfolio: https://jpcharalambosh.co
BOOK DESCRIPTION
Grid-Based Game Programming with p5.js-v2 and p5.quadrille.js extends the learning framework introduced in the author’s SoftwareX paper, p5.quadrille.js: p5.js quadrille library (Elsevier, 2024). It turns a research-proven approach into a hands-on guide for learning programming through grid-based game (GBG) design.
The book argues that the p5.js + p5.quadrille.js framework helps learners develop computational-thinking and multi-paradigm programming skills — declarative, functional, and object-oriented — through creative, game-driven design.
Chapters progress from foundational programming concepts to advanced GBG programming strategies such as aggregation, layering, timelines, algebra, bitboards, cell effects, and polymorphic cell objects. Each introduces a programming pattern that emerges naturally from grid-based gameplay.
While 3D game engines emphasize graphics pipelines and shaders, GBGs simplify the visual layer: p5.quadrille.js manages rendering behind the scenes through framebuffer-backed cells, allowing readers to focus on logic, interaction, and rule design without losing visual expressive power.
GBGs are ideal for learning programming because they are compact, challenging, and theoretically rich. They span a wide range of categories—from classics like Chess (Chaturanga, ca. 7th cent.) and Go (China, >2500 BCE) to puzzles such as Sudoku (Maki Kaji, 1984) and digital icons like Tetris (Alexey Pajitnov, 1984) or Dr. Mario (Nintendo R&D1, 1990)—yet all share the same discrete, rule-based nature that makes them excellent vehicles for exploring logic, data structures, and design patterns. The book’s online materials—including the interactive API, open-source library, and playable demos—form a reproducible creative-coding ecosystem where readers can run, adapt, and extend every example.
Why Now
With the recent release and growing adoption of p5.js-v2 across art, design, and computing education, there is a growing need for resources that bridge creative coding with game-based learning. This book meets that need by integrating GBG-programming strategies within an open, interactive, browser-native framework that aims to help educators and learners develop computational thinking through game design.
WHAT READERS WILL LEARN
- Design and prototype GBGs with p5.js-v2 and p5.quadrille.js within an open, browser-native creative-coding framework.
- Apply declarative, functional, and object-oriented thinking to shape game logic and interaction.
- Implement core GBG programming strategies—timelines (undo/redo), aggregated and layered boards, boolean-algebra merges, and bitboards—as composable building blocks for structuring grid state and behavior.
- Create customized visuals and behaviors through cell effects and cell objects, showing how these strategies compose to enrich interaction and display.
- Build reusable entities and polymorphic objects that express software-engineering principles in play.
- Evolve each example into a personal experiment through concise Try this prompts that link theory and play.
WHO THIS BOOK IS FOR
Primary audience: educators, students, and developers interested in learning and teaching computational thinking through multi-paradigm programming and GBG design. While aimed at beginner and intermediate readers, advanced game developers can also benefit from the framework’s rendering-agnostic design—using p5.quadrille.js either for game computation (e.g., bitboards and logic prototyping) or for rendering complex grid visuals that can display any JavaScript-valid value.
User level: ☑ Beginner ☑ Intermediate ☐ Advanced (Readers need only basic JavaScript or p5.js familiarity; the book progressively reinforces core programming concepts.)
KEYWORDS
game-based learning
creative coding
computational thinking
grid-based games
multi-paradigm programming
p5.js-v2
p5.quadrille.js
JavaScript
object-oriented programming
functional programming
declarative programming
quantum game design
visual computing
educational software
interactive media
UNIQUE SELLING POINTS
- Fosters computational thinking through GBG design — Advances the p5.quadrille.js research framework into a visual, hands-on learning ecosystem that integrates creative coding, interactive visualization, and game logic. Learners visualize core concepts as they unfold through live, browser-based sketches and progressively build computational-thinking and design skills.
- Teaches through composable strategies and guided experimentation — Each strategy embodies a different programming paradigm—declarative, functional, or object-oriented—and is reinforced through concise Try this prompts that transform examples into playable GBG prototypes. This exercise-driven progression cultivates abstraction, reasoning, and creativity, yielding clearer, more expressive, streamlined, and less error-prone code.
- Sustains open, interactive, and research-grounded learning — All examples, visualizations, and API references are live, browser-native, and open source, forming a reproducible environment for teaching and third-party collaborative adaptation. Rooted in the Design-Based Research + Agile cycle introduced in the SoftwareX paper, the framework ensures continuous refinement through workshops, feedback, and community contributions.
COMPETITION
Most p5.js books emphasize drawing and generative art rather than gameplay or logic—and they target p5.js-v1.x, not v2. Make: Getting Started with p5.js (McCarthy, Reas & Fry, 2015) and Generative Design (Gross et al., 2018) remain creative-coding staples but focus on aesthetics. Learn JavaScript with p5.js (Arslan, Apress, 2018) provides a solid introduction to syntax and visualization, yet not GBG logic or multi-paradigm design. The Nature of Code (Shiffman, 2012) explores simulation, motion, and emergence in continuous space, whereas Grid-Based Game Programming centers on discrete, rule-driven systems and the advanced rendering capabilities of p5.js-v2/WebGL2.
Beyond p5.js, Apress titles such as Game Development with GameMaker Studio 2 (Cossu, 2019) and Developing 2D Games with Unity (Halpern, 2019) rely on engine-based workflows rather than language-level learning. Likewise, Game Development Using Python (Parker, 2021) approaches game creation procedurally but without an educational or cross-paradigm focus.
Grid-Based Game Programming bridges these gaps—combining creative-coding accessibility, pedagogical structure, and multi-paradigm depth—while updating the ecosystem to p5.js-v2 within a browser-native, open framework for creative-coding and game-based learning.
SOURCE CODE
Yes. The open-source library repository objetos/p5.quadrille.js, from which its interactive visual API documentation with live examples at objetos.github.io/p5.quadrille.js is built.
ESTIMATED PAGE COUNT
Approx. 220–250 pages (≈ 60,000–70,000 words)
with ~50 interactive examples and ~10 full demos.
DELIVERY SCHEDULE
- First complete book draft: January–February 2026
- First (and second) book revisions: April–May 2026
- Final manuscript: June–July 2026
The TENTATIVE TABLE OF CONTENTS section includes links to several chapter drafts from the main book part (Programming Strategies), already published online as live, interactive examples.
APRESS OPEN
The author does not plan to pursue Apress Open sponsorship. Open access is already provided through the open-source library repository, which includes its interactive visual API.
TENTATIVE TABLE OF CONTENTS
Part I — Introduction
Presents the book’s scope and pedagogical foundation, outlining how creative coding and game design converge within a clear programming workflow that separates concerns—initialization and resource setup, a lean main event loop, dedicated input handlers, and modular helper functions—a structure used consistently across all examples, demos, and applications.
1 Intended Audience — Defines goals and scope; creative coding as a bridge between programming and design.
2 Game-Based Learning — Educational foundations and rationale for using game design to teach programming.
3 Grid-Based Games — Presents grids as the discrete foundation of this approach, where interaction, logic, and visualization emerge from cell-based structures. Outlines main GBG categories and shows how grids naturally connect reasoning, code, and design.
4 APIs and Programmer Roles — Introduces p5.js and p5.quadrille.js as complementary APIs for modular design.
Live demo chapters:
Part II — Getting Started with p5.js
Introduces essential p5.js-v2 features—WebGL, typed inputs, images, and graphics—while reinforcing JavaScript fundamentals such as functions, objects, and event-driven interaction.
5 State Machines — Modeling interactivity and transitions.
6 Sketch Structure — From setup() / draw() to modular architecture.
7 Mouse and Keyboard — Capturing user input and managing state.
8 DOM Integration — Linking sliders, buttons, and HTML controls.
Part III — Programming Strategies
Develops the conceptual core of the book through progressive strategies that merge declarative, functional, and object-oriented programming paradigms to build interactive, rule-driven GBG logic.
9 Features of a Quadrille — Grid model; declarative, functional, and OOP paradigms.
10 Aggregated States — Single-board logic for Tic-Tac-Toe and pattern search.
11 Layered Boards — Multi-quadrille composition and merging.
12 Timelines — Undo/redo, replays, and branching through cloning.
13 Algebra — Boolean (AND, OR, XOR, NOT) merging and masking.
14 Cell Effects — Procedural and animated displays under the display contract.
15 Cell Objects — Movable entities via classes and factories.
16 Polymorphic Cell Objects — Inheritance and unified interaction rules.
17 Bitboards — BigInt encoding for efficient grid computation.
Live interactive demo chapters:
Part IV — Demos and Applications
First developed from the author’s blog and SoftwareX paper, these examples—together with the new Celtic Handpan, Turtle Graphics, and Quantum Tic-Tac-Toe demos—showcase the library’s creative and educational scope, spanning image processing, 3D visualization, game logic, and interactive design, and conclude with a student/reader showcase that reflects the collaborative, open-source nature of the p5.quadrille.js ecosystem.
18 Image Convolution Visualizer — Demonstrates image filtering by applying convolution kernels to visualize pixel-level transformations.
19 GPU-Based Photomosaic — Builds GPU-accelerated mosaics that match image tiles by lightness through quadrille–shader integration.
20 Platonic Cells — Renders Platonic solids within quadrille cells, showcasing animated 3D cell effects in WebGL.
21 Game of Life Texturing — Maps evolving cellular automata as dynamic textures on 3D shapes in WebGL.
22 Chess Pattern Recognition — Detects tactical motifs like knight forks using FEN-based board analysis and the quadrille search method.
23 Minesweeper — Recreates the classic puzzle using layered quadrilles for uncovering cells and managing game state.
24 Turtle Graphics — A serious game that teaches geometric reasoning and algorithmic thinking through movement, drawing, and pattern recognition.
25 Celtic Handpan — An audiovisual synesthesia demo that turns a Quadrille into a playable Celtic handpan, illustrating prototype-based extension in JavaScript.
26 Quantum Tic-Tac-Toe — A playful GBG introducing quantum concepts—superposition, entanglement, collapse, and measurement—through intuitive grid interactions.
27 Student / Readers Showcase Selection.
Part V — Quadrille API
The Quadrille API is a modern, searchable, and continuously maintained interactive documentation with live p5.js-v2 examples, serving as a free, permanent educational companion to the book and soon to include an AI tutor offering contextual guidance, code suggestions, and visual explanations within the site.
- Input & Creation — Create quadrilles from diverse sources such as
BigInt,arrays,images,strings,FENnotation, or graphics buffers. - Processing & Logic — Visit, search, and combine cells using declarative programming and algebraic merges (
and,or,xor,not); includes predicate-based iteration, cloning, and shift utilities. - Rendering — Draw quadrilles with complete style control and custom display contracts for colors, images, functions, and objects.
- Reformatter — Convert quadrilles to and from
BigInt,arrays,images, orFENfor interoperability and storage.
Estimated total page / word count: 220–250 pp / ≈ 65 000 words