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.
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.
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.
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.
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.
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.
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
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'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.
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.