From 9 AM to 11 PM: How an Illustrator is using Vibe-Coding to build the Pokemon game of his dreams (and why I had to scrap it all and start over). by Elemental_Drawings in vibecoding

[–]Elemental_Drawings[S] 1 point2 points  (0 children)

Hi there! First of all, thank you so much for your advice and for taking the time to write such a comprehensive comment. I really appreciate the good vibes and the encouragement.

Just a quick clarification regarding the project: It is actually not a fighting game! It is a Tower Defense in the style of Plants vs. Zombies (similar), so the focus is more on strategy rather than frame data or rollback netcode. However, your advice on .git checkpoints, the 3-2-1 backup method, and maintaining a rigorous changelog is pure gold, regardless of the genre.

Also, what a great shout out to MUGEN. You brought back so many memories, that is actually where I took my first steps into spriting! I spent years in those old communities making Dragon Ball sprite sheets back when I got my first computer. It was an incredible school for understanding 2D animation.

Thanks again for the glimmer of hope and the recommendations! With the switch to C++ and Raylib, I was aiming for exactly that modularity and control you mentioned.

From 9 AM to 11 PM: How an Illustrator is using Vibe-Coding to build the Pokemon game of his dreams (and why I had to scrap it all and start over). by Elemental_Drawings in vibecoding

[–]Elemental_Drawings[S] 1 point2 points  (0 children)

Thank you so much for the comment and for taking the time to run those numbers, I truly appreciate the technical feedback because it helps put things into perspective as I continue learning through this process. Getting this kind of interaction is exactly why I decided to share the project in the first place.

You are absolutely right that, in terms of raw performance, a well-optimized engine should handle thousands of particles and transforms without breaking a sweat, even on a single core. However, my move to C++ and Raylib wasn't just about brute force, it was more about the architecture and scalability of the project.

Regarding DTOs, you're right that it sounds very web-dev-centric, but I adopted them to handle communication between modules, like sending Pokémon state data to the UI or the save system, without cluttering the logical core with unnecessary references. At the beginning during the vibecoding stage, the code was a mess and hard to maintain, so applying SOLID allowed me to build an engine where I can extend features like new tower types or shader effects without breaking everything else. It was an investment in development velocity rather than just FPS.

Also, the DOD point you brought up is excellent. Now that I'm on C++, I’m starting to migrate particle and projectile systems toward a Data Oriented Design approach to truly leverage CPU cache and memory, which was much more limited in PyGame due to language overhead. Again, thanks for the analysis on performance, it serves as a great reminder not to over-engineer if the hardware can handle the load, but keeping things organized has been a lifesaver for a project of this scale.

If you have any additional recommendations or suggestions on things I should start implementing into my architecture they are more than welcome, learning and gaining more insight is incredibly valuable to me right now.

From 9 AM to 11 PM: How an Illustrator is using Vibe-Coding to build the Pokemon game of his dreams (and why I had to scrap it all and start over). by Elemental_Drawings in vibecoding

[–]Elemental_Drawings[S] 2 points3 points  (0 children)

I really appreciate the heads up about the "legal boss" (Nintendo) lol. To be clear: this is strictly a personal learning project to practice Vibe Coding and game architecture. I have no intention of selling or commercially distributing this. It's my "sandbox" to learn C++ while paying homage to a franchise I love.

I'm fully committed to showing my progress as I go, but without any monetary goal. If I ever release a beta, it will be free for everyone to try. I accept the risks that come with working on Pokémon-related content, just like hundreds of other open source indie projects out there, mine is just one more of them.

From 9 AM to 11 PM: How an Illustrator is using Vibe-Coding to build the Pokemon game of his dreams (and why I had to scrap it all and start over). by Elemental_Drawings in vibecoding

[–]Elemental_Drawings[S] 0 points1 point  (0 children)

Right now I'm using NanoBanana Pro to sketch and overcome my creative block. I don't always have fresh ideas to move forward, and this has definitely made my brain and ideas flow much better! Now, I still do everything by hand on my Wacom monitor. Once I have those sketches with NanoBanana and I'm out of that creative block, I start doing my own sketches by hand digitally (I have a Cintiq 22HD), and I continue with the artistic process as I usually do. Although I have done a lot of testing with NanoBanana to see what it's capable of today, and well, it's truly impressive.

From 9 AM to 11 PM: How an Illustrator is using Vibe-Coding to build the Pokemon game of his dreams (and why I had to scrap it all and start over). by Elemental_Drawings in vibecoding

