Snek's Buildfile Tutorial

Since Gauging Support for a Tutorial Series was more about “Would people like so see this?” and “How should I go about this?” I’ll be putting all videos here in the OP and leaving the rest of the thread for discussion, update bumps, and video-specific buildfile questions.

I apologize for the wait, but I am happy to bring to you…

Snek’s Buildfile Tutorial

Brought to you by Snek

In this video tutorial series, we’re going to first cover what a buildfile is, how it works, why one may use a buildfile, and the essentials and codes of Event Assembler. From there, we’re going to cover the modern methods for common edits to be made to a clean FE8 ROM.

Completed videos:

Prologue: The Basics of Event Assembler
1: Text Editing
2: CSV Tables

Tentative agenda:
3: Changing Common FE8 Game Data
4: Map Insertion
5: Basic Eventing in FE8 (Probably going to avoid a laundry list of codes, do the basics to continue moving forward, and leave comprehensive full chapter creation to the end)
6: Graphics - Battle Animation Insertion (Thinking these graphics ones will be short but many for organization)
7: Graphics - Spell Animation Insertion
8: Graphics - Item Icons
9: Graphics - Portraits and Class Cards
10: Graphics - Map Sprites
11: Graphics - Battle Palettes
12: Music Insertion
13: Creating Chapters: Comprehensive Eventing
14: Handling ASM
15: A Tour of the Skill System
16: ??? Anything else? Maybe just straight up me making real LoA chapter[s] for example?
Wow that’s a lot, but I want to be as comprehensive as possible, and a lot of these are pretty easy.

I’m open to suggestions, and I’ll post videos as soon as I finish them. Please let me know what you think as I move forward with how I can improve, if I forgot something, what I should keep doing, etc. I’m on the FEU Discord if you’d like to reach out, you can reach me via DMs here on the forum, or you can post a reply here if you’ve got something to say.

As I move through this tutorial series, I’ll be building up a buildfile from scratch that I’ll use in demonstrations. I’m hoping that by the end of this, I’ll end up with a kind of “blank buildfile” with all of the basics already there that anyone can immediately build off of. The Snekfile? I kinda hate that, but I guess I have to brand it somehow. :stuck_out_tongue_closed_eyes: But seriously, I think the most difficult part of working with buildfiles is getting everything initially set up, and if we can skip that step, I hope they should be easier for beginners.
Don’t feel obligated to use my methods, though! One of the best parts of buildfiles is that you can make whatever build system you like. I’ll be using methods that I’ve devised myself that I fell comfortable with, but you’re not me. I encourage you to check out other projects, build schemes, etc. You can find my working Snekfile here.

Anyway, do let me know if there’s something I can improve, stay safe, and have a nice day!

38 Likes

This will be very useful for idiots like me who have no idea how to work a buildfile. Subscribed.

3 Likes

Maybe include tilesets along with the graphics tutorials? Either way, it seems like a good order of everything to go over!

1 Like

Snek, this all sounds awesome! Thanks for taking up the standard and doing this!

As for suggestions, this may be planned to be included already in some fashion, but general debugging/bug fixing would be good to cover. It’s nearly as important to know what to check when things go wrong, as it is to do them right. Not sure if this is best as a separate module, or sprinkled in among the others.

Looking forward to this dude! Maybe, using this, I’ll be brave enough to construct my own buildfile instead of forking from another.

I will combine the Snekfile and Basefile and become more powerful than you could ever imagine

1 Like

Will this also possibly go over increasing your class list if needed? I thank you for providing a starting point for us.

can you show us how to give troubadours 7 move?

4 Likes

This is very interesting! I feel like this will really help people who fall into the same category as me where they kinda know what they’re doing but remain confused. I’ll definitely be adding this to the list of things to refer to when I confuse myself.

1 Like

this is everyone’s daily reminder that the buildfile tutorial hosted at tutorial.feuniverse.us is a) open source, b) incomplete and c) accepting pull requests

6 Likes

aaaaa I knew I was forgetting shit. Although Der’s tutorial is pretty comprehensive, I definitely won’t want to leave out tileset insertion. Thanks for reminding me!

