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!

 

Not today – August Update

The transition from July to August wasn’t the most productive time I’ve had, but I still managed to get something going on. Having assignments, capstones and a bunch of things during my Master’s is taking me some time, but next month my schedules are more stable, so I think I can put more work on my own projects.

That being said, here are the things I worked on during this time, followed by a brief reflection on what I might work on in the future.

Pokémon: Fake Version

One of the things I had in my last update was creating a top-down adventure game and that I was going for what basically is Pokémon Roguelike. I ended up working on it for 3 weeks and I got something that I actually like, but I don’t think it was very fun or compelling, so I chose to not work on it anymore.

dungeon.png
Dungeon

The way the dungeon works is a simple dungeon and lock “puzzle”, the generation is based on The Legend of Zelda rooms, which there are plenty of tutorials and algorithms to generate rooms on this logic. The dungeon is generated, then the algorithm detects rooms that can be boss rooms and reward rooms, it then places the boss, the reward room and locks them (the rocks in the screenshot) – a key for the boss room is randomly placed on the dungeon and the boss drops the key for the reward room.

Aside from the dungeon generation, everything else is basically Pokémon reverse engineering, which could also lead to an interesting technical post, but the code was written in a hurry and doesn’t really follow good standards.

Getting into Unreal

One of my goals is to get into Unreal and do at least 1 or 2 small projects on it, using blueprints, C++, having animations and AI. This last month I could dedicate 1 or 2 days for getting at least a glimpse of how Unreal Engine works. But nothing very significant was achieved.

cameraControlBlueprint
Here’s some Blueprints!

Midnight Journey

pausemenu

One of the things I am working on is Midnight Journey, a simple platformer game, when I first started working on it I was aiming to finish by August 21 (also known as today!) – I had no idea of what was coming for me at the time and I didn’t really anticipate how much out of time I would be to work on that.

Needless to say, Midnight Journey is not even close to completion, in fact, I didn’t even touch it last month.

Next Month

The biggest thing for next month is that I was accepted into my capstone of choice on my Master’s, that means from now on I will basically be on a 9 to 5, which hopefully will give me more time to work on side projects and learn new stuff. I will be working on game development on those hours, but for NDA reasons those things won’t make into the updates probably, unless in occasions where the game is released and I make some kind of tech post about it (which I definitely plan to do)

About Midnight Journey, I like the game and I think I’m up to something good, but Level Design is something I am struggling with during the development and I came to realize it is something I’m not particularly skilled at and I don’t have a lot of interest either, so building a platformer (which requires a ton of Level Design) is kind of slowly leaving my interest, next month will tell if I keep it or not.

If I don’t keep working on it, I’m also at a loss of what I should try, I like roguelikes, which solves the Level Design aspect of the equation with a coded system, and roguelike players don’t really expect much variety or well crafted Level Design. I would have to research and think things that play to my strengths and could be fully finished games, considering I want to go for a Gameplay Programmer job in the industry.

Anyway, I won’t keep a list of what I want or don’t want to do for the next month, I will try working on what I have and see where it takes me!

Thanks for the read and follow me on twitter if you want!

So many different things – July Update

Oh my god, it’s already that time of the month again, the month was fulfilled with unfocused work, many different projects, many different experimentations and my attention divided into classes, capstones and personal projects.

DSC_0064.jpg
and dove pictures at Downtown Orlando

This month I will have to narrow down what I’m working on at school and start focusing more to get more interesting projects going on, but at the time I’m just enjoying the experience of being able to work on games all day every day and being able to explore different things.

Setting these aside, here is a brief overview of what I worked on this month!

We Broke O.R.B.Y

I briefly talked about this project last month, this little game had 6 people working on and we did a two-level 3D platformer prototype for the Research and Team Dynamics class. In the video, you can see the second level being played by me!

My main contributions to this project were the character controller and the camera, I know the camera looks bad, I’m sorry.

Jumpy Jump

