I swear I’m still here – April Update

Life has been crazy recently, I graduated a few weeks ago, released a game, had to move to a temporary place, job hunting has been crazy and the “omg I need a job” anxiety is kicking in really hard, but anyway, this is not the place to talk about those things, this is the place to talk about game development!

Your Human is Sick!

During my Master’s in Game Design, I was part of the Serious Games Capstone, and I had to opportunity to develop a game that I pitched, created all the documentation, acted as director and programmer. And that now is on Steam!

capsule_main

Link on Steam: https://store.steampowered.com/app/1290510/Your_Human_is_Sick/

This is how I feel

The game has its problems and I’m working on bug fixes and possible updates, but as of right now I’m really happy to have this game on Steam!

Now let’s talk about personal projects and what I’ve been up to!

LDJam 48

Participating in a Ludum Dare is something that I always wanted to do since… 2018? Or something like that, and this time, this year, this April, I decided that was it, I was going to make it!

And I made it, I finished a small turn-based game for Ludum Dare 48, called escars. You can play it on itch.io: https://gueepo.itch.io/escars

Sadly enough, I forgot to play other Ludum Dare games, which is sad, because the ~10 games I played were really interesting and entertaining, so because I didn’t play enough games, my game did not get an official rating, maybe next time!

Peanut Butter

Peanut Butter Engine

I’ve been talking about improving my C++ skills here for a long time, and that journey took me to sites like HackerRank, where I could practice algorithms and C++, and then it took me to Unreal Engine, which was a nice journey.

But getting deeper into that hole, I noticed that the next step, the next thing that would make me improve in C++ and further improve me on game development was… making my own engine.

I didn’t want to get into 3D, so I decided on making a 2D game engine to create tile-based games, and decided to call it Peanut Butter Engine! and I also wanted to make it open-source and a project that I will be working through the time!

Link to the Peanut Butter repository: https://github.com/guilhermepo2/PeanutButter

I am using a lot of references to make this engine, and they are all cited on the README.md on the repository, so feel free to take a look! Future plans and directions are also included there.

What comes next?

The biggest thing for me when answering this question, is to also answer the question: “What if I don’t get a job?” – If that happens it will mean I won’t have an income in the future and there is a lot of consequences on that. Anyway, here’s what’s currently on my mind:

  • I’ve been dabbling on different ideas and prototypes to come up with games that can be commercialized and could potentially generate some revenue so I can sustain myself, maybe I will have something by next month?!
  • I’ve been studying Multiplayer in Unreal Engine, and I would like to maybe come up with a prototype of a deathmatch third-person shooter, or anything simple but that can be a multiplayer game.
  • As for Peanut Butter, I feel like I have a good framework set-up, I’m currently going through the book “Game Programming in C++” so I can learn a little bit more, after that I still have to do some work on the Sprites/Animations modules, because I currently don’t like how it works. And then I have to fix some dependencies using premake and start making games with it! The first one I want to make is Pong, and then maybe the remake of an old platformer of mine, happily(never)after.

That’s it for April and (a little bit of) May, I will see you next month and hopefully, I won’t be too late for next month! Now back to my Island in Animal Crossing!

Cheers!

Yes, I’m still here – March Update

I skipped the February update, oh well. Not that I had done a lot, no, all I had for that month was a shooting prototype in Unreal I made in a few hours.

Having time to do side projects in game development has been a Herculean task lately, I’m in between school, which pretty much demands me the same as a full time work, and it is about game development, so also working on it on my side project has a potential to burn me out. On top of that, I still have homework/assignments! On top of that, job hunting has taken a lot of my time lately, and on top of all that, I’m binge-watching The Office.

With all that together, I haven’t been able to have any good progress or anything interesting that I developed in my free time. And the problem here is that I’m taking it too seriously, and I do that a lot, my mindset is always “How can I do an interesting game that can take 2~3 months?”, “What mechanics are interesting for a new game?”, “How to make an interesting progression system so a game can entertain people for hours and hours?”.

And I think the key is to not take it seriously. So my approach now will be prototyping mechanics, simple ideas, prototyping anything, not spending a lot of time and not committing to anything because the purpose of a prototype is to throw it away anyways.

So, anyway, here are some ideas that I tried bouncing off lately.

I was trying to come up with a combat mechanic that plays similar to Astral Chain, which is, I know, very hard, I just started doing it and started playing with launching the character on the attack and transitioning to/from attack animations.

This is a really really simple top-down shooter, I was just messing with the dot product and trying different things and I came up with the idea of a shooter that you can only hit your enemies from behind. Imagine an 8 person match (you and 7 bots, or multiplayer, who knows!) with that idea – It could be a quick and fun small game, 2 minutes of fun!

So that’s what I had for this month! I wrote down a list of small ideas/mechanics/things to prototype, and who knows what is going to be here next month!

I’m still here – January Update

A lot of things happened in January! Most of them good, so I got that going for me at least! But I’m already very late to write this post. I swear I didn’t give up on this and I will get back into doing projects and working on stuff!!

wordpress waiting for me to do my monthly post

Around January 5th I got back to the US to finish my Master’s in Game Design, and for some time I had to make an effort and focus on updating my portfolio and resume, so I can get to a good point where I can apply to jobs, I did all that, so now I have to just keep them updated and keep searching for jobs! But while making this effort, I didn’t have the best of times to work on side projects, and after I made all these efforts, I just took it easy for week, so I had a lazy week (A week where I only work on everything that is required from my Capstone and Master’s Degree). Anyway…

Defensees

Level2

Defensees is finally out! Play it on itch.io! – That’s the tower-defense with roguelike elements that I talked about last month. I had a lot of concerns with this game idea but ultimately I wanted to make something out of it and release a game. It is very basic, it contains a simple turn-based system and simple wave spawning and progression system.

The major concerns are still there, no mastery, no secondary goals, no whatsoever, it’s just you slaying some dungeon monsters trying to not die and trying to not get the door destroyed. But I didn’t want to postpone this game too much and I’m actually proud of this little project.

There are plenty of directions this game can take and there are many versions of it in my head where it is a more complex game with more roguelike elements, but unfortunately, right now, Unity and C# is not something that I want to work on and I don’t think it’s something that would push me as a Gameplay Programmer.

So… now what?

“Now what?” is a very good question right now – It’s very simple actually – I have to make things that will make me improve or showcase my skills in gameplay programming and C++, and I already talked about that in a previous post, and it would be even better if in this project I could add some interesting systems, practice some 3D math, things like that!

Here’s the options that go through my head right now:

  1. Making a Gameplay Demo in Unreal Engine.
    1. This is similar to what I was previously doing, but now it would be something more serious and I would put more consistent effort and work on it longer.
    2. For this, I would buy an animation asset in Unreal Marketplace and work on making combat gameplay (Action RPG, inspired on Dark Souls or Astral Chain, there’s these two possibilities) or making something more inspired by a shooter game (Resident Evil 2 or Tomb Raider).
  2. Making a full game in Unreal Engine.
    1. That’s a longer route, I would have to come up with a gameplay mechanic and a gameplay loop and make it not be too long somehow.
    2. I also would need to search extensively for 3D assets to use, probably what I found and what I can buy will dictate what I will be able to do.
    3. If I find good enough assets, maybe I can do a 3D version of Defensees!
  3. Make a roguelike in pure C++.
    1. Yeah, I just love Roguelikes.
    2. They are interesting games full of systems, and I would have to code some interesting systems and create my very own small engine, which would be very interesting.

Anyway, next month I will be talking about which direction I went (there’s a high chance it’s going to be one of the first two AND a roguelike in pure C++, I just love roguelikes and I always wanted to kind of create my own engine… so…. it fits well.)

Anyway, thanks for reading until here!

 

Christmas Time – December Update

After a lot of time in the US, I’m back at home in Brazil during my Winter Break! It’s just two quick weeks here and then I will have to face 24 hours of airports all over again to get back and finish my masters the following year.

Merry Christmas! Or have a wonderful day if you are into that!

Last months I’ve been more on easy gear, I will use this time to have some more-than-needed rest and then get back at my pace, lots have to be done in the following months!

Creativity is weird

reboot01_polish.gif

I said here last month that I wouldn’t be working on Aglarond anymore, I also said I maybe would still work on game projects that would be even smaller scope. The thought that I had an interesting and fun turn-based combat system coded (well, it is interesting and fun at least for me) but wouldn’t make anything with it kinda made me upset. But to be honest, I was ok with it.

But suddenly, my brain threw me an idea. Well, not really suddenly, related ideas applied to other genres are something that I discussed a lot with fellow teammates on the studio I attend for my Master’s.

The idea is really simple:

  • It all happens in a room. So no room generation and no level design, well, there is a minimal aspect of level design, but this is something I’m fully capable of.
  • Defend something. In this case, I think I will go with the door, or the throne, it doesn’t really matter.
  • Monster spawn from specific places in the dungeon. In the gif, the iron door is where the monsters would be spawn, but ideally, maps should have 2 or 3 spawn points.
  • Monsters spawn in waves. The first wave has 4 monsters, the second wave has 6 monsters, and so on and so forth. Waves get increasingly difficult and in between waves is when you recover some health and give your brain a little break.
  • Monsters want to destroy what you must protect. Have to have some conflict, right? I can experiment with different flavors of monsters, some can attack you, some can change goals, etc…

And also, I bought some pixel art roguelike assets for the game, and I might buy some sound effects, I just don’t want to spend time anymore doing things that won’t push me as a Gameplay Programmer, and also, these assets are way better than anything I would ever be able to do anyways.

There are some problems I can see with this game and I will point them now, but before pointing them I just wanna state that I don’t care, I will make this game and release it, and if I can improve some of these points, good, if not, then, well, at least I still think it can be a quick fun game!

  • It doesn’t have mastery. This is the biggest one, Roguelikes are a lot about mastery, and although this is not a roguelike, it draws pretty obvious inspiration from the genre. How the 100th hour playing this game differs from the first hour? What are you learning about the systems? What are you learning about strategies? There’s not much to learn so not much room to achieve mastery.
  • There are no secondary goals. Right now it is all about killing monsters before the monsters kill the door, or the throne, or you, there’s not much to strategize, I’m afraid the game will be just a “slaughter the monsters until you are mathematically not able to survive”

There are some ways to try to remediate those issues, which are:

  1. Adding spawn locations for health pickups in the middle of a wave. This can create situations where players have to decide whether to engage in combat or get a health pickup in order to survive longer.
  2. Adding random power-ups at the end of a wave and/or in the middle of a wave. I can easily have power-ups that make player health regen faster, double the damage for a while, make their speed bigger for a while, give immunity for a while, make the player take less damage. This can create both mastery of the system and secondary goals, as well as changing the playstyle according to what power-up the player has at the moment.
  3. Having more than one level. I’m probably going to do this anyway, but I can have different levels for the game, with different amount of doors, different layouts, and whatnot, these can make players strategize and play in a different way, also make the environment less boring.
  4. Adding doors that can be locked/unlocked. If the door is unlocked, enemies spawn from them, if it is locked, no enemies spawn from it. This can make me explore more enemy variety because I can add an enemy that sole purpose is to open any closed doors. This also adds strategizing for the player in the form of “Should I guard the door or should I go lock that door?”, “Should I protect this spot or go kill the enemy that will try to open the door?”

… At this point I just noticed I turned my monthly update post in a short Game Design Document for this game, well, that’s fine. I just wanted to describe what it is, some concerns I have and some possible mitigations for those risks. All in all, I think this was informative and some good bits on the game design process.

Quick Unreal update

Besides that, I’m working on an Unreal Gameplay demo to practice my gameplay programming skills, create portfolio pieces and flex my C++ muscles. I’m trying to create gameplay for the Paragon hero asset Sparrow.

sparrowunreal01.gif

It has its problems, such as: (1) there’s no animation for walking sideways with the bow down, (2) the camera doesn’t follow the character when moving to the left or right when the bow is down, (3) shooting have no impact (and no code for hitting anything at all)

I wanted it to be a demo of a game where shooting is meaningful, it would be a stealth game where you only use your bow when absolutely necessary, so using it should feel thoughtful and powerful. But anyway, this is something that I still will work a lot on and improve a lot!

Anyway, that’s it for my monthly update, thanks for reading!

Here we go again – November Update

This month is probably full of uninteresting things, unsatisfactory progress, me being burned out, going on game development tangents and giving up more projects. Let’s do it boyz!

On the more upbeat side of things, the first game I worked on my capstone, Bopping Blobs, is finally out on the Google Play Store! It was a quick six-week project to get people all warmed up on game development, the game is all about giving you a short and easy entertainment for no more than 2 minutes!

Go grab it on Google Play Store! (Link Here)

So, now for the actual update of the month.

photo_2019-11-28_14-42-03
yikes

I was feeling burned out in general with Capstone (around 8hrs/day) and classes and all the things I still would have to do, so I didn’t really feel like being strict on myself to work on side projects. I know that I need to be working on more projects in order to achieve my goal of working in AAA, but being honest, the game I’m doing in capstone and performing well in school is a bigger priority. And knowledge and released games on Unity is not really what AAA cares about the most.

So this brings us to the freshly made decision of: I will not work on Aglarond anymore. I’ve been studying roguelikes a lot recently, because I wanted to do my own, and I got a few conclusions:

  • A roguelike is all about experimentation and exploration;
  • The fun in a roguelike emerges from all the interactions of all systems and from the feeling of mastering each one of them;
  • Ultimately, a roguelike is a game about telling stories, it is all about what the player will tell their friends, they will talk about that time where they pressed a switch and set the entire room on fire, they will talk about that time where they went 20 floors deep and were killed by poisonous gas because they accidentally used the poison potion on the previous floor.

Doing a “roguelike” is easy, making a very good roguelike is hard, and way out of scope for the time frame I want and the resources I have.

Also, I wrote some devlog posts: Turn-Based System for Aglarond and A Postmortem for all the Roguelikes I ever tried to make!

But will I be working on them?

That’s so… Unreal

wukong1.gif

I’ve been messing with Unreal Engine 4 recently, following tutorials, reading about things and seeing how to do things, I have a very simple moving character and some collectible items, I’ve been enjoying using Unreal and I might keep working on this prototype. The goal for it is to be a simple Action RPG (i.e. Dark Souls) style gameplay demo.

But I cannot make an entire game in Unreal! I simply don’t have the time and resources for that either, that’s why I will be working on gameplay demos, which is what will help towards my goal of being a Gameplay Programmer in the game industry.

I want to be working on entire games as side projects, but I’ve managed to fail 3 or 4 projects this year already, and I have to improve and be good at two things: 1) programming gameplay and 2) C++ – And Unity does not help with the C++ side of the equation.

Maybe I can try to come up with things with even smaller scope (like 1-month games) and see how that goes. If I do that, I want to work on experimental or interesting game ideas, not on established formulas that everyone already knows.

But for now, I will just enjoy not having to force myself to work on a side project that I’m unsure if I can finish and release it.

Thanks for reading my update!

Roguelife – October Update

I feel like this month I had a lot to do and did some interesting stuff on my capstone for my Master’s Degree, I wanted to have them in this post but due to virtual paperwork, I’m not ready for that yet!

Aglarond

Getting straight into meaty content, I didn’t work on Aglarond for about 2 weeks, the project didn’t have any progress between September 26th and October 7th. And also I am rewriting the Dungeon Generation System, which I estimate one week of work time, with all that, Aglarond should probably be delayed for 3 weeks! With all that being said, Aglarond is still a 2~3 month scoped game and I want something that small because I knew delays probably would happen, because of school and whatnot, but still the game should be released before the end of the year, that is the ultimate goal.

Right below you can see how the dungeon was before rewriting it, I have the turn-based system in place, the dungeon generation and the field of view, these are the 3 pillars of a roguelike! So I’m into something already.

fieldofview

I wrote a blog post about Tiles and Field View for Aglarond (click to see).

The problem with the previous Dungeon System is that it used a maze algorithm for the connections between rooms, I honestly don’t know why I thought that would be a good idea, it led to uninteresting and excessively long maze-like paths in the dungeon, which were just boring.

I’m switching to the approach used by Brogue, which is basically (i) create a room with positions that can be doors (I call them door candidates) (ii) add a room to it (iii) repeat ii until the dungeon is complete. A room can be a square room, a circular room, and they can have a hallway. You can see a screenshot of it below, currently, it just create rooms and connect them based on the door candidates for it, but it is way better already.

20191020_NewDungeon

The next step for Aglarond is making the rooms created more interesting, which means adding variety to how they are and adding hallways. After that, I have the three core features of a roguelike in place: Combat System, Dungeon Generation and the Field of View. After that I should start working on a simple item system and have it in place so you can find scrolls and potions in the dungeon, that would make the game more interesting.

AND AN IMPORTANT ANNOUNCEMENT: I was going through Brogue’s source code and have been playing it a lot lately, that’s when I realized how complex the systems and all the interactions can be in a roguelike. I wanted to have all the complexity on Aglarond but I also didn’t want to blow scope, everything I have planned is not even 20% of what a complex roguelike has, and I would like to have all that. Roguelike development is very iterative in its nature and every tutorial or talk focuses on having the basic core gameplay and then adding whatever form of complexity you want on that.

That’s when I decided that I want to try making Aglarond some sort of life long project, that’s what a lot of roguelikes are after all, so the basic core gameplay would be released and I would keep working on updates as time goes by. Everyone that buys the game will have access to all future updates!

Card Game!

The reason Aglarond didn’t see much work done for some time was because I was making a Card Game prototype! I made it based on this online course and first I made exactly as the course said and did, and then I rewrote the entire code to my syntax, my standards, etc…

startinggame

There are still many things that I have to approach and fix, a lot of the systems in the game are strongly tied together, and I can see a thousand ways how that could be a problem in the future, I want to fix a lot of animation, elements positioning and refactoring code, making the systems more loose, I don’t exactly when I will do that, but that’s what I want.

There are many reasons why I suddenly made this Card Game prototype, first, I always wanted to try doing it, second, I love Hearthstone (the prototype is basically a Hearthstone clone), third, I pitched a card game for the studio I’m working on for my capstone in my Masters Degree, so I wanted to have a prototype to show I could actually do it and convince artists and designers to want to make the game, the idea was well-received, but when we talk about really making a card game in a studio, there are some considerations that needs to be done, such as, “How can I guarantee this will be within scope?”, “How will I address AI?”, “What are the cards going to be and how can we adapt the card art style for the artists we have?”, and, most important of all: “How this is not just a bad Hearthstone clone”

These are things I still have to answer, but hey, a little of polish and fixes and it can be at least a portfolio piece! Or I can end up making a card game in the future, who knows.

cyclopattacking

That’s it for this month’s update! I will try to keep focused only on Aglarond, but there are plenty of other side projects coming up that I might tackle, especially considering I need to improve my C++ skills, Gameplay Demos on Unreal might be appearing here next month!

 

Reboot – September Update

Last month I talked about Midnight Journey and me sucking at Level Design, I also said working on it wasn’t very interesting to me anymore because Level Design is not something I’m particularly interested into and I don’t really want to spend my time on it, so the best decision here was to give up Midnight Journey. Hooray! I canceled one more game project!

It was good while it lasted my friend

 

I felt I needed to reevaluate what games I wanted to work on because I’ve blown scope or started working on something I couldn’t really accomplish on my last 3 or 4 games. This worries me a lot because I thought I was over these mistakes already after releasing two (simple, but released!) mobile games. So I went a bit hardcore, did some research and wrote a list of limitations I will work with.

List of Limitations to not blow your scope:

  1. No Level Design.
  2. No Narrative (or dialogue, or cutscenes).
  3. No Puzzles.
  4. No multiplayer or networking.
  5. 2 to 3 month projects.
  6. Design around a theme.
  7. Progression means ramping difficulty of core game loop.

So that’s when I decided to work on my new game, Aglarond. Aglarond is a simple roguelike but with enhanced game feel and pretty graphics. This should be in scope because there is literally tutorials for people to create roguelikes in 1 or 2 weeks, so I do believe it’s feasible.

In fact, I wrote a quick first post about Aglarond on my “studio” devlog (https://fourthdimension.studio/devlog/2019-09-15-What-is-Aglarond/) – In this post I talk a bit more about the dungeon generation and turn-based system, I want to write more frequent updates about Aglarond.

If you wanna know, these are all the game ideas I came up with when working around those limitations. There’s a big chance actually I get to work on more of them if I don’t procrastinate and don’t blow my scope again.

  1. Aglarond
  2. Turn-Based Combat: Something that would have a combat-system like Pokémon and the game would be about facing enemies one after the other until you die (It’s a Pokemon Roguelike!)
  3. Card Game: Something like a deck-building roguelike (it would be very simple and I would search art packs or open art to see if it was feasible art-wise), you would start with a deck, defeat an enemy, after every enemy defeated you choose some cards to add to your deck, do that until you lose (It’s a Hearthstone Roguelike!)
  4. Tetris Attack Style: One type of game I tried working a long time ago was a “puzzle” similar to Tetris Attack and Pokémon Puzzle Challenge, it is similar to a match-3 game but I think they are more interesting. So I thought of making a game using this mechanic where you could face enemy after enemy and difficulty go up for every enemy (It’s a Tetris Attack Roguelike!)
  5. Incremental Game: I worked on Pizza Clicker a while ago and writing an Incremental system is something I still want to do again and make it better, but I would need a theme for that.
  6. Veteran Bros: A Couch Co-Op shooter where one player moves and the other shoots, the thing is that it would be two characters, one in a wheelchair using the gun and another character pushing the wheelchair.
  7. Insanely Juiced Rock Paper Scissors: That’s the Joke. It would be like battles, but the battles are rock paper scissors, and every time you win or lose you takes damage until someone loses the match. Imagine that but extremely juiced.

Anyway, that’s it for this month! See you in the next one and you can follow me on Twitter if you want!