Progress of Age Of War 3D, A 2.5D port of Age of War for the Nintendo 3DS
With everything in place, I was then faced with possibly the most complicated part of this entire project.
The enemy AI. I had just finally, after weeks of non stop work, finally got the player units looking good,
how hard would it be right? just do the opposite, just do the opposite and flip it right? HAHAHAHAHAHAHA
:smile::smile::smile::smile: everything is okay. everything is okay. everything is okay. everything is okay.
everything is okay. everything is okay. everything is okay. everything is okay. everything is okay.
To be honest, I'm still working on this part, so after this entry, the tone of this devlog might shift,
because it'll be in real time, but I'll be real, the codebase has become really complex, there's a lot of
redundancies that I'm trying to figure out, I don't know what's causing the gap between the attacking units,
or why both the enemy and the player stop being able to spawn units after the first few even when they have
enough gold, or why the enemy team's collision logic is different somehow? it's very glitchy currently, and
probably haunted, so I can't say that's really a feature yet, but I don't really want this to be a place
where I complain about bugs,, maybe if I'm fully stumped I'll post about it, but I've been able to overcome
everything up until this point!
I've been refining the collision logic now that I have the enemy units, the way idling and queuing works,
I'm still trying to figure out how to best do this going forward, but I technically did it, I got a bit of
a gameplay loop going, enemy units spawn, they attack the players base, they fight player units, player units
attack the enemy base, but it just feels wrong, like I'm fundementally doing core mechanics wrong, and I'm trrying to not brute force
anything, there is a natural way this should work, and I'm trying to find it! this is also when I added base health. I will continue working on this, in the next
devlog update it'll be working slightly better!
There is still soooooo much work to do. On the surface, it looks good, a lot of the visual stuff is coming along.
The deep core mechanics though is what's gonna take me the longest to get right. I haven't even mentioned all the
crashes. the fucking hundreds of crashes and memory leaks and corruptions, This has been an actual hazing ritual,
and i'm ngl I've reached a burnout period from this project right now, and I'm probably not gonna touch it again
for a couple weeks,, I'll probably come back to this later on in the project, and update this whole devlog with
a clear head add even more details, I'll be real, i'm not even sure how to properly devlog, I just wanna show my progress the best I can!
but I think this paints the picture, and catches yall up to where I'm at now. thank you for reading, thanks for visiting my
webpage, I'll be sure to keep yall posted as soon as I jump back into this!
So now with the stage set, I added in the sprites for all the bases, and placed the stone age
base on either side of the map, facing each other. Now with the bases in the game, I brought in
the clubman unit sprites, only a few frames of it's walking animation at first for testing purposes,
and made it so that it'd spawn in from the base and start walking forward (to the enemy base) when pressing A.
(GUI mockup)
Alright, I'm finally gonna start an actual proper devlog for this project. I'm already
relatively far in, but I'll try filling yall in. I'm gonna be doing some backtracking to
explain this and I'll probably forget some stuff, but I'm not getting super super into detail
until later on. I'm still just experimenting and seeing what works and what doesn't, and learning,
I don't wanna softlock myself into specifics or anything, or present myself like I know what tf I'm
doing,, but with that being said, I'll this start off from the beginning. How did I even get anything
to run on the 3DS at all? So, this project is curranty being built in C, through devkitpro. I've
experimented with Lovepotion, but I've had much better luck getting things to actually work with C,
so that's likely what I'll be working with going forward. And this goes without saying, but in order to
run custom homebrew on the 3DS, it must be modded, which is super easy! If you own a 3DS and it isn't
modded, you should absolutely mod it using this
guide!
So, to start things off, and get something on the screen, I used one of the base templates
that devkitpro offers, a simple "hello world" template, with the framework for displaying
something on both the top and bottom screen, and receiving button inputs. could I have done
this part myself? probably, but I knew practically nothing about homebrew development at this
stage, no not practically, I literally knew NOTHING, and I still don't understand Makefiles
fully LMAO, so I started this off with a template, using it as the base, I replaced the top
screen's contents with a solid color background, and a red square sitting in front of it in 3D
space, as placeholders for the background layers.