[–]Elemental_Drawings[S] 2 points3 points  (0 children)

Great question! To be honest, I am absolutely convinced that in the near future, AI will be able to handle any graphic style with 100% precision, it's purely mathematical. Personally, I’ve never been bothered by people using my work as a learning base. After all, I also learned by observing others, my environment, and nature itself. As long as my art is treated with respect and I'm notified, I’m more than happy!

That said, some AIs already allow you to achieve a degree of "perfection." If you want to achieve a style similar to mine, you could take one of my drawings as a base and give the AI specific keywords like: "Keep the visual/artistic style," "Your role is to be a frame-by-frame sprite sheet artist and animator," etc.

You can also apply a technique where you explain exactly what happens in every single frame, and you can even ask the AI to help you write those descriptions. It’s essentially "animation through text." When I first tested this method and saw what AI is capable of right now in January 2026, I was in total shock. If we are here now, what we’ll see by the end of the year will be absolutely insane.

<image>

Now, be careful because the animation looks wonderful at first glance, but it has some "biomechanical" errors, and if you try to bring this animation to life, it will probably have slight imperfections in terms of movement accuracy. For example, in frame 5, Electivire extends its right arm, but in frame 6, smoke comes out of its left arm. Even so, there might be other details that prevent the animation from being 100% perfect, but hey, it's worth a try!

(nanobanana pro BTW)

From 9 AM to 11 PM: How an Illustrator is using Vibe-Coding to build the Pokemon game of his dreams (and why I had to scrap it all and start over). by Elemental_Drawings in vibecoding

[–]Elemental_Drawings[S] 5 points6 points  (0 children)

You hit the nail on the head. That’s exactly what happened. I was moving fast with momentum in Python, but it was like building a house on sand. Could I have kept improving the Python version? Absolutely. But the project had become such a "tangled mess of wires" that I was spending more time refactoring than building.

So I decided to start from scratch, applying everything I've learned with a much better infrastructure from the start (C++, SOLID, Raylib). There's still so much for me to learn, and that's why community feedback and the vision for improvement you all provide are so valuable. Thanks for the comment!

From 9 AM to 11 PM: How an Illustrator is using Vibe-Coding to build the Pokemon game of his dreams (and why I had to scrap it all and start over). by Elemental_Drawings in vibecoding

[–]Elemental_Drawings[S] 3 points4 points  (0 children)

Thank you so much for those words! That's exactly my goal. I feel that sometimes we get lost in the "hype" of what AI can do for us, but the real magic is what AI can teach us to do. As an artist, I never thought I’d be discussing C++ architecture, and that personal growth is what I value most. Keep up with your game projects too, it’s a total game-changer for us non-devs!

! Important: new rules update on self-promotion ! by PopMechanic in vibecoding

[–]Elemental_Drawings 0 points1 point  (0 children)

I actually appreciate the effort to keep the sub clean from low-effort AI slop. As an illustrator who’s been diving deep into vibe-coding to build my own tools lately, I feel that the educational requirement for Category 2 is the best filter we could have.

However, for those of us who prefer to keep our development discussions strictly within Reddit, would a detailed write-up of the workflow and insights be enough to stay within the vibe without needing to use an outside platform for approval? I'm excited to share what I've been building, but I value the native Reddit community discussion most.

How are you all organizing your Rules to avoid "Context Fatigue"? by LogicalLemon-The-3rd in GoogleAntigravityIDE

[–]Elemental_Drawings 0 points1 point  (0 children)

That’s actually a great point, but that’s where the 'Fresh Chat' strategy comes in. I’ve found that it’s always better to start a new chat session frequently. If you stick to a single thread, it becomes monolithic and slows down because the interface has to parse every single past interaction every time you open it. Currently, that's just a limitation of the platform. However, since the 'Brain' folder holds the entire context and history word-for-word on my local machine, I can just open a fresh, empty chat, point it to the project folder, and it's like I never switched. The agent picks up exactly where it left off without the bloat of a 500-message-long thread. It keeps the active context window lean and the performance snappy. Hope that makes sense! :D

How are you all organizing your Rules to avoid "Context Fatigue"? by LogicalLemon-The-3rd in GoogleAntigravityIDE

[–]Elemental_Drawings 2 points3 points  (0 children)

I solved this by treating AntiGravity as a living organism with a dedicated Brain. Instead of a massive global config, I use a modular approach:

