Journal Hella and Game Dev

Hella Downweather

The Witch of the Quill
So!

First time I'm working on a long term game project with a small team (worked with short term games projects/game jams, or long term non game CS projects). And while I do know that there is like 70% chances it will simply be a summer/quarantine endeavor, I like to write and I figured people here would enjoy some insight into the whole process (or at least the beginning).

Please note that I will talk more about the organization part than the game itself. There won't be a lot about the lore, the design or even the mechanics of the game, this little journal of mine will be centered around the organization of it all <3

I will try to update it weekly or bi-weekly depending on the advancements but if you guys have questions on the technology used or anything feel free to ask below! The different terms I will use will be explained briefly as best as I can, but I will not go into details because...I already give CS classes and this website shouldn't be a continuation of that XD

WEEK 0 - The start and an introduction
  • The team
We are a small group of 5 dev, who are used to work together in our CS classes. The whole group was formed 5 months ago for a web project, but since we had a pretty great synergy we decided to stay together and code something other than in javascript. I've worked with two of these people for a good 2 years prior to our web assignment and we have some nice complimentary strengths. None of them are here, but I made sure they were ok with little journal of mine.

For the sake of clarity, and since I'm pretty sure I'll need to mention them in the future, here are our main actors :

1- Hella
2- Antisocial
3- Doki
4- 2DMinecraft
5- BD

  • The project
A few projects were pitched, such as a Dnd random encounter generator, or an app to help students stuck at home learn with simple exercises.

In the end, we settled on making a video game, even though between us the most we can draw is stick figures and pixelated clocks.

Here comes placeholders x.x

The style will be a 2D RPG game, with a focus on lore and character development. A classic combination, but one we knew we could pull off relatively well.

  • The organization

This week was a week of setting up everything, starting from scratch once again. The team lead was appointed and immediately started on fixing a weekly meeting.

A team lead is responsible for the organization of the development. They are the one to assign the different tasks (or stories) to the members of the team. They are the one in the team that will do the least coding of the group, since they will be busy reviewing the work done by everyone else, organizing the next sprint, or communicating with anyone needed outside of the team.

They are in charge of creating the coding standards for everyone, and making sure the game advance in a steady pace.

The team is now split in two smaller teams, one focused on the Lore (Antisocial + Hella) and one focused on the mechanics (BD + 2DMinecraft). Doki served as a branching member, joining both teams to ensure good communication was kept during the week. It was a setup very similar to the previous project where the Lore team was more focused on the front end and the mechanics team on the back end.

We also agreed on making our sprints two weeks long for the beginning of the development, as we had plenty of things we could work on fairly quickly.

Agile development is a style of development that involves focusing on small tasks (called stories) for a short period of time (a sprint). You take the big tasks and try to break them to as much as small tasks as you can, give them a number in term of difficulty, assign them to a programmer, and at the end of the sprint, you review the work done and readjust the difficulty rating if the tasks is not done.

In our case, our team lead decided one two weeks sprints with a midpoint meeting to assign more tasks if needed. We do not use the difficulty rating however.

Finally, we set up our Trello, which is our online Kanban Board.

A Kanban Board is a tool used to visualize the different tasks of a team and to know at any point of time it's status.

It can look like this :

1591134722038.png

In our case, we have a backlog section, a sprint section, a in progress section, a review section and a done section. We move the different tasks in the different column as work progress othan them.

Trello is a pretty neat website that allows us to do our own Kanban board and organize it as we see fit.

An old board of mine for example :


1591134919705.png

  • Technologies used
For this game, we all agreed on Unity for the platform on which the game was to be developed. It allowed for enough flexibility if we wanted to actually commercialize our game or if we'd rather have it as a student project. The language chosen was C# since the whole team is very proficient in this programming language.

We did not choose our code editor/IDE yet, since Visual Studio (our preferred editor currently) is not as flexible as Unity unfortunately. More to come on this point next week.

A code editor is a platform that allows us to write code and test it, it is the Microsoft word for programming. Sure you could write on notepad...but it's a pain.

Unity is a game engine that is used for game dev, with Unreal it is one of the most popular engine to create new games.

Visual Studio is a code editor/IDE created by Microsoft that is fairly easy to use and has a lot of testing functionalities, which is why it is also fairly popular.

  • Current sprint objectives
The lore team needs to finish polishing the overall lore of the game, and start sketching the main characters and NPC.