I also really like this idea. Tackling debugging tactics would definitely be among the later “chapters.” Some tips and tricks for debugging could be good, but I’d have to consider how much ASM focus there would be in debugging. Like I’ve definitely used no$gba to analyze a crash to figure out I made a typo in my .tmx file for the palette ID to use before. Honestly, no$ is normally my personal go-to, but its use does demand being able to analyze ASM and see what goes on in a crash (if the problem is a crash/softlock)… I could incorporate working with no$ and working with .sym files (though Teq’s ASM tutorial does have a section on no$ already), but it may be better to just stick to debugging that buildfiles specifically allow for (commenting things out to see what changes, etc).

I was gonna give shoutouts/links to other buildfile methods like basefile and Stan’s make-based one so the user can go with whatever they personally prefer, but I don’t think basefile has a release yet Pik reeeeee

For sure. This kind of thing is what 3: Changing Common FE8 Game Data would be for, though this would be a bit of a special case because it involves installing ExpandedModularSave, an ASM hack. I’ll be sure not to leave it out, though.

If I must.

4 Likes

New videos won’t come out this quickly in the future, but I just had a lot of time on my hands to knock this one out yesterday.

Chapter 1: Text Insertion


Check out the video description for details, and the OP has been updated.

Next video will be about working with CSVs. I’m undecided on whether I should use c2ea-nopfinder or a custom system I’m working on which will have similar but not exactly the same behavior… It would have the exact same behavior as c2ea but with a couple more convenience features. (I can elaborate if necessary, but the details on behavior aren’t entirely fleshed out yet.)
In general, I’m wondering if I should just use methods I’m comfortable with (it is my tutorial series after all), or if I should use more commonly used methods. For example, I do palettes differently than most. I extract palettes from images with a script that creates #incbinable dmps. Should I learn to use pal2ea, or should I chill with my own thing? Just gathering some opinions.

Also in case you didn’t know, I’ve been leaving (and will continue leaving) notes in my working Snekfile that I’m building up. Visit the repo to see the small text edits I made, some corrections and addendum I made after recording, and some other useful notes on text-process-classic and ParseFile behavior.

8 Likes

pal2ea has the benefit of writing to like 3 different tables all from once location and the hangup is generally just the syntax since it’s fairly obtuse and the doc is vague in areas and explaining it here would be a good resource, but I’ll reiterate my previous stance that you should cover both your personal methods and the commonly used methods where they differ, because showing that problems can be solved multiple ways is an important part of buildfiles.
also when you do csvs pls lay out the differences between table & list data structures since its an important distinction and not widely considered by most people :slight_smile:

3 Likes

Watched the first two back to back and it made me super comfortable starting out on stuff, thank you so much! I’m really excited for the graphics, eventing, and ASM videos you have planned. One thing I noticed on the text editing video is that you had a lot written in the master buildfile already, and a lot of things that already existed in the “text” folder at the start of the video. I didn’t know what I needed before starting the tutorial/where to get them (I’m a super noob so apologies if that was on me. I ended up just downloading the snekfile zip, since I couldn’t find some of the tools/didn’t know why you wrote down the things you did in Master). A brief mention at the start of the video like “what you should have before starting” would be awesome. Again thank you so much for the videos these are shaping up to be by far the most informative, easy-to-follow-along guides out there for buildfiles. Excited for the rest of the vids! :slight_smile:

3 Likes

Glad it’s helpful for you! I’ll be sure to explicitly explain what I’ve done to prepare in the future more as well as add more links in the video description and timestamps.
The video on working with CSVs themselves should be coming :soon: :tm: and working with common FE8 game data soon after. It’s been a busy semester, but I should have a bit more free time soon.

8 Likes

So I watched both of your vids. :slight_smile: Awesome tutorials, easy to follow. Really something everyone should watch when starting with a buildfile! Thank you so much!

I’m looking forward to the next tutorials!

3 Likes

Hey there!

Been far too long, but the “handling CSVs” tutorial is up!

In this video, I cover how we use CSVs for our bidding in buildfiles. I’ve thought about this, and I decided to use my custom tool, TableManager, for this rather than use c2ea. Let me know if you have thoughts or questions!

Next up I’ll have shorter segments on making common edits to item data, class data, character data, etc in buildfiles. Keep an eye out! :eyes:

Oh almost forgot! By request, I’ve added timestamps to this video and to the prologue video. I haven’t finished them yet for the text editing video, but I’ll get to that soon.

11 Likes