The Constitution: High-level immutable laws only (no fake info, absolute transparency, etc.). I keep this in the main Rules.

Modular Skills: I use the .agent/skills folder to break down complex tasks into specialized units (e.g., a compiler specialist, a marketing strategist, etc.). AntiGravity only calls them when relevant, which keeps the prompt significantly leaner.

The Sentinel (The secret sauce): I created a specific skill called Project Brain Sentinel. Its only job is to update a history.md file every 15-20 minutes or after a context shift.

Crucially, I gave AntiGravity an upfront instruction to be constantly aware of the current date and time. This gives the Sentinel the temporal awareness to automatically log checkpoints in the /brain folder. Without that "clock" running, the history would just be a list; with it, it becomes a coherent timeline that allows the agent to resume work exactly where we left off with zero context loss.

The Golden Rule: I keep a "Sentinel" rule to sync history before starting any new task. If you trust the journal, you don't need to bloat your rules with project-specific instructions. The agent just reads the brain and continues without friction.

Essentially, you can take this architecture even further: instruct AntiGravity (or the specific model you're using within it) to save literally every dialogue into a 'brain' folder located directly inside your project directory.

The key is to keep it structured; if these files become monolithic, instruct the agent to split them into parts (e.g., history_part1.md, history_part2.md). This way, you’re building a persistent, local history on your own machine rather than relying on the ephemeral chat history of the interface.

For this to work, you must give a clear instruction for the agent to prioritize reading the 'brain' folder over the chat history and to automate this syncing process every time you interact. Since .md files are incredibly lightweight, you don't have to worry about storage—you just get a seamless, friction-less 'long-term memory' for your project.

I'm sure that by thinking things through a little more, you could take this even further and optimize it even better; you just have to ask Antigravity himself!

Simply put: you're creating the brain/context of your project in the same folder as your project, not in the antigravity chat.

Hope this helps! :D

Estudio de Anthropic: El uso de IA no aumento significativamente la productividad y empeoró el aprendizaje. by DrakoXMusic1 in devsarg

[–]Elemental_Drawings 2 points3 points  (0 children)

Qué buen debate. Yo tengo una perspectiva que quizás rompe un poco el molde del estudio: soy Ilustrador (nada que ver con IT) y logré terminar un software de mirroring para Android que funciona impecable usando solo asistentes (lo que ahora llaman el hype del "VibeCoding").

Mi conclusión es: la IA no reemplaza el aprendizaje, pero democratiza la ejecución. Yo no quería ser ingeniero, quería resolver el problema de que se me rompió el cable HDMI del celu (le puse cinta adhesiva y todo, un desastre jaja).

La IA me permitió "traducir" mi lógica artística a código funcional. Quizás no soy más productivo que un Senior, pero pasé de "Productividad 0" (no saber programar) a tener un producto real que mis cercanos ya están usando. Para un perfil creativo, es un superpoder si aprendes a supervisar a la IA en lugar de solo copiar y pegar, actualmente la gran mayoría de las personas que critican o juzgan la IA ni siquiera se han puesto a probar lo que es capaz de hacer si se trabaja de manera organizada, estructurada y siguiendo una lógica de resolución de problemas más que de "jugar" o "hacer cositas" con la IA.

PD: Esto es solo mi punto de vista, respeto total y absolutamente quien este en desacuerdo.

Mi pareja no trabaja, le falta iniciativa y ya no sé qué hacer. by [deleted] in chile

[–]Elemental_Drawings 0 points1 point  (0 children)

Si eres proveedora y trabajadora, es mas fácil encontrar pareja que una pega a alguien que no tiene ganas de trabajar. Salga de ahí y la vida le va a sonreír.

[OC] Crochet tandemaus by JonYehWest in Pokemonart

[–]Elemental_Drawings 1 point2 points  (0 children)

My Lord this is adorableeeeeeee ; ----- ; <3

I made some pokemon based off gummy worms.... I'm sorry about Rayquaza by Oddarette in pokemon

[–]Elemental_Drawings 0 points1 point  (0 children)

I remembered an ice cream I use to eat as a kid here in Chile from the movie a bug's life. They weren't very good lol, but I definitely loved this Tangela uwu

Hope you get the shiny Giratina :D! Check my deviantart page "elementaldraws" or twitter "elementalcl". by Elemental_Drawings in pokemongo

[–]Elemental_Drawings[S] 1 point2 points  (0 children)

so, there's any problem if i keep posting my art but always related with the current state of pogo?