Age Of War 3D Devlog

Last Updated 06/19/2025

Progress of Age Of War 3D, A 2.5D port of Age of War for the Nintendo 3DS

Entry 3

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!

Video Devlog 1

Entry 2

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.


I added in a small cooldown for spawning units, and it worked perfectly, everything looked good, and even without the cooldown and rapidly spawning as many units as I possibly could, I never saw the frames dip below 58 fps no matter how many active units there were, so I added in the rest of the animation frames to the clubman, and added the other stone age units to the game files. I created t3x files for all of them, which is essentially an image format, or container of images. In the case of the units, they are all their own individual t3x containing all their animation frames. I'm not gonna get too technical here, at least not til the present day real time updates lmao, I have the luxury of talking about this part in past tense, and not having to learn it in real time, in the future I will be updating this devlog to read a lot more like a tutorial, but for now I wanna just showcase the progress!


anyways, after I set up the other stone age units, (slingshot, dino rider) I added collision to the bases, so that the clubman would attack the enemy base instead of walk right through it. There wasn't any base health until later on, but I still needed to set up the idling mechanics, and attacking logic. This whole thing was a nightmare, I spent way too long just trying to get the dudes to line up properly, but I eventually got it by using black magick and selling my soul to the dark prince lucifer and blacking out, and letting the demons take control of my body!! :smile:

I could have gone completely absolutely irreversibly insane, spending every waking moment of my life trying to get it to work the way it's supposed to, but I ignored letting that affect me by procrastinating, and creating a GUI for spawning all 3 units, and visualizing the cooldown, and at this point I added the queue. to limit how many units I could spawn at a time, and I also added in the gold mechanic, and made it so that the units cost gold to spawn. I then refined the GUI, made it look nice. I actually made a mockup in photoshop, which I guess I can include here, if you wanna see my vision for the GUI lol,, so far The GUI only has gold, units, a cooldown bar, and the queue, I'll probably be adding the special attack last!



(GUI mockup)


Entry 1

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.


With this working, I replaced the solid color with a static image, an image of blue with a slight gradient of white, taken directly from the original age of war files, and I replaced the red square with the treeline. I separated the ground from the treeline in photoshop, and made it it's own layer as well, with all 3 sitting at a diferent 3D depth. with this displaying in game, I added camera controls, and limited the camera movement to the width of the ground/treeline.


Now I can build the rest of the game on top of this! This seems like it was a small effort, but it was probably my biggest accomplishment, this took me like over a week to get working, I knew prretty much nothing when I started this, but I'm really figuring this shit out!! I'm going leave this one here, this is a good chunk of progress! I count this as my first real big milestone!

thanks for tuning in! I will be sure to keep this devlog updated as I work on the project. I'm not always gonna be working on this, I'm working on other stuff and sometimes need to just simply disconnect from the online world for a lil bit, but I'll always be back, and this will always have a priority, I'm not ever gonna forget about this and this project will never die, unless I do first, that I promise to you! :smile: