{"id":537,"date":"2025-06-09T22:31:25","date_gmt":"2025-06-09T20:31:25","guid":{"rendered":"https:\/\/blog.oldwisebear.com\/?p=537"},"modified":"2025-06-09T22:31:25","modified_gmt":"2025-06-09T20:31:25","slug":"the-ai-journey-not-really-a-start-but-the-first-post","status":"publish","type":"post","link":"https:\/\/blog.oldwisebear.com\/index.php\/2025\/06\/09\/the-ai-journey-not-really-a-start-but-the-first-post\/","title":{"rendered":"The AI Journey &#8211; Not really a start, but the first post"},"content":{"rendered":"\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<p class=\"has-text-align-left\">Everywhere we go, or with every new product launched, there seems to be some AI feature\u2014even when it\u2019s not really necessary. New tools appear daily, while existing ones evolve and improve. But what\u2019s the endgame?<\/p>\n\n\n\n<pre class=\"wp-block-verse\">AI is growing exponentially\u2014how do I actually use it?<\/pre>\n<\/div>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"663\" height=\"634\" src=\"http:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2022\/10\/Homepage_bear_bearlvl.png\" alt=\"\" class=\"wp-image-51\" style=\"width:415px;height:auto\" srcset=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2022\/10\/Homepage_bear_bearlvl.png 663w, https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2022\/10\/Homepage_bear_bearlvl-300x287.png 300w\" sizes=\"auto, (max-width: 663px) 100vw, 663px\" \/><\/figure>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Work<\/h2>\n\n\n\n<p>I started by using AI to create data transformations and generate structures based on example files. This significantly sped up my workflow. While the results weren\u2019t perfect, they usually only needed a few tweaks or additional prompts.<\/p>\n\n\n\n<p>Next came writing code\u2014basic functions like traversing structures, modifying values, or writing specific SQL selects. The usefulness depended on the logic and libraries I needed, but even when the code didn\u2019t work out of the box, it often gave me a solid foundation to build on. This was especially helpful when working in unfamiliar languages.<\/p>\n\n\n\n<p>Something I didn\u2019t expect at first: grammar checking. It\u2019s been a huge help, especially when writing blog posts like this one. Over time, I also started using AI to summarize or verify documents for key points and create project documentation.<\/p>\n\n\n\n<p>Another game-changer: searching through old documentation. Instead of hunting for the right file and page, I can now ask AI to find the relevant section directly.<\/p>\n\n\n\n<p>This feature came later, but it\u2019s one of the best. AI-generated meeting notes aren\u2019t always perfect, but they\u2019re based on transcripts, so I can quickly refine them. This alone has saved me up to\u00a050% of meeting time, freeing me to focus on actual work instead of typing notes in Word or OneNote.<\/p>\n\n\n\n<p>In short, Copilot AI has given me the equivalent of\u00a01\u20132 extra hours per day\u2014for free.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fun<\/h2>\n\n\n\n<p>AI isn\u2019t just for work. I\u2019ve always dreamed of using it for creative projects I never had time for. Now, that dream is becoming reality.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Image and Video generation<\/h3>\n\n\n\n<p>I love drawing\u2014like the bear image at the start of this post\u2014and I\u2019ve always hoped AI could help refine my art or even create short animations.<\/p>\n\n\n\n<p>Just 4\u20135 months ago, I made a video on my <a href=\"https:\/\/www.youtube.com\/watch?v=QcAanI0b5aU\">YouTube<\/a> channel explaining how far off we were. Quite far, nothing really worked as expected, but now? Things have changed dramatically. I\u2019m so excited about this that I\u2019m planning a follow-up video. I can\u2019t wait to try\u00a0Veo 3\u00a0(though sadly, I\u2019m not in a supported country and don\u2019t want to use a VPN).<\/p>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"559\" height=\"364\" src=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image.png\" alt=\"\" class=\"wp-image-539\" style=\"width:559px;height:auto\" \/><figcaption class=\"wp-element-caption\">Drawn animation<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"791\" height=\"566\" src=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-1.png\" alt=\"\" class=\"wp-image-540\" srcset=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-1.png 791w, https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-1-768x550.png 768w\" sizes=\"auto, (max-width: 791px) 100vw, 791px\" \/><figcaption class=\"wp-element-caption\">Video based on the picture from Veo2<\/figcaption><\/figure>\n<\/div>\n\n\n\n<p>I\u2019m currently working on an AI-generated short video, which I\u2019ll cover in a separate post. Due to generation limits, it might take a while.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Music<\/h3>\n\n\n\n<p>This was my second most anticipated feature. Unfortunately,\u00a0Gemini Pro\u00a0doesn\u2019t include\u00a0Lyria 2, so I turned to\u00a0Riffusion. The results are decent, and I\u2019ll be posting them on my AI-focused YouTube channel.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Research<\/h3>\n\n\n\n<p>With a Master\u2019s in Computer Science, I\u2019ve always wanted to explore topics outside my field. Thanks to\u00a0Gemini AI\u2019s DeepResearch, I can now access far more sources than I\u2019d have time to read manually. It\u2019s helped me not only advance existing research, by discovering new sources or summing up long documents for me, but had also a great deal in starting entirely new topics.<\/p>\n\n\n\n<p>I\u2019ll be publishing my findings either on my website or Google Drive. Of course, you still need to double-check the sources, but it\u2019s a great first filter.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Games and webpage<\/h3>\n\n\n\n<p>I wanted to enhance my websites\u2014not this WordPress blog (which basically runs itself), but others like\u00a0Dreambook\u00a0and a new subpage:<a href=\"https:\/\/ai.oldwisebear.com\/\"> ai.oldwisebear.com<\/a>.<\/p>\n\n\n\n<p>This subpage was generated with a single prompt in\u00a0Gemini Canvas\u00a0and then customized. Normally, it would\u2019ve taken me 1\u20132 hours (I\u2019m not great with HTML\/CSS), but this took just minutes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1532\" height=\"785\" src=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-12.png\" alt=\"\" class=\"wp-image-555\" srcset=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-12.png 1532w, https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-12-768x394.png 768w\" sizes=\"auto, (max-width: 1532px) 100vw, 1532px\" \/><\/figure>\n\n\n\n<p>I also started building a puzzle game in Gemini Canvas. The first prompt was as following: gave me a simple but functional text adventure game:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Design me a webpage javascript game. It should be a puzzle game that will be solved by doing action in correct order - gathering items, defeating enemies etc.<\/code><\/pre>\n\n\n\n<p>And gave me a simple but functional text adventure game. Meaning I could get some items, interact with various objects and finally exit the garden to complete the game. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1121\" height=\"739\" src=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-2.png\" alt=\"\" class=\"wp-image-541\" srcset=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-2.png 1121w, https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-2-768x506.png 768w\" sizes=\"auto, (max-width: 1121px) 100vw, 1121px\" \/><\/figure>\n\n\n\n<p>How was the code of this version? The initial logic was basic\u2014flag-based\u2014but it worked.\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"990\" height=\"629\" src=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-3.png\" alt=\"\" class=\"wp-image-542\" srcset=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-3.png 990w, https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-3-768x488.png 768w\" sizes=\"auto, (max-width: 990px) 100vw, 990px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1526\" height=\"1288\" src=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-4.png\" alt=\"\" class=\"wp-image-543\" srcset=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-4.png 1526w, https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-4-768x648.png 768w\" sizes=\"auto, (max-width: 1526px) 100vw, 1526px\" \/><\/figure>\n\n\n\n<p>That wasn&#8217;t exactly what I wanted to, so I refined it with further prompt:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Can you design it in such way that you have to click on the objects. <\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1373\" height=\"443\" src=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-8.png\" alt=\"\" class=\"wp-image-551\" srcset=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-8.png 1373w, https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-8-768x248.png 768w\" sizes=\"auto, (max-width: 1373px) 100vw, 1373px\" \/><\/figure>\n\n\n\n<p>At this stage, all objects were grouped into a container, each with its own assigned functions and logic. However, this prompt unintentionally simplified the game too much. The logic became confined to a single screen, with all objects hardcoded directly into the page\u2014eliminating the possibility of switching between scenes or expanding the gameplay.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1459\" height=\"346\" src=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-9.png\" alt=\"\" class=\"wp-image-552\" srcset=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-9.png 1459w, https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-9-768x182.png 768w\" sizes=\"auto, (max-width: 1459px) 100vw, 1459px\" \/><\/figure>\n\n\n\n<p>Since I wasn\u2019t precise enough with my previous prompt, I added a follow-up to clarify my intent.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Would it also be possible for some of the interactive objects to change the screen and objects that might be clicked?<\/code><\/pre>\n\n\n\n<p>This resulted in the first version that truly felt like the real deal\u2014something much closer to what I had envisioned. While there were still a few adjustments needed, Gemini provided a solid layout that made future expansion and modifications much easier.<\/p>\n\n\n\n<p>Each scene now had its own list of clickable objects, and each object came with a defined set of actions and messages for the player. It finally felt like a proper foundation for a more complex and interactive game.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1777\" height=\"402\" src=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-10.png\" alt=\"\" class=\"wp-image-553\" srcset=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-10.png 1777w, https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-10-768x174.png 768w, https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-10-1536x347.png 1536w\" sizes=\"auto, (max-width: 1777px) 100vw, 1777px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1700\" height=\"890\" src=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-11.png\" alt=\"\" class=\"wp-image-554\" srcset=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-11.png 1700w, https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-11-768x402.png 768w, https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-11-1536x804.png 1536w\" sizes=\"auto, (max-width: 1700px) 100vw, 1700px\" \/><\/figure>\n\n\n\n<p>With my final prompt, I requested optional graphics for each hotspot. The idea was to avoid generating highly specific images or layering objects manually.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Each of the hotspots should have it own graphics too. If there is no ImageURL provided the hotspot should be just transparent so we can see the background but still clickable.<\/code><\/pre>\n\n\n\n<p>Each hotspot was now designed to support its own graphic. If no&nbsp;<code>imageURL<\/code>&nbsp;was provided, the hotspot would remain transparent\u2014allowing the background to show through while still being clickable.<\/p>\n\n\n\n<p>The result was once again quite satisfactory. I could interact with all the objects, each had its own image placeholder, and nothing broke in this iteration (aside from a missing border on the transparent hotspots, which was an easy fix with a quick copy-paste from the previous version). The code structure was also exactly how I would have designed it myself, with a new object dedicated to storing image URLs.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1266\" height=\"367\" src=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-7.png\" alt=\"\" class=\"wp-image-550\" srcset=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-7.png 1266w, https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-7-768x223.png 768w\" sizes=\"auto, (max-width: 1266px) 100vw, 1266px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1085\" height=\"1340\" src=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-5.png\" alt=\"\" class=\"wp-image-548\" style=\"width:604px;height:auto\" srcset=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-5.png 1085w, https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-5-768x948.png 768w\" sizes=\"auto, (max-width: 1085px) 100vw, 1085px\" \/><\/figure>\n\n\n\n<p>With this setup in place, I moved on to full customization. I could have asked the AI to place the assets directly, but I found that approach counterproductive\u2014especially since it often struggled to position the assets exactly where I wanted them.<\/p>\n\n\n\n<p>Instead, I plan to restructure the code by dividing it into separate functions and files, which should make future development much smoother. That\u2019s something I\u2019ll cover in\u00a0Part 2.<\/p>\n\n\n\n<p>All of the assets were generated using prompts in a separate Gemini chat, and the final result looked like this:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1116\" height=\"1358\" src=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-6.png\" alt=\"\" class=\"wp-image-549\" style=\"width:583px;height:auto\" srcset=\"https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-6.png 1116w, https:\/\/blog.oldwisebear.com\/wp-content\/uploads\/2025\/06\/image-6-768x935.png 768w\" sizes=\"auto, (max-width: 1116px) 100vw, 1116px\" \/><\/figure>\n\n\n\n<p>It&#8217;s available online if you want to try: <a href=\"https:\/\/ai.oldwisebear.com\/Game1\/game1\">https:\/\/ai.oldwisebear.com\/Game1\/game1<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What&#8217;s next<\/h3>\n\n\n\n<p>This was just a demo. I plan to expand it with:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Background and object animations<\/li>\n\n\n\n<li>Hotspots that appear after certain actions<\/li>\n\n\n\n<li>Multiple actions per hotspot<\/li>\n\n\n\n<li>Music and sound effects<\/li>\n\n\n\n<li>Default text for unhandled actions<\/li>\n<\/ul>\n\n\n\n<p>However what to take from all of this:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>AI can now build simple websites and game skeletons with a single prompt.<\/strong><br>That\u2019s a huge time-saver.<\/li>\n\n\n\n<li><strong>Prompts don\u2019t need to be overly specific.<\/strong><br>The code is well-commented and easy to customize.<\/li>\n\n\n\n<li><strong>Asset generation (especially in Gemini) still struggles with consistent art styles.<\/strong><br>More testing is needed here.<\/li>\n\n\n\n<li><strong>Preliminary research is very doable.<\/strong><br>Just remember to verify your sources.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Everywhere we go, or with every new product launched, there seems to be some AI feature\u2014even when it\u2019s not really necessary. New tools appear daily, while existing ones evolve and improve. But what\u2019s the endgame? AI is growing exponentially\u2014how do I actually use it? Work I started by using AI to create data transformations and [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[35,30],"tags":[36,14,37],"class_list":["post-537","post","type-post","status-publish","format-standard","hentry","category-ai","category-challenge","tag-ai","tag-bear","tag-videogames"],"_links":{"self":[{"href":"https:\/\/blog.oldwisebear.com\/index.php\/wp-json\/wp\/v2\/posts\/537","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.oldwisebear.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.oldwisebear.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.oldwisebear.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.oldwisebear.com\/index.php\/wp-json\/wp\/v2\/comments?post=537"}],"version-history":[{"count":5,"href":"https:\/\/blog.oldwisebear.com\/index.php\/wp-json\/wp\/v2\/posts\/537\/revisions"}],"predecessor-version":[{"id":557,"href":"https:\/\/blog.oldwisebear.com\/index.php\/wp-json\/wp\/v2\/posts\/537\/revisions\/557"}],"wp:attachment":[{"href":"https:\/\/blog.oldwisebear.com\/index.php\/wp-json\/wp\/v2\/media?parent=537"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.oldwisebear.com\/index.php\/wp-json\/wp\/v2\/categories?post=537"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.oldwisebear.com\/index.php\/wp-json\/wp\/v2\/tags?post=537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}