And this is the result of the “Make a Jump” assignment, I tried copying the exact same feel as Super Mario Bros 3 and added a few of my own touches! So it has a similar feel but not quite the exact same.

I learned a lot by reverse engineering a game, I made many improvements on my previous platformer engine and these changes actually were incorporated in Midnight Journey.

Top Down Adventure

loop2.gif

After the jump assignment, my next task is creating a top-down adventure, I talked to some people who went through this task and read the documentation and realized I could make something very based on Pokémon, which is something that is on my backlog for a long time already.

So I had this idea of dungeon exploring roguelike where the combat is based on Pokemon and I have to do it in 1 month. Sounds like a very sane plan!

D.S.L.R.

dslr5.gif

One of the nice things of this month is that I had a Summer Break (that lasted a glorious whole week) and I wanted to make a prototype this week. So I got into my backlog of mechanics and found D.S.L.R.

D.S.L.R. is a game where you are a Forensic Photographer and have to investigate murders, the trick is, the pictures you take of the crime scene shows the crime scene at the moment of the crime.

The prototype is just about taking pictures and seeing them on the camera, but hey, it’s something.

Midnight Journey

So finally we arrive at Midnight Journey, the game I’m really working on as a project, my goal with this one is to be a full platformer game and I’m aiming at about 1 hour of gameplay, just something so I can release. At this point, I really feel like I need to release a platformer commercially.

I will write more in-depth Devlog posts about this one, these are going to be done on Fourth Dimension devlog! But I will link everything here.

I decided to make Midnight Journey very heavy on Wall Jump, you are going to explore a tower and it makes sense to have a lot of verticality.

walljumps.gif
wall jumps

Here is a quick list of some things I’ve done this month for this project, I won’t be getting into much detail because this post is damn long already!

  • I’ve created the Pause Menu, which will feature a map of the tower, the menu changes where it appears based on where the character is on the screen, I thought this would be a nice touch. I’m planning to have an animation on the character where they would be looking at a map or something like this.
pausemenu
map will be there
  • Created the Main Menu finally! I want the “created by Guilherme de Oliveira” thing on the main menu to make me seem more important lol

 

 

FirstLevels
main menu
  • Made some Level Design for the initial segment of the game! This would work as a tutorial and aims to teach you how to use the jump effectively.
FirstLevels
tutorial section of the game
  • I’ve added InControl and reworked the Input system for the game;
  • Reworked the platformer engine, incorporating improvements from Jumpy Jump;
  • Reworked Wall Jump so now it feels better;
  • Added a Dialogue System;
  • Added an Environmental Notes System;
  • Started writing the notes the player will find on the environment.

Summarizing it all, a lot of things were done this month, there are still some other things that are under NDA and I can’t really be talking about it here, but I feel like I didn’t focus on anything, I’m fine with that at the moment because I’m working on 3 capstones, classes and personal projects, but in 1 month I will have to decide on just 1 capstone and then I believe I will be able to have more quality and not so many quantities.

Next Month

This month I realized I should start working on a portfolio, I should have a decent portfolio and keep it constantly updated, I also want to do more tech posts on my other blog where I get into code specific stuff and the line of thought of how I developed some features.

This is why I have gifs or videos for everything, I am making some kind of library of media to use on my portfolio.

So next month I want to have:

  • 1 Portfolio Piece: I want to write about the development of platformers games, I’ve worked on 6 platformers mechanics to this day: Secludere, Journey to the Light, happily(never)after, which were game jam games, JumpyJump, which was an assignment and Midnight Journey and Freshman’s Quest, which are games that are under development – I want to write about how I first did it, how iterating on it was important and how the code looks like after all the iteration, it will also have some handful tips on how to make a platformer feel good.
  • 1 Tech Blog Post: For one of the capstones I got to work on a Billiards prototype, and getting the stick rotation around the ball was something that involved some interesting math and code stuff, I want to write a tech post about that.