There has been a hiatus on Tomb Tome. It actually looks longer than it was since the last items I was working on had to do with engine internals and do not provide any fancy new images for me to post. The real delay was the last month being consumed by a month-long contract repairing laptops for a local school district. The contract has ended now, just in time for me to start a new job. I got a Level-2 support job at a local office supply company. If the job is legit, then I will be able to get into a good rhythm within a couple of weeks and refocus on my projects (mainly TT) again.
In other news, I am planning a small game jam in December dedicated to learning Godot. I like the involvement of the from-scratch C development, but I am going to try Godot again to see if I can get into a scene where I can produce a game in a year... not ten. Time will tell!
More progress has been done with Tome Tomb. I can now load levels from text files and define some settings, such as theme and accent colors. I am liking how the game has progressed visually and I am looking forward to working on gameplay.
I am making good headway on Tome Tomb and worked through a ton of bugs.
It is now cross-compiling on Linux and Windows, so having Steam Deck support should be trivial.
I upped the texture resolution to 128x128 and it looks SO good!
I also might add more palette colors.
As it stands, changing the color palette does work, but I cannot do it on the fly.
I will either have to completely recreate the texture every time I want to change the
palette, or load all of the possible combinations at once.
Considering the textures (event at the larger size) are only ~12kB, loading all of them
is probably the way to go.
After a good amount of time full-time RVing, I am in a new home and have
my new office. The office is still under construction but at least the most important
bits are covered. I have power, internet, a fan, and my laptop setup.
Now to get going on projects again.
There was an update on Legend of Pandora.
-->Check it out on itch.io<--
There is finally a Windows release!
I am messing with a cosine based bounce for the staff/lantern.
I was also able to add an FPS counter to work on performance in the future.
I am now the proud owner of a used Jeep!
With the car search over and now having a mode of transportation,
other than motorcycle, I feel a great burden is off my shoulders.
I almost immediately became more productive...
that's life I suppose.
Today I drew up a quick lantern for the HUD. (I think I can make the
64x64 texture size work for it.) I also was able to set
the transparency so it renders correctly.
This is a good example of life getting in the way of development.
I have been getting snowed in and can't leave my driveway. We sold
our little Honda and I have been looking for something with all-wheel-drive
or 4x4 to solve my problem. On top of that I have been looking for a part-time
job. With all that my productivity went to full zero.
I am taking a break from the Godot study to go back to Tome Tomb.
The amount of frustration I was running into is too much to bother
with until I have some more stability in my life.
I went ahead and made a project page for Tome Tomb on itch.io:
Link-->
Tome Tomb
I think it looks pretty good and I find that motivating, a good start.
Spent the day getting nvim setup to work with Godot.
I used vim-plug to install gdscript support from
https://github.com/calviken/vim-gdscript3
and also added the gruvbox theme.
After years of working in vim to code I couldn't
take using the built-in editor any more.
Oh, and I imported the music into the Godot
project just to make sure the music player's
'open' and 'play' buttons worked. All was well.
Was able to get an "open" button
to work with a "play" button.
The main issue is that Godot imports
files and converts them to supported
formats. This makes it so you cannot
just blindly load files from the
file system and use them in your app.
Progress was good enough today. Tomorrow
I plan on checking out some Godot classes
on YouTube and see if they are any better
for learning. I feel like I am currently
wasting a lot of time fighting this
book instead of making progress.
Let's see how it goes.
Another chapter that is out of date.
I have gotten through okay and will
continue to work on the exercise of
making a basic music player tomorrow.
Another disjointed chapter where it
was easier to look up online
how to do the exercises than it was
to read the chapter.
Next week I start hour 9 and will be
one-third into the book. I will
experience great joy when I finish this
thing.
I was able to make good headway today and
finish hour 7 in the book. I still
find the book very frustrating.
This chapter covered getting
engine status variables and making
tool scripts that you can run on scenes.
I really just don't get how the authors
thought that scripting tricks really
needed to come before basic interesting
things such as sound and collision.
The last chapter was making a basic
game which uses input, and the NEXT CHAPTER
is about accepting input...
No one considered that you could make
demos that didn't need input until
AFTER the chapter about input?
-shakes head-
At this point I am really missing
just developing in C.
I finished up the exercises of
chapter 5 and begain reading
chapter six. I didn't go nuts
today since I am happy to start
the weekend.
I will continue to push through
this book on Monday and
I hope the other chapters do
not hold me up as much as 5 did.
I like the idea of being able
to utilize Godot for future
projects and jams but more than
that I like seeing how other
engines organize their inner
workings which helps me to create
my own engines / frameworks
in the future.
So with plenty of rest and a lot
of coffee, I was able to get the
book's game source working.
I am starting to fully realize how
the Godot engine uses signals though
there still seem to be some odd use
cases and better methods to try.
At least now I am able to move on
since I was beginning to feel like this
would never 'click' with me.
Day three of still trying to find
solid examples of how I am supposed to
use and organize signals in Godot.
I am now just copying and pasting as
much code as I can from the examples.
I will do my best to understand the
project provided on the book's website
since just following along in the
book is not working.
My hope is to just push past this
chapter (or possibly the rest of
the book) and learn what I can.
It seems I will learn most of Godot
through web searches, video tutorials,
and trial and error. It's a shame.
In hour five of this book (Chapters are called hours)
it runs you through a complete mini-game.
While I am still completely lost on signals I am still making headway with the other aspects
of making the game. There definitely
seems to be a disconnect in what the
book wants me to do and what I can do
with GDscript. I am left with looking up
other tutorials to learn what the book
has been unable to teach me.
But progress is being made and I was
able to complete a majority of today's
goals.
I look forward to tomorrow.
After struggling though the last chapter
of my Godot book, when I got to the exercise, it made about zero sense to me.
I'm not sure if it is because I am on
a different version of Godot or what but
it seems to be asking me to do things
that don't exist in the menus.
I'm calling it for the week.
Unfortunately not every week can be a
shining beacon of inspiration and
productivity. I will proceed to the
next chapter on Monday.
I got through the parallax scrolling
exercise and read through the GDscript
chapter. Too tired to complete the
exercise for scripting so will do that
tomorrow.
So it looks like I completed the
final merge for News Scramble.
The last fixes were for some Russian
mispellings. A bitter-sweet experience but
I am glad the project has reached
completion.
As for studying I was able to make the
tileset in Godot. Tomorrow should
be parallax scrolling. :o
Worked a little today on creating a
tileset in Godot.
I must say I am not impressed with git's design. It seems apparent to me that graphical git tools exist primarily because people are willing to pay money to use a tool that makes git intuitive. As it stands, every time I have to use git on the command line to do anything other than the most basic push or pull, I have to browse through multiple tabs just to figure it out.
Knowing that there are text-based tools that allow you to browse and customize the Linux kernel I am more than sure that git's user interaction experience could be vastly improved.
The jam is over and my nerves have calmed.
Link-->
News Scramble
Since I worked Friday and WAAAY late into Saturday I took Monday off. I'm still exhausted today but was able to check on the game, respond to comments, and do some more artwork to promote it.
All in all I am very glad I pushed myself to join a game jam. My inspiration to learn Godot is VERY high now. Once you have to work blindly with creators you have never met before you see how quickly you are classified into "what can you do?".
Being able to program in C did very little to attract attention and I was only picked up for my pixel art experience (from my game Legend of Pandora).
Being able to have Godot under my belt +
pixel art + basic audio skills, will definitely make me more desireable to future teams.
So, what now?
There is still work to be done on News Scramble since we all want it to have more polish.
After that I will be recentering my focus
on Tome Tomb. I would like to see that game to completion. If I CAN learn Godot at the same time I will. Otherwise it will just be one thing at a time for me.
Beyond that I plan on going back to Legend of Pandora and porting it and posting it to my itch.io portfolio.
Today is the last real push to
get the art done for the project
(News Scramble).
After this I just have to wait
for our Godot dev to finish.
Very exciting to be nearing the end of
this jam!
I work in the "Pomodoro technique" of 45 minutes on and 15 off. Each cycle of that I call a "push". My goal is always four pushes four days a week.
Today was the first time in awhile I was able to get the full four pushes in. Now that the game jam is wrapping up, the mounting pressure to complete the project is very good motivation.
Just worked on level select art for
News Scramble. No studying today.
Energy levels are picking up. It's
nice to finally feel like I am getting
back into the groove of things.
More Godot study today.
Using a book is always a bit slow at first
but I find it more rewarding in the end.
The difficulty with online tutorials is
simply the burnout one suffers staring
at a screen for too long.
More art for the "News Scramble" game.
This time doing faces for a news
ratings meter. I did two good
submissions today on that project and
am continuing my education on Godot.
Today I was able to get the main menu art done. It has been nice getting positive feedback from the team.
The language barrier has still been difficult but we are working past it. Our gitlab page has been put to use and the next prototype is well on its way.
Our progammer has produced a demo for us! It's awesome to see the
project come to life!
I did some more work on the color art and have created a gitlab page
for the team.
Tonight I will start digging into my "Sams Teach Yourself Godot Engine
Game Development" and see if I can't help a little with the programming if
the team needs it.
The game jam has been going okay enough.
Communucation has been sparse. Maybe a few sentences a day
from the members. We did have one programmer quit but I
don't see that as too big a deal.
The design is about a news reporter who has no lines being
fed to them and is just trying to figure out the story
using what they see on the screen. I like the idea. The
only real problem I'm running into is using google translate
to discuss ideas with the designer is tough. There is certainly
a lot lost in translation.
My job as pixel artist has been a nice change of pace.
I originally wanted to do a four-color gameboy style look
but that was scrapped for a full color disign by the team.
Here is the current layout mockup:
Today I signed up for my first game jam!
Link -->
My First Game Jam: Winter 2021
While I did make some progress on Tome Tomb my primary focus was signing up, learning what was involved in a game jam, and finding a team.
Exciting!
Still trying to get focused.
Worked a little late into the night
to make sure I could load the level
paths into an array. From there
I should easily be able to load the actual levels when I need them.
Today I learned a new term...
Doom scrolling.
Today was pretty low energy. I could not find the brain-space to create new code. I spent most of my time looking into twitter.com and other ways to socially network. It's a bit intimidating to be sure especially since I rejected Facebook years ago and that was the last real "social networking" I really did. I also boycotted github.com and linkedin.com so I'm not sure how that is going to work.
What little I was able to do on Tome Tomb was remove the maze generation feature since I may not ever implement it as a game mechanic.
I would like to say that I took some time off for the hoildays but my wife and I were just sick with COVID-19. We are on the mend now, thankfully, and I am back in the office reorienting myself.
Today I was able to get the footstep sounds to activate only when the player is actually moving. I also made a mockup level for parsing. It's always a bit tricky to get back into a good work-flow after a break.
SDL2 mixer now working. Grabbed some footstep sounds and made a couple of feet timers. I will change the sounds for sure since they NEED an echo for the ambiance to be right (currently sounds like walking on deep carpet). Music to come later.
Testing movement in all four directions for collision is now working great.
The darkness is now set by distance. Reworked wall texture to test a paint effect.
Finally, started getting collision detection working.
Updated the textures a bit more to play with the feel of the game.
I also tested a way of adding darkness to textures by drawing a transparent
Rect over the ray cast texture. Adjust darkness simply by adjusting the
transparency.
The sky and ground colors are now pulled from the custom palette.
Will need to make it dynamic, right now it's only red.
Updated the bookshelf texture to see how I like the grey bricking
and bookshelf itself. This gives only the books custom colors.
A new wall material "BOOKSHELF" has been added and textured.
To make it stand out I quickly added in a red palette as well.
The first eight colors in the bitmap index are replaced with a custom color. This will allow me to generate textures of many different color combos but the same pattern. The wall texture is also looking pretty cool.
Two more variables added and working in the engine.cfg. The rest are just busy-work to do as-needed. I started work on a wall texture with a larger palette to test out color palette manipulation with more than two colors.
The first engine variable has been set by reading in and parsing the engine.cfg!
--Current playlist-- Diablo 1 & 2 O.S.T.
The engine can now load an engine.cfg file and store it into an array.
Next is parsing the array for setting variables. I have migrated the source into
a header for use in all of my future projects since config files are so universally
helpful. Looking forward to a weekend with little screen time.
The oh-so-important TODO.txt has been added to the project.
This file forces me to imagine all of the features and resources
the project requires. Even with a bare-bones game such as a block-pusher
one can get side-swiped with all of the little details required to make the
game feel complete.
File loading is next.
I have created a new website for my software.
I currently am enjoying the old System 7 theme.
The log page still needs some polish and I will
need to add a page for the projects I am working on.
I am hoping to create an old 2-color bitmap image for
my about page. It will be fun to figure out how to make one.
Tome Tomb (working title)
I have finished a nice ray-caster demo in C and am looking to make it
into a basic game engine. I have a game idea based on those old block
mover games. I enjoyed an old DOS one called Fruit. Today I copied the demo
to a new git folder in order to begin work.
Legend of Pandora
I still plan on porting this game to Windows and Linux. Right now it only exists for
the Open Pandora handheld gaming system. link -->
LoP