About 3 weeks ago I finished a Web Dev Bootcamp and am now fully into the job hunt/keeping myself busy. (If anyone has any leads for an eager junior dev that has been told they have good potential, send them my way!)
So for my first post I’m going to be talking about what I’ve been doing to keep coding and learning things. This may or may not be game development at times but it’ll all be development related in some way. I don’t know if this counts as Gruedorf, but it is nice to have a place to reflect on what I’ve been working on.
My Fiancee, like a lot of people last year, was bitten by the Animal Crossing New Horizons bug and got into making her own designs. She was pretty frustrated with using the in-game editor and wanted an option to do them from her computer.
So I went to work:
This is an in-browser editor that attempts to mimic the in-game editor for New Horizons. The design is NOT responsive at all, and is best viewed at 1920x1080.
But you can play with it here (Left click to place, right click to erase)
Almost all of the tools work. The Bucketfill is super tolerant though, so I need to redo how I handle it. As well there’s a fun bug that if you move the design too close to any of the edges, really funky things happen. This is all about how I save what pixel is in what block, so that definitely needs a lot of work.
Undo is also kinda funky. I wrote the function when all I had completed was the Pencil tool, so, for some things (Stamps and Move) it doesn’t work well at all.
It will export as a 32x32 png (Animal Crossing style size…from what I’ve read), but I haven’t figured out how to export with alpha channel for transparency. I also haven’t tested any of this with the actual game…so I couldn’t say if it’s compatible at all yet.
Mirror mode is pretty fun though. It was fairly simple to do, but probably my favourite feature.
All in all, I’m pretty proud of this. My only real success with projects has come from working in Verge when I was back in high school, so it’s been nice to apply my new knowledge to something else.
This week’s update is kind of lame. I’ve mostly been screwing around with building a portfolio site for myself to show off to prospective employers.
It’s funny that this has been one of the more challenging projects I’ve worked on in awhile. I had an initial one completed in about a day, but the more I looked at it, the more I hated it.
UI/UX design is not something I consider in my skillset and I very much look forward to the day that I don’t really have to worry about the design part! (Hopefully…)
All I knew, really, was that I wanted to have transition effects and such. My first iteration was built with React, but since I knew jQuery, and knew how to use its transition effects, I restarted a new design with that.
Turns out I like working with React a lot more. So, I trashed my jQuery iteration and spent a lot of my week messing around with different UI Frameworks (Material UI, React Bootstrap) etc.
I now have the basis for what I wanted to achieve. It’s now a matter of populating the components with all my info/projects and screenshots.
My hope is to have this finished today…
In other news I’ll be attending a virtual job fair tomorrow. Never been to an actual job fair, let alone a virtual one, so I have no idea of what to expect. But hopefully it gives me a chance to meet and network with some people.
In an effort to keep padding my portfolio with projects I worked on a browser version of Tetris.
You can play with it here: https://xrysen.github.io/tetris.js/
Use the arrow keys to move left and right, and up key to rotate the piece.
It works pretty well! I did look at some tutorials on how to handle the tetriminos, but all in all was pretty happy with this.
Ideally I’ll add a “start new game” button(Done!), and might look into saving high scores. Levels would also be cool and increasing the speed based on level shouldn’t be too difficult to implement with the way I have this set up.(Done!)
Next on my todo is to look at working in something else to mix it up. I’m debating on which language/framework to focus on and it’s either going to be .NET, Python/Flask or PHP/Laravel. There seems to be a lot of jobs for PHP, which is odd to me…but the more I actually look into this industry the more what I thought I knew about it is increasingly wrong.
That being said, I know, I really know nothing and I find it a bit overwhelming with all the information out there and differing opinions.
I also took a look at my last RPG project, where my avatar is from, and realised I was quite a ways into it. I did notice that my map style changed pretty significantly from the first dungeon to the latest and if I were to pick up again (which has been something I’ve been strongly considering) I’d probably go back to that first dungeon and try and make it look more like the later ones, as I liked that style much better.
There are no systems in place yet, so no battle system, or menu, etc. I was really focusing on trying to get the maps/story done before I went and added the actual game play hoping this would be a better tactic that I could employ to actually get this game finished. I would say, it kinda worked, in that, in terms of story/maps it’s the most I’ve ever produced for one project. But it still has been about two years since I worked on it at all, so it’s been a bit of a struggle to remember where I left off.
Crazy how fast time flies by.
This week was more focus on trying to get a job…
In my last post I mentioned that I was considering working in a different tech stack to not only mix things up, I’ve been working with JS and JS frameworks for what seems like forever, but also trying to add other skills to make me stand out a bit more.
The result? Imposter syndrome is a very real thing.
I decided I would dip my toe into the .NET Core ecosystem, specifically ASP .NET and Razor pages.
I’ve worked with Unity a bit, I’ve studied C# a bit and know the basics. I definitely like working with typed languages so I thought it would be a natural progression, but it really hasn’t been.
Working with the tutorials from the MS site, following some Youtube tutorials I was able to make some progress, but when I tried to go rogue and do my own thing I struggled a lot.
There just seems to be a lot going on, under the hood, especially if you’re using templates to create projects and I’ll just say it was pretty overwhelming.
That’s when the panic and self-doubt really started to kick in…“It was a fluke you did so well in bootcamp, you’re really not smart enough for this, no one will hire you”, etc. etc.
It doesn’t come as naturally to me as it seems to for others, but I know it’s more or less just me being hard on myself and that if I keep at it, eventually I’ll get it.
It’s convincing myself that, that, is actually true…
/end existential crisis
Sooo…I debated really hard whether or not I wanted to write about this because it’s pretty damn cheezy, but, after some thought, well…what the hell, it’s kind of a cool story.
Early last year, before everything shut down, I had made the decision to ask my fiancee to be my wife. (Spoiler, obviously she said yes :P)
Wanting to make this as special as I possibly could, I thought long and hard about what was both uniquely me, and something I know she would love.
A little backstory is that we have two bunnies that are our fur babies. They free roam most of the time, and are just really special to both of us. I knew I wanted them involved somehow, but unfortunately bunnies aren’t really super easy to train and kinda do their own thing.
So I thought about ways I COULD get them involved.
And that’s when it hit me.
What else is uniquely me? I make video games. Or least know how to. Shut down came and she was spending all her time at home. She’s a nursing student and all her classes went online. I knew I wasn’t going to have much time to work on this project, so I didn’t have time to learn something new. Even though I had a bit of experience with GameMaker Studio now, I knew I needed to use something that I was VERY familiar with and could whip up something rather quickly, but not rushed.
Long story short, I used Verge to ask my Fiancee to marry me.
She’s a big fan of Paper Mario games, so I made an extremely short RPG starring our two bunnies.
This was basically a really short adventure where she played as our boy bunny Mr.Meadow, trying to save his bunny wife, Mystery, from the jaws of an evil Wolf and his fox gang that want to eat her.
It features a really basic battle system, and like 3 maps as I didn’t want it to be toooo long. So I would stay up late after she went to bed, the odd time she would leave the house, and busted my but to get this finished. Luckily, I had a bunch of assets already. All the tiles I had made previously for another project. While the animals I found from a random Japanese game I found on Spriters resource. I did try my hand at it, but I couldn’t get the hopping just right, but I did edit them a decent amount as they only had a few walking frames.
I learned how to turn the light off of my web cam and on the night of our anniversary, before going out for dinner, I was able to record the whole thing. While I’d love to share, I know she’d kill me cause she was kind of a blubbering mess, haha. It was very cute though.
Anyway, I just wanted to share and as damn cheezy as it is, maybe people will like the story.
After getting some pretty awesome advice, I’ve shifted my focus from the .NET ecosystem and have dove into the world of Python/Django.
I will say that I’ve been pleasantly surprised at how good the Django docs are. Normally I find official docs to be kind of confusing and lean heavily on tutorials found elsewhere online. Other tutorials I looked at made learning this framework more difficult than it needed to be. Shoulda just stuck with the official ones from the beginning.
I’m, quite frankly, starting to fall in love with it. There seems to be a lot going on when creating a new project, but once I got into the groove of how a Django project is laid out, it’s starting to come to me pretty quickly. All my experience with backend has been with Node and Express. We were introduced to Ruby on Rails during bootcamp, so I suppose that counts too, but it didn’t stick and I wasn’t a huge fan of it.
What I did like about Rails was its ORM. I enjoy writing SQL, but having methods to do database queries in the language I’m working in? Sign me up.
So it’s no surprise that Django has tickled my fancy.
What am I working on?
After getting a hang of things, I’ve started to work on a small app that helps create D&D Characters. D&D Beyond has an amazing one, and mine definitely won’t be as advanced as that. But the goal is to be able to create a character sheet that adds stat bonuses for race, and other things of that nature, automatically, based on the 5e Player’s Handbook.
So far I’ve got the models set up for each race, sub-race and class and I’ve started work on the front end interface to interact with all of that. I don’t have screenshots to show off, as there’s really not much to it yet, but hopefully by next week I’ll have some stuff to show.
On the job front:
I received an e-mail from my bootcamp asking if I would be interested in being a part of a pilot program they are launching in April, to be a part time mentor. Basically I would be on call for a couple of hours a day to help new students with any questions that they might have about topics covered in the first 4 weeks.
Although it’s only part-time it is a paid position, and a really good opportunity for both experience and solidifying my knowledge. I wrote back expressing my interest, and I’ll find out if I’ve been chosen next week.
Good morning all you cool cats and kittens.
Work has been steadily continuing on my D&D Character Creator.
After playing around with Django last week, I think the back end of the app is getting close to completion, so a lot of this week was focused on working on the front end.
I kinda am kicking myself for not maybe using React or another modern FE framework, but I’ve gotten this far I don’t really want to blow it up and start again. I may consider refactoring once I have the logic all squared away.
You can now choose your Race and Subrace, which then takes you to class selection
I’m not super sold on the flow yet, and might try some different things but I’m pretty happy with how this is coming along.
My main focus is to get the MVP done, and then I’ll probably go back and tinker with things.
Yesterday I started work on the Ability scores section. Just a basic layout so far, and it adds chosen Race/Subrace ability modifiers to the total for each stat.
This week I’m going to tackle rolling dice and choosing where you want to put your rolls into. I think if I have that working then giving an option to use a standard array should be pretty straight forward.
Another week already!
Lots of progress this week. I managed to get rolling functionality to work, as well as the ability to apply to them to whatever stat you want. After applying, it takes into account racial bonuses adds it all up and figures out your modifier.
The only Race this doesn’t work for yet is Half-Elf because of it’s special +1 to two abilities of your choice. So I need to work on that edge case.
Right now it doesn’t remove already selected stat targets from the dropdowns, so at this moment in time it’s possible to really beef up a stat if you want. I had an idea of how to work this out, and had it kind of working, but the way I implemented it was also pretty buggy, so I’ll have to come back to that at another time.
Once I had the abilities and modifiers correctly being assigned I started thinking about how I was going to generate the character sheet. My initial thought was looking for a way to fill in the fillable character sheet from the official source, but after trying a couple of libraries I wasn’t able to get anything to work.
However, I was able to find someone who masterfully put together a really nice looking one using HTML/CSS. With some very minor tweaks I was able to bring it into my project.
It looks pretty good! I have it filling out the stats/modifiers, proficiency, saving throws, skills and adds the proficiency bonus to saving throws/skills. Ternary operators were very much my friend for this.
Now that I have the main bits done, adding the rest will just be a matter of doing, instead of figuring out, so I expect this next week will see a lot more progress.
On the job front, had my first sort of interview today? I say sort of because they called it that, but it was me filling in a form with a bunch of standard interview questions. Still, it’s the furthest I’ve gotten yet so even if it doesn’t lead to anything, it still feels like progress. Also, my career services has got me into possibly two other roles. One I’d be really excited to take, the other looks interesting and I certainly wouldn’t say no to it.
I’m pretty sure I jinxed myself last week when I wrote I expected to see a lot more progress…I also kind of forgot Easter was last weekend, so I wasn’t really able to code that much.
That being said, I did make some progress.
Mostly I created the models for character backgrounds, added in the traits, flaws, bonds, ideals and wrote the client side as well. When choosing next, it now populates the appropriate boxes with whatever you choose for each (or roll, as I gave the option for random).
It will also write in your (calculated) starting max HP and passive perception. Both minor things, but progress is progress.
Today, I created the models for weapons/types and spent a decent amount of time adding stuff to the database so that they’re ready to use. I didn’t really think about starting weapons/armor when I first started this, but realised that’s part of the character creation as well, so I’ve shifted my focus to that now that the stats and modifiers part is done.
No screenshots today, as there’s really nothing to show off, but hopefully in the next couple of weeks I’ll have this close to being the MVP I set out to make awhile ago.
On the job front, I have a phone interview tomorrow with a dude named, Thor. So…you know, kinda hoping the God of Thunder likes me enough to move me on to the next round.
…I probably won’t mention that to him. I’m sure he gets it a lot.
Well…unfortunately I haven’t been able to get up to much which is why I lost this past week. There was really nothing to talk about on a personal project front.
The good news is, one of the reasons why is because I have been busy interviewing and working on a couple of take home tests, which is pretty exciting. I feel like I have a good shot at, at least one of the companies I interviewed for. Their tech interview was so…I don’t know how to describe it other than that, I just really enjoyed the conversation. I didn’t sleep the night before and felt sick most of the morning of, but once it started I was just impressed with how cool they were. After it was over, while I didn’t feel like I bombed it, I didn’t think I did well enough to move to the next round. But, a couple of hours later they sent me a take home test. I think they really liked me as a person and could see my eagerness.
Honestly, I’m starting to feel a little burnt out, so I’ve allowed myself a bit of a rest when not doing job searching stuff.
However, I went back to my pixel editor yesterday as my fiancee kindly reminded me “You tend not to finish things.” Which was a nice(ish) way of describing my dev habits.
I’ve been thinking about how to better implement the “undo” feature and I have a few ideas I’m going to try my hand at today.
Damn, lost by one day again.
Well, unfortunately I didn’t get the position. I thought I had a really good shot…I asked for feedback and I made a poor decision on my take home that lead them to go in a different direction. They said they really liked my attitude and encouraged me to re-apply in 3-6 months. So I’ve been sending out the resumes full force again. The way things are going, I may end up re-applying.
Honestly, I’m getting pretty discouraged…but trying not to let it get me down. Anyway.
In my last post I talked about diving back into my Animal Crossing Pixel Editor. My fiancee actually used it to design a new flag for her island which kind of gave me motivation to keep working on it. We did learn that the exported image is too small, so I’ve increased the size on that.
Also, I’m looking into templates now. After taking some screenshots and some expert level Gimp skills, I’ve got the basics for choosing templates set up.
Now to make it actually affect the grid…
Yeah, so I’ve been losing pretty bad for awhile. But! I feel like I have a good reason?
I finally got a job! I definitely fell into a bit of a depression there wondering if I had made the right decision to do the whole career change thing at this time in my life. After many, many applications, a few interviews and some take home tests a company decided to take a chance on me.
Without going into too much detail, I’ve been there for a bit now and I’ve been loving every second. It certainly has its challenges, but the people I work with have been nothing short of awesome. Coming from a 10 year career in retail management, where work life balance doesn’t exist (although they will tell you it does…) it’s been a breath of fresh air.
I could go on and on about how absolutely amazing of a difference it’s been…but that’s not the point of Gruedorf.
So, now that I’ve been adjusting to my new work schedule and the stress of finding a position is gone, I’ve been getting the itch to get working on a personal project again. Specifically a game.
A couple of years ago I was working on something in Verge3 that was based on a story concept I had and was basing my approach off of Kildorf’s Simple Quest to try and get something done.
But, I was winging the story, which is never a good idea, and I ended up hating it which ultimately lead me to not wanting to work on it anymore.
I made a lot of assets. I have a bunch of tiles and sprites that I really liked, and I just feel like I could do something better with them.
So…I have nothing to show. But I’m feeling the itch and will hopefully be back on track to doing something once a week again.
…for awhile. Maybe?
Off to a good re-start…
I actually went away for the long weekend for the first time in…10 years. Yep, that’s right. My previous position required that I work every. Single. Holiday. Except Christmas day.
I was only allotted one weekend off a month, but it was always beneficial if I worked at least one weekend day, because of the nature of the work and what I would usually come back to on Monday if I did take a weekend off.
So the concept of a “long weekend” was very foreign to me. My new company told me to take the Friday off too and make it a 4 day weekend. I wasn’t going to complain.
The reason for that was just to say I haven’t had much time to work on anything.
I am, however, playing around with Godot at the moment. Once I have something concrete to show, then I’ll post something. But for now just another boring text update!
Just a small update that’s 2 weeks late.
My fiancee’s younger sister (there’s a biiiig age gap between them) is only 14 and an AMAZING artist. In school she’s in a program where she’s been doing some pixel art and has fallen in love with it. She’s ridiculously good at it too.
Unfortunately, I don’t have any of her pixel art, but I do have a few of her pieces screenshotted.
I remember having a conversation with her last year about her playing with Godot a bit in school, and she was given all these links so that she could do stuff at home. But, they didn’t have a computer at home. Out of the entire family, I think she relates to me most because she loves games, loves the idea of game development, is, again, a fantastic artist especially for her age, but just never had the resources at home to pursue it outside of school hours.
Well, I upgraded my computer last year, so I had some spare parts. For her birthday this year, I bought a couple of other parts and ended up building her, her very own computer. Her Mom then bought her a monitor, and now she has a nice little PC setup she can mess around with.
Last night she showed me some of the stuff she was working on and it was really cool. She’s played some of my old Verge games and other projects, and was picking my brain about a game idea she had. She already has the main character designed, showed me the pixel version she created, and it looks really good. I was really blown away. Not only that, she was telling me about the style of game, ideas she had for mechanics, and we kind of brainstormed together about what it would like/how it would play, etc. It was a lot of fun…and I remember thinking at her age was probably when I first started becoming interested in game dev, so it was just all around a cool thing.
She asked if I would help her make this game, if she did all the art, would I be willing to help her with programming and making it come to life.
I definitely did my best to set expectations for her…game dev is hard, it takes a long time, we might not finish it (as is our way), she may lose interest, etc. etc., but that I’ve been looking for a project, and would be happy to spend some time putting stuff together for her and helping her bring a vision to life.
So, hopefully for the next post I’ll have some screens to show you, because I think you’ll all be pretty impressed with her work.
Now, I’m excited too.