The mechanics team needs to agree and develop on the mechanics for the combat style, how the character could move (would it be room based like Darkest Dungeon? or more platform like?) and what kind of RPG we were aiming for.

  • Conclusion of week 0
Peeps are motivated, we are on the easy part of the project after all. And this post took longer to write than I first expected XD I'm really passionate about good coding practices, so when I starting writing I couldn't stop really. If you have any questions on what I wrote feel free to ask them below! I'm not a professional in the industry however, I just finished my CS degree, so please take my answers with a grain of salt <3
 
Always did want to get into game development myself, but of course life had other plans. Anyways, here's my question: if you were to commercialize it, would you put it up on Steam?
 
Probably!

All people on our team are pretty avid gamers, so we are familiar with how Steam works. Depending on the level of completion itch.io would also be an alternative since it is more focused on indie brands.

Though it would require a nice marketing campaign, a website for the game and an actual graphic artist + composer to reach that level. Right now we are pretty far from Steam unfortunately :(
 
An update! Just before we close the sprint tomorrow (and I'm late on that part x.x)

WEEK 1 - Hell is starting
So! Since a third or so of our team (aka Hella and Antisocial) got hit with some surprise exams (thank you engineering school...) it really slowed development for the past week. End of sprint meeting tomorrow and I am pretty sure we aren't done on most of our points. But still, I promised updates and we now have updates.

  • The lore
The lore team was pretty busy at work! We now have the different background of our main characters AND a timeline. Here is a sketch of it, drawn of draw.io (really good website btw)

ESx0Ie3W9eWQPsPULCglq_G7okPPlQIKUkoNc2ndaaD8mI52ukzHdsStJBX4M9qIRgbkyNZRp4VALdDXWfnV_uk_-npdniwyTnSkNMUyYk7Y_eXSTEvoicehhccYMObIgjiGCSSm


No I will not answer questions about these, but Dark Sasuke is done, and I need to work on the other ones. The possible endings of the game have been decided as well as the means to attain them. We started to sketch a few NPC but we only have concepts, nothing more yet (that's coming up next sprint!).

  • The mechanics​
Most of the core mechanics have been established, even if the combat section needs A LOT of polishing. We have a pretty solid team comp mechanic going on, inspired from JRPG and Darkest Dungeon.

Overall, I can't wait to talk to the team tomorrow and see how much they've accomplished since last week!

  • Technology used
So, as established before, even if there is 99% chances this project will simply be a side/dropped by the end of the summer, we still need to plan on the off chance we actually follow through with it. Which means having to stay on the legal side of licenses, and try not to pay a gazillion dollars that our poor student pockets don't have. Luckily for us, Unity is free, even for licensed games, and while we won't be able to use Visual Studio (too expensive x.x) we will be able to use Visual Studio Code (which is made by the same company...but is free to use for commercial purpose AND works well with Git).

Remember peeps, always check if the tech you are using is in the clear for commercial use if you intend to sell your work....And if not find suitable alternatives.

  • Current sprint objectives​
-Lore - Still need more descriptive backgrounds

-Mechanics - Need more details on movement and combat style

But overall, we did do a lot of extra work AND people had emergencies (aka the whole lore team was K.O for a week), so I'm not disappointed with our work. Will try to update tomorrow/on Friday for the next sprint stories!

  • Conclusion
Game dev is hard yo.

More seriously, we are starting slow but steady, and we will probably begin to code in sprint 3 (tomorrow is the conclusion of sprint 1). Thank you for your interest and if you have any questions, feel free to ask them in the comments! <3
 
Starting from today, I will address the subject by the sprint number instead of the week number. Easier for me to keep track off, and for my usual readers, just multiply by 2 to have the number of week worked.

I have my usual team meeting tonight, BUT I got like...2 others this week-end so stuff moved A LOT.

Sprint 2 - Part 1 - Decisions decisions
So I completely miscalculated the enthusiasm and motivation of my team. We did plenty in the first sprint :D Our top-down view, 2D rpg is taking shape <3 Sure we aren't coding yet, but it's coming really really soon, and knowing this team, it won't be a problem.

What may reveal to be a problem however, is our lack of graphical talent. Which is why I am bringing to you today, how to actually work with friends and strangers without wanting to kill them! Contracts, communication and organization.

I will also talk about game assets and where to find them :3

  • How to be a good team lead 101
So. In case no one noticed yet, I am a VERY opinionated person in general. I am not afraid to say my opinion and explain exactly why this is the best and how I researched everything down to make sure it was the case.

This kind of attitude, while awesome for school, interviews, debate, can be really awful when you work with a team. Even more so if most people on said team are introverted and may hesitate to give their opinion. As a team lead, you also gain a certain...status? You have authority on people. It is your job to call them out and make sure they are working for the team. You need to motivate them, and kill any personal conflict in the bud as quickly as possible.

Lots of stuff, but oh so rewarding.

So. How I work has not changed for a while, in the beginning of every single project with a new team, I sit down with people and we have maybe an hour or two chat about organisation and expectations. We make sure to take turns, give everyone the time to talk and express themselves on every single important issue we have (how we deal with conflict, how we deal with criticism, what do we want out of a game, how much time and energy are we willing to contribute to it, what is everyone comfortable with doing and what do they want to avoid).

Once you have all of this information, you can relate to people better, and know who to assign what responsibilities. Discussing your team limits BEFOREHAND is a great way to enforce discipline without having a big meltdown in the middle of the project (like not being late by 1-2 hours to meetings...).

But the most important thing is to ask for feedback.

Every single one of our issue can only be completed if two members who did not work on it review it and accept it. Every single asset needs to be approved by the team Lead (me) and our art director (Antisocial). Every single feature needs to be approved by the tech lead (BD) and the team Lead (me). Sure it will take more time to finish every single issue, but it limits the chances of having to redo something and that way we make sure everyone knows what the whole team is doing/has done.

  • On the subject of assets
So. Earlier this week I saw a humble bundle RPG creation bundle that was fairly cheap - around 40$. It came with plenty of sprite, background, sound and music assets, all modifiable and free to use for commercial projects (REALLY IMPORTANT! If you want to sell something, even using some non commercial assets as placeholders can pose a problem if you do a demo with it/develop part of the game with it). I pitched it to the team, and our first conflict arose.

See, because we are a programming and lore heavy team, we don't (currently) have any artists. We don't have the funds to hire one either, and we aren't keen on letting someone we didn't work with in the past onto the founder circle of the game. It would also mean more work for me, because I'd have to supervise code, lore AND graphics. So using assets seemed to be the perfect solution.

Except people were squeamish about using money for something we didn't even start code on. (which is completely normal!)

Fortunately, a good compromise was quickly found. On itch.io website (like Steam but for indie games :3) there is a whole section dedicated to game assets...and a lot of them are free to use even for commercial projects.

YESSIR!

But it would also mean that we use our resources to scour these free assets to find some of good quality that could be used for our game. So no money spent, but more time invested.

All in all, a good deal.

We created another Trello board for assets, making sure every single one was reviewed before we would put it in our final game and called it a day for now.

  • Issues updates
In progress :
NPC
Backgrounds
Asset search
Classes
Complete description of the game
Stats

In review :
Powers
Lore reason for having a small party
Combat mechanics
Movement while in combat mechanics
NPC and a party
Setting
Item drop

To do this sprint :
Set up a Jira board for coding
Death and healing mechanics

Soooo yeah! Lots of details, but we are working pretty hard on everything. At this rate, I think we will be able to start setting up everything to start coding for Sprint 3 (next week). We will still keep part of the team into Lore planning, but BD and 2DMinecraft should be free to start on the skeleton of our game.

As always, if you guys have any questions on the process of making a game, programming, group organization and communication or anything else feel free to comment below ^^
 
Enkerzed Enkerzed

Thanks for caring <3

I had to move apartments so I took a break off RP Nation for 1.5 week. Progress is being made on the game (though last week was a bit more on the slow side), and I should post a mega-update in the following days !
 
I'll be looking forward to it. Just glad to know this thing's still alive. Also hope the move works out too. I know it can be a pain in the butt sometimes.
 
Big ass post, you have been warned.

SO! Now that my writing funk has subsided AND that I am comfortably installed into my new apartment (with a private desk, the luxury), I believe it is time to update what our team has been doing for the past month or so.

Sprint 2 - 4 - Slowing down and picking right back up
Ok. The good part of having a team of people you really enjoy working with, is that it's (almost) free labor when you want to move (pizza + beer, the perfect incentive). The downside is that they will be dead afterward when it comes to sprints.

Arghhhhh.

Still, the game is progressing pretty well, even without a lot of code, and we now have a solid base (hello 30 pages + compendium).


  • Of romance, inclusion and minorities​

First touchy subject that really occurred. If you follow the development of the game since the beginning, you may have noticed that we have 5 "main" routes possible. Now, we aren't the most diverse dev team that exist, we are all cis and mostly white (though from different places in the world), so our experiences are pretty limited.

Now the main dilemma.

What would we be comfortable to write about given everything? What kind of characters do we want? Would it be enough? Would more be pandering? Would we be able to give the characters justice?

Anyone that plays video games surely has seen the bashing certain characters and games have suffered (some rightly, some wrongly) when they included different orientation, religions, ethnicity or gender, or when they didn't included such specificity.

Do we even want to include romance in the game?

During the past sprints we settled on these questions for the main characters (the fairly big support cast is still not fully fleshed out yet). We wanted to write something we could relate to and we didn't want our players to feel like they were going to play the same 5 characters with different reskins. We agreed on only including romance on one route (with a pretty stable lesbian relationship) and focusing the bonds of the main characters towards their friends and family members (two of the main characters are brother and sisters after all!). We also agreed on making each character pretty different from each other, taking inspiration from different cultures that are close to us. The final looks will have to be discussed with a future artist, but for now picrew is enough to illustrate them. The main point is to avoid presenting characters like : see! see! We have an Asian person! Look how culturally diverse we are!

The question will come back on the table again for the support cast. And I'd be happy to have the opinion of you guys on the question!

  • Why we decided to go permadeath or bust

The healing, death and attack system are finished, complete with a spell and attack list to go with different classes. We decided to implement a permadeath system for characters and their party. Partly due to the feel of the game, partly because we don't want our players to feel like they can just cheese parts of the game without much consequences.

That will mean A LOT of focus and time when level designing.

We don't want certain classes to be completely useless after all, or some fights to be too hard/too easy. That means we will probably have less battles overall (unless the players wants to grind for specific items/goals) to reduce the risk of the player making a decision that will cost him a precious NPC. We will also need to make sure the player has enough time to recuperate between fights. But we hope that the threat of losing an unit will make the player cherish it's party more and make him invest in each member.

Though sometimes I wonder if we aren't making the game needlessy hard to make just because some concepts are really awesome.

That also means balancing each encounter...And since I'm in the level design team with 2DMinecraft, it means more work for me :(

At least working and studying in the CS field means we will have a lot of helpers when it will come to test the game.

  • Making a basic layout is hard

Good news! The complete layout and levels of the game are done!

Bad news! We now have to create it :(

All the positive and negative events possible have been sketched too. We now know exactly where we are going. We are ready to code.

  • Coding preparation

While the lore team has been working tirelessly on the culture and economy of the setting, the mechanics and the team lead have been working with the preparations of being able to (finally!) code. That means :

-Making a git lab repository for the project.

Because we need version control peeps. We settled on git lab instead of git hub due to privacy reason and the size of our team. Since I find version control in projects really interesting, I will be making a separate post detailing how it works and how we implement it in the following days.

-Testing different versions of Unity

Because a newer version of Unity may have more things to play with, but not all applications will work on it. Fortunately, the latest version works very well for everything we want :D

-Installing Unity + VS Code

You could think we simply have to click install, next, next and next and we'd be good to go.

NO.

We are in need of certain packages to make sure that what we code on VS Code will be updated on Unity. We also need to make sure everyone on the team download the same package and the same version of the package.

Tldr : 2DMinecraft wrote a one page tutorial on what to download and where so that everyone is on the same page. Bless him.

-Setting up a jira workflow

Remember when I talked about Trello and Agile development? Well we will using Jira to do the same thing as our lore and mechanics board but for coding. This system will help with bug squashing (detecting and fixing problems) and to separate the core of the game from the code. More to come on this subject.

  • To do this sprint (what you can expect I'll write on next update)
  1. Writing the coding standards
  2. Finish setting up Git Lab and Jira
  3. Making everyone download Unity and VSCode correctly
  4. Working on the UI design (with figma :D)
  5. Working on the item and ressource system

Small sprint, since a few members of our team are taking their vacations. As always if you guys have any questions or if you want me to write about specific points feel free to comment below!
 

Users who are viewing this thread

Back
Top