I’ve entered … hold on … let me check … 23 Ludum Dares and completed 23 compo entries. I feel good about that, so when this year’s 7-day Roguelike compo began, I went for it. I had worked on something for the 2015 7DRL, but due to a death in the family, I was unable to finish.  To spare you the read, I did not finish this year. If, however, you’re interested in my thoughts about a 7-day game jam, then read on!  Is anyone still here? Oh! I see you raising your hand in the back there … thanks for staying.  Anyway, let me start by saying that I approach every game jam and project with the intention of learning something new whether it’s a new way to code, new language, new tools, new art techniques, or whatever.  With that in mind, even if I don’t ultimately finish a project and manage to submit it, I can still feel like I’ve accomplished something. I’m taking away several of those things from my 2017 7DRL project which I entitled “Vengeful”. I think, though that you might be more interested in what I feel ultimately led to me not completing the 7DRL this year. The thoughts below could apply for any time-limited game jam you may find yourself in.

7 Days is Too Much Time

Coming from Ludum Dare, 7 days seems like a huge amount of time. You should be able to do so much more with that 5 more days, and you can, but not as much as you’d think. Scheduling and prioritizing tasks is pretty crucial in these types of exercises, but there is something different about the craaazy quick pace of development when doing a 48-hour Ludum Dare vs a 168 hour 7DRL project. With only two full days, many ideas for features and additions go into my brain on one side and pass right out the other. The mental filter for features/ideas I can fit into 48 hours keeps all but the most simple things out. Feature creep can debilitate your project and be the difference between a successful submission and a failure.  For some reason, the 5 extra days seemed to loosen that mental filter for me and allow tangents that would sometimes sink several hours. Normally, I write down a list of minimum features and requirements that must be finished for the project to be considered completed.  I do this with Google Keep, and it really does help with the focus aspect. Plus it is fun to be able to cross off items on the list when you finish, so you can see progress. Lesson: Plan your time, use TODO lists and finish the absolute minimum FIRST.

Art? It’s more about the story and RPG mechanics

I though that it would be fun to draw my own art for the game, and it was.  This was one of those decisions that I learned from and got some good pixel art practice, but that contributed to my eventual failure to produce an entry.  According to the rules I could find, you can use existing artwork and I saw several people using existing tilesets from opengameart.org which was a good idea. Roguelikes are somewhat of a different beast than your normal match 3 or platformer games in that there needs be story-driven elements along with an interesting RPG system. The writing element is a much more important part of the process, so much so that, if you have a good story and good game mechanics, the graphics can largely be ignored. That is a key feature of all of the best old-shcool roguelikes (my two favorites are Brogue and ADOM) wchi have ASCII graphics, but interesting storylines and RPG mechanics, procedural generation, random items, etc. Lots of content. Much more than most other games. These elements should not be ignored and certainly not sacrificed for some non-ASCII graphics. Lesson: work on story, RPG mechanics, and content (items, monsters, etc) then if time allows (which it won’t) do your own art

Preparation is Key (when is it not?)

Although I’ve been dabbling in Lua and the Love2D framework, I decided to use Unity3d since I’m quite familiar with it. This was a good decision, but I should have considered the complexities of a roguelike combat system ahead of time.  Making a combat, creature, and item system that is simple, flexible, and enjoyable to play within is not something that I can do in 7 days. Not at least with all the other work that needed to get done.The RPG system code is a crucial piece and not something you see in other genres.  I did have some code I had created for cellular dungeon generation a while ago that I dusted off, but even that required a bunch of fixes/additions.  Aside from my basic generic C# Unity3d game framework, I had to create all the code from scratch, and while fun, was not the best use of my time. The 7DRL rules does allow for use of external libraries and pre-existing code which I did do, but there were still too many other code pieces I ended up having to create during the 7 days.  Lesson: Assemble/create your code base several weeks beforehand so you have time to make it good and solid. That way you won’t sink too much time into improvements/fixes during the competition.

 

Well that’s all I have for now. I’m not sure what I plan on doing with Vengeful. I still have several ideas about mechanics and things that I’d like to add. If I do anything interesting with it I’ll be sure to let you know, but for now I need to get back to work … making games …

This last month of April was a patchwork of different things for me with Ludum Dare 35 appearing in the middle. Before LD35 as I normally do, I took time to look at some alternative tools/languages to the Unity3D C# set that I usually use.  The LD competition is a great time to learn something new. There is no better motivator than a hard deadline. There are many game creation tools out there and they are constantly being update/upgraded and new ones come online all the time. There are a few that I look at again at least every few months to see how they are progressing. Here is a list of some that I either read up on or tried out:

  • Atomic Game Engine – An interesting javascript/typescript engine with a component-based architecture and a Unity-like editor. I really wanted to like this one as I do want to get more into Typescript, but I found the editor controls and asset import capabilities to be lacking and clunky when compared to Unity3d.  That doesn’t mean I won’t revisit this one in a few months to see what has improved.
  • GoDot Engine – This is one of the coolest ones in my opinion, but in its current state as I tried it, it was unable to produce a stable WebGL build of one of the simple demo projects. That made it a definite no-go for the Ludum Dare competition. If you want more people to play your game in a compo, you should really have a web version available. People don’t like to have to take the extra step to download, then unzip, then double click to run your game. Games with installers are even less liked (I typically will not review compo game with an installer). Something else that I don’t like about GoDot is that while it is also component-based (which is good IMO), it uses its own made up Python-like language for scripting. Why not just use Python, or a subset of it or something?
  • Love2D – This one is a C++ engine with Lua bindings. While it uses one of my favorite scripting languages, it does not have an editor to help with asset importing or level design. Also, while there are some 3D libraries for it, the engine was not designed with it in mind as far as I’ve been able to determine.
  • Duality – 2D only C#, component-based, Unity-like editor. I haven’t tried this one out, but my general sense it that Unity3d would win this fight.
  • Unreal Engine – A big player in the game engine field. This engine is packed with features and is pretty much free unless you make a game that makes lots of money. Then you have to pay them, but I wouldn’t mind since that would mean I’d raked in lots of dough. My issue with this engine is C++. Yeah I know about the visual Blueprints scripting system, but as a coder, that doesn’t appeal to me. I also don’t want to deal with C++ crud when I’m trying to design a game. C++ is a strange thing for me. I like it, and I hate it at the same time.
  • Haxe Flixel – Mostly because this is a Haxe library and I think Haxe is really cool. It can transpile to many different languages (C++, Lua, C#, PHP, javascript) which means that the output from it can run on just about anything. I definitely plan on messing with this one at some point.

Every time I do this, I am reminded of how strong the Unity3d ecosystem is. For me, it gives me the most productivity and the widest platform reach with the best tools at this point in time. That doesn’t mean, however that I will stop looking for something better because after all programmers like shiny things.

In case you don’t know about Ludum Dare, let me give you a quick run-down of it. It is a Game-making competition that is held 3 times per year where participants have only 48 hours to design a game. The game must be designed around a theme which is revealed at the beginning of the competition after the community votes on 4 rounds themes.  Once the competition starts, you have 48 hours to create your game, and all code, sounds, graphics, etc. must be created by you within the 48 hour window. The theme for this Ludum Dare competition ended up being “Beneath the surface”. In addition to that theme, “We must go deeper”  was another top vote-getter, so I figured that it was quite possible that one of these two could be chosen. I started thinking about what I might do if one of these themes were chosen. I wanted to do some sort of 3D first-person puzzle game that you get thrown into with little explanation except for the controls. The game’s narrative and plot is revealed through a series of notes that you find throughout the game from someone who was in your same position.  I knew this would be one of my biggest project in terms of scope for any Ludum Dare I’ve done (I have entered and completed 15).  That turned out to be a bit of an understatement as I took this one down to the wire and a couple of bugs had me quite worried at the end.  However, I managed to get it all together and get it submitted before the deadline.   I even managed to throw in some cool image effects which I think add to the experience. With that, I present to you my most ambitions 48-hour creation to-date: Epsilon Adventure.

Title
EA2

 

EA7
EA8