Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

302 | A 2D RPG sequel to '300' for the Awful Summer Game Jam 2018

A topic by Adam Beedle created Jul 07, 2018 Views: 3,489 Replies: 16
Viewing posts 1 to 17

Over the next three or so weeks I need to make a game for the Awful Summer Jam. When I woke up this morning and saw the theme I blanked,  struggling to come up with an idea for an 'Unnecessary Sequel' .  After an hour or so I managed to come up with the passable idea of a 300 sequel.  It's poor, and definitely won't win the theme category but it should hopefully allow me to make a 'fun' game. In addition to this Devlog which I intend to upload to daily I'm also making weekly videos documenting my progress, which will cover development more briefly 

I designated around two hours to basic planning to come up with game, story and mechanics. This is what I ended up with, which is all subject to change:

  •  'A 2D RPG sequel to 300 set in Italy where Leonidas's cousin, Leonardo, is invading. The main loop would be killing roman soldiers, upgrading equipment/ stats and then repeating in order to complete the win condition: killing the legion leader in the roman camp. Leonardo would have two attack types, sword attack and a This Is Sparta style kicking, as well as a roll mechanic in order to dodge enemies. All attack and movements will be tied to stamina.'

I then went about planning my development schedule. Week 1 consists of implementing  systems and mechanics, Week 2 of creating environment tile sets, level design and quests, and Week 3 is left for polish, play testing and anything not finished by then

For today, I wanted to set up movement and animations for the player. For Leonardo's design, I leaned heavily on references from the film, as well as the style of Bannerman's characters:


By the end of the day these were the tasks I had completed, meaning so far I'm on schedule:

  • Planning
  • Implement basic movement
  • 4-Directional idle + running animations
  • Implement animations

Basic Movement Animation (Shit Quality)Idle AnimationIdle Animation

(Apologies for the shite quality of the running gif)

Day Two. I got up at lunchtime to have breakfast because I had spent most of the night before finishing and implementing the running animations. That set the whole day off track. In my plan I was supposed to create and implement roll and attack animations for the player, however by 2:00 in the morning I hadn't even started the attack animations. Great, I'm already behind schedule.  I decided to call it a night and push attack animation to the next morning, which is when I'm writing this now.  I managed to complete attack animations in two hours, but now both rolling and attacking have very slight graphical bugs I'll have to iron out at some point down the road


In total what I managed on day two (including this morning) was:

  • Create roll movement
  • Create and implemented roll animations
  • Create and implemented attack animation

For the rest of the day I hope to get a start on enemy AI as well as a basic design. However most importantly I need to sleep so I can work more in the morning. I'm new to game dev, with this being hopefully the first game I finish, which is probably a bad idea as I'm not only throwing myself in the deep end but I have no idea how long each task could take me, so I'll probably end up scaling back the scope depending on how far behind I get

(2 edits)

Day Three. I managed to complete everything on the day's task-list this time, so I'm back on track. To begin with I set up a very simple enemy AI which just follows the player continuously once triggered within a certain radius and stops when it gets within attacking range of the player. Not sure yet if I want to set up some sort of path-finding, it just depends on how it plays on testing and if I have time but for now the system works fine


For the rest of the day I designed the base enemy type: a legionnaire. At the end I would like to have at least two or three types of enemy, such as legionnaire to centurion to general (in ascending order). The design time was significantly less than with the player character, probably because I already had a sort-of template in the player but also because I have become more comfortable using Aseprite, which I only started using this jam. Because of this, I also managed to finish idle animations for the legionnaire, getting a head start on tomorrow's tasks.


In total I did:

  • Basic Enemy AI
  • Configured Unity's Layer Based Collision Matrix for the Enemy and Player
  • Designed Base Enemy
  • Animated Idle for Enemy

Tomorrow I would like to finish animations for the enemy, implement attack and knock back for both enemy and player, implement kick for player and if I have time revamp the player's movement script to remove a bug where he's unable to roll when moving up-left diagonally

(2 edits)

Looking at the schedule for day four I already knew I had probably over-scoped, however I didn't expect to get so little done. I had planned to animate enemy attacks, implement attack detection for both the player and enemy, add knock back and animate and implement a kick for the player. In the morning I managed to quickly animate the enemy attacks, and then implement them just after lunch:


Next up was attack detection. As the attacks were animations from the player/ enemy, I would have to create a child game object with a box collider as a trigger, enabling and then disabling it for attacks. I managed to set up this system with the player's attacks relatively easily, however the setting it up for the enemy became harder. It didn't need to be, as pointed out to me later, but for some reason I thought unity worked differently and ended up massively over complicating it

Eventually I managed to work out an unnecessary solution but that had taken up almost all my time, and so I was barely able to implement knock back before the end of the day. Again I've had to push a task to the next day, which will be adding kicking to the player, as well as fixing a bug in the player's knock back if running away from enemies. I think the problem with today is a combination of my inexperience as well as over scoping. I also have work tomorrow so it’s unlikely I can get all that done too


(1 edit)

Day five was meant to be a light day, mostly because I had a work shift in the afternoon. Despite animating and implementing kicks getting pushed to day five I still felt I could complete both that and a stamina and health bar system. I thought that as I already had a knock back system implementing kicking would be simple. I was wrong. In the morning I finished animating kicking and moved on to fixing a minor bug. It ended up being a simple fix, but for whatever reason I had just broken the knock back system. I couldn't finish it as I had to go to work so I had to leave it for when I got back


Back from work and ready to start jamming again. Well, not quite. I was tired after work and only managed to fix the knock back system before going to bed. This is the second time I've had to push back the health/ stamina system, leaving me only two days in the schedule to complete basic systems including inventory, main menu, pause/ save, map and quests. Looks like I'm going to have either no content or no polishing/ play testing time at the end of it. Even though I only work one-shift a week on a low skill job as I'm still a student (I don't understand how people working full time can jam) I had practically no energy left to make something. All in all, what I managed to do was just:

  • Animate kick
  • Fix minor graphical bug
  • Break and then fix knock back system
(2 edits)

Day six. Back on schedule again. It seems like its every other day I'm either behind or on track. First to do in the morning was implement the kick mechanic, which only took me around an hour max, which was nice. Like attacking, the exact moment when the trigger is enabled isn't quite right, and I'll need to change it at some point to only be active right at the full extension of the kick which should be easy, but for now it works.

Next up was stamina and health bars. I quickly created some different ideas including a heart system like Zelda, but ended up with a very simple bar with a white outline. I quickly created all the values for health and stamina for the player, as well as regeneration and how the values are taken away/ given damage. I then took a break to watch England lose, which took some time to get over, but by the end of the day I had fully implemented both kicking and stat bars:


Tomorrow I will make a main menu, which should be pretty easy, and the only thing that will take a significant amount of time is drawing the background scene. I don't think I'll implement a save system as the game should be relatively short, around 10-15 min for a full play-through.

(2 edits)

Day seven. Unusually I managed to stay on schedule today, completing the main menu by around 10, leaving me time to write this now rather than tomorrow morning. Because of how relatively simple making a main menu was, I was able to spend more time on art. There were two main assets needed for the menu: a title/logo and a background. Both ended up being very heavily inspired by 300, with the background landscape actually being an edited frame from the film, which was then traced/ filtered to create a pixel art background. This is the original image:


The menu just loads the test scene, but I plan to have a cut-scene scene play out before the game starts. Overall the colour scheme of the menu matches what I want the games general colour scheme to be like: saturated yellow/oranges and blues and maybe a bit of green thrown in as it is Italy. In general, I'm very happy with the menu, and it makes it feel more like a 'game'


Tomorrow I'll set up a pause menu (which is separate from the character menu) and also, as previously mentioned, I'm making a weekly video devlog, and so I'll also spend a large part of the day editing footage and recording the commentary. I'm not sure, but it will either be released tomorrow or on Saturday, and I'll link to it on the day's devlog

(2 edits)

Day eight. One week into the game jam and I'm (just about) finishing the main game loop. It needs polish, as well as an upgrade system but it works. I spent the morning creating a simple pause menu. As stated previously as the game is so short I won't implement saving, so I added a warning message to the quit button. In the future I might add an 'are you sure?' popup for accidental clicks

For the afternoon I started collecting this week's footage together, and recorded a commentary for the devlog video. Right now it's rendering, and so it should be released around saturday evening, but I'll also link to it in tomorrow's post. Tomorrow I want to polish the game a bit and package it for a small amount of play-testing, ready for Week 2's upgrade system implementation and level design

Day nine. In the morning I finished the devlog video and posted to YouTube.  Because of my potato laptop, the render time was around 2 hours, cutting down on today's dev time, but I guess that may be partly because I thought it was a good idea to record timelapses in 4k

After that I set about today's schedule, which consisted of minor fixes and polish in order to complete the main combat loop of the game. I'll do a small bit of play testing tonight to see if I'm going in the right direction. All in all, what I did today was:

  • Added camera shake
  • Fixed enemy attack direction
  •  Removed player-knock back to make it easier for enemies to combo
  • Animated and implemented blood


(2 edits)

Day ten. Despite wanting to start on tilesets, I decided to 'polish' the main combat loop first. Even though I haven’t done anthing else for the past week and a bit, with the halfway point just a few days away, I feel all the main mechanics need to be done before I can start making levels. To start with, I implemented death animations for the enemies to make killing them even more satisfying:


After that, which took a while to animate for all for directions, I moved on to displaying damage values and adding money. This took me up to the evening, at which point I had a small break. The last thing I did was animate diagonal attacks for the player to get 8-directional attacks, instead of the 4 I previously had. What I ended up doing today was small, but all combined it adds so much to the feel of the combat:


Day eleven. Today was the day I could start on environment art. Systems were finished, well nearly, and now is the 'fun' part. In the morning I finished the last basic mechanic, respawning. As there won't be a save system, I've added a monetary cost to dying. At the moment with the money system you can get in debt, which I will either keep or change depending on how it plays:


In the afternoon I started on making ground tiles. Starting with the path tile, and then moving on to the base dry grass/ wheat tiles. I also created rock and grass clumps that can be added in to break up the uniform edges of the tiles a bit. Right now it looks basic, and the tiling is very apparent in the grass, but with large rocks added in, and different grass types for different map sections, it should look good. Additionally, I will be doing light colour grading in the polish phase, which should tie everything together. Overall, I'm just happy to get rid of the disgusting placeholder grass texture I had:


(1 edit)

Day thirteen. There wasn't a devlog yesterday because for whatever reason all I did was draw a rock. That's it. Today however was much more productive. Now, at around the halfway point, I need to start on actual gameplay/ levels rather than just mechanics. I started by drawing a world map on paper, to get an idea of what I'd be making:


I then imported that image into unity as a template to build the world on top of. I started by  putting in path tiles, then overlaying grass. After that I went around the map adding grass clumps and rocks to pull it all together and hide the tiled look slightly. Lastly I created a campfire object for the small enemy spawn sites:


To finish the day I animated the fire's glow to flicker, and added a spark particle effect:


Day fourteen. In terms of progress, what I managed to do doesn't seem large, but due to the repetitive nature of the task as well as the length, it took a while. I created several rock assets, and started to bring them into the map as borders. I also added smaller rocks and grass clumps around them to tie them into the world, and I also created beaches, one for the lake and one for the sea:

I then added a different glow and particle system to the area at the bottom point of the map. Tomorrow I hope to pretty much finish the map, aside from spawning and water effects. I also have to film a devlog video tomorrow, so I might get behind schedule a bit

Day sixteen. Most of today was taken up by editing the devlog video for week 2, which can be seen here:

However after I managed to finish the world map design, by creating both camps for the roman and the Spartans. With just over a week left, I really need to start pushing development, and so tomorrow I hope to create and implement the two other enemy types, which should take far less time as I already have the basic template for the script and animations in the base enemy


day seventeen. One week left. In the morning I started on a simple enemy spawning script. Right now it works, but I still need to get the re-spawn time right. I might also make it so that if the player is near the spawn site, enemies cannot spawn. Moving on to the afternoon I started work on a new enemy type, the centurion. It deals more damage and has a higher health rating. It was relatively easy to implement as I already had the base enemy script, which only required a small amount of tweaking. What took the majority of time was modifying the legionnaire's animations for the centurion:


Finally I fixed the enemy collisions between each other so that now they don't clump together into one ball of enemies that can kill the player in two hits, but also so that they don't send each other flying when colliding when knocked back like snooker.

Day 21. I took a break from the game for a couple of days, but now I'm back. To start with in the morning I made the NPCs for the spartans as well as the old man in the woods:


I then went onto the dialog system, as well as the back end for quests. Right now the game is playable, with the only things missing is the map,  sounds and an end screen


Day 22. Today I needed to make a map/ objective menu. I started by taking a screenshot of the whole level in the unity editor as a base to build the map of. I dropped that image into aseprite and put it in the background to trace over. After around 20 minutes I had a small pixel version of the world map. As the world is relatively small, I went with the decision to have quest markers on the map but not a player position marker, partly for gameplay to make navigating the world slightly more challenging, but mostly for simplicity. In the end, this is what I ended up with:


Tomorrow I want to make a win screen/ game over, as well as the music.