Archive for the ‘Other’ Category.

Map generator (open-source!)

Well, that sure took a long time! I’ve promised to release a tutorial of how my map generation works multiple times over the years; for various reasons I haven’t managed to fulfill that promise until now. But better late than never, eh?? EH???

I kinda want to add a tutorial for generating towns as well, plus adding names for the different biomes. On top of that, road generation & area-of-influence generation are the two big things missing; the former is basically just A* so it’s not super interesting, but the latter might be a cool thing to add as well. We’ll see! No promises.

GET THE GENERATOR HERE!

 

The generator is fully MMF2-made, but should run on Clickteam Fusion 2.5, assuming that you have the plugins required. There’s a nice little executable included, so not owning MMF2/CF2.5 doesn’t prevent you from toying around with the generator!

The plugins required are:
– ‘Surface’ by Looki: http://lukasmeller.com/mmf/extensions/beta/Surface1.5.zip
– ‘MT Random object’ by Chris Branch: http://www.clickteam.com/webftp/files/mmf2/Exts/MMF2ExtPack1.exe

I’m not sure how the MMF2 Extension Packs work these days since the program itself has been discontinued; if you can’t install it, tell me and I’ll try to resolve the issue (or contact Clickteam).

Questions regarding platformer development

I was asked these questions on Twitter and since Twitter is Twitter with its letter limits, I decided to import the questions here and answer them more elonquently:

What are the key features a 2d platforming game should have?
“2d platforming game” is a fairly abstract concept and defines only a very small part of a game’s design; there are 2D platformers that vary from each other greatly, and most of their defining features don’t stem from being 2D platformers but rather from other things. Technically I could try to find some defining features that 2D platformers should have that aren’t dependent on other factors, but the list of said features would be pretty limited. Let’s try:

Things a 2D platformer needs to have:

  • A playable character
  • Sideways perspective
  • Obstacles that block your way or offer something to stand on
  • Gravity (although even this can be done without)

There are also things that 2D platformers usually have, such as collectibles, goals, failure conditions, enemies, HP, lives, levels, environments etc., but with a strict definition none of them are required to call a game a “2D platformer”. (Note that the list of things 2D platformers need was just something I made up on the spot, I’m sure there are valid arguments to reduce even more things from it!)

If someone were to learn game development via making a 2D platformer, I’d say that using something like Super Mario Bros. as a guideline on what’s expected from such a game could be the best way to go, because it contains all those strictly platformer-related concepts listed above, but also lots of handy learning opportunities in form of those other, less definitive but nonetheless handy things such as coins, score, level progression and losing.

What’s the best art style for a side-scrolling platformer?
This is a very subjective question! The definition of “best” definitely hinges a lot on both the budget and the personal taste of the developer. The game screen should be easily readable, i.e. it should be clear what is background and what is a wall, an interactable object etc., but there’s a huge amount of options to choose from in terms of unique artstyles that achieve that, and whether one of them is better than the others depends entirely on the opinion of the player/developer.

I’m personally rather biased towards retro-style pixel art graphics with stretched pixels (see: Cave Story, Eternal Daughter, Maldita Castilla). It’s important to note, though, that even stretched-pixel pixel art doesn’t have to look retro (see: WitchWay, Fez, Hyper Light Drifter for a non-platformer example) and that non-stretched-pixel pixel art is definitely also an option and can be achievable by a smaller team (see: Within a Deep Forest, IJI). Outside of the realm of pixel art things require a bit more work pretty quickly which might not be worth it for a smaller team, but on the other hand the results can be sweet (see: Saira, Braid, LIMBO). Taking a nonstandard approach to the artstyle might also be a good option (see: An Untitled Story), so nothing’s really that clear. These are obviously just my own personal tastes!!

If I were to suggest an artstyle for someone making their first 2D platformer or aiming to learn game development, I’d probably recommend something like the visual style of the NES Megaman games; stretched pixels, limited colour palette, very high readability, fairly easy to work on, tile-based background art to lessen workload and so on.

What type of music would go well with a pixel art style?
I don’t think I can really answer this properly. “Pixel art style” in itself is such a vague concept that depending on other factors pretty much any kind of music could go well with it. There are good examples of orchestral(-style) music (see: Owlboy, Titan Souls, Gods Will Be Watching), retro-style music (see: Cave Story, Spelunky classic, Shovel Knight), music with more modern instruments that I can’t think of a good category name for (see: Nuclear Throne, IJI) or minimalistic electronic music (see: Within A Deep Forest). Games like Undertale combine stuff from several musical styles very successfully, and some utilize existing music as their soundtracks (see: Space Funeral, Hotline Miami).

Again, retro-style chiptunes might be the easiest way to go, but really the answer to this question is pretty much “anything”.

EDIT: I actually haven’t played Owlboy and added it in because I checked that it has an orchestral soundtrack and pixel art graphics. I’m fairly certain that the musics fit the game but I implied too much up there. My apologies!

Nordic Game Jam 2017!

voittoisuus
(Cool photo & cool cake by my girlfriend, Anni :3)

Nordic Game Jam 2017 was last weekend, and I ended up winning it with my game, Baba Is You!

I went in not really expecting much; I wasn’t initially really in the mood for making new games so the plan was to kinda feel the situation and possibly just work on ESA 2 and/or Snake Game. The theme of the jam was “Not There”, and at some point it got me thinking about “not” as an operator in programming/logic. This in turn made me think of a puzzle game where the game logic is part of the game world, and eventually this idea turned into my entry. I was expecting to run to some really hairy coding problems and not be able to finish, but hey, that very much didn’t happen!

notthere

I’m not totally sure where to take the game from here; during the event my plan was to polish it a bit and release it mostly as-is, but since people really liked it and it even raised some philosophical considerations in some players, I think I’ll be working on it further.
hihi
notthere2

Download the game on itch.io!

 

In other news, Environmental Station Alpha’s second anniversary was also last weekend, and I almost completely forgot to announce the sale that went with that. Oh well! Let’s hope we won’t get to its 3rd anniversary before ESA 2 is done.

Next up in the indie gamedev event schedule will be No More Sweden in June; we’ll see what happens there :O

TURTLES

ITS NAME IS BLOCK THE TURTLE

THANK YOU ANNI

Another student magazine cover

002_small

So, another cover illustration for the psychology student organization’s magazine, Kompleksi. I made this together with my girlfriend (<3), it was great fun to work on! The theme of the magazine was "celebration", so we went with a fantasy party. Click the image to go to the DeviantArt page.

Weekly progress post #51: Minigames

Today I started work on redoing a thing that I’ve been very unhappy about in ESA 2 for a longer time; there’s a sort of a minigame related to the teleport system that I implemented really clunkily back when I initially started working on the game, to the point where I kind of dreaded working with it later on (especially since I’ve forgotten how it works, exactly). The new implementation is way better and I’m surprisingly close to the stage where I stopped working on the system previously! This implementation will also support other minigame-type things better, although I wont talk more about those now because I kinda want to keep them under the wraps. A new room was also finished, along with some work on that fantasy RPG battle cinematics thing seen above. All in all, a very fun stream! :)

Adventure cards!

cards

A friend requested me to draw some cards for their tabletop game, and here we are. It was a lot of fun to make these, especially since I wanted to try to make those “proper” border patterns etc. Also got to extensively try out these new inks my girlfriend bought me (thanks <3)!! The result is very homemade-looking but I'm very happy with these in any case. The font used is Avara.

Deviantart link to the cards

So yeah

Lots of awful things going on right now in the world; kinda afraid but maybe writing a couple things matters, if only on a personal “here’s how I feel” way. A lot of these ideas originate from my girlfriend, who’s a very very smart and insightful person.

– Nazism and fascism are really terrible & inhumane worldviews and shouldn’t be supported; instead there ought to be active work to really drive home why they’re awful ideologies. Some people will probably never learn, but a majority showing that they don’t want said ideologies to their lives is the most important thing for ensuring that things can get better.
– People should be treated as equal, no matter what their ethnicity, religion etc. is. All consciousnesses are important and should be allowed to lead meaningful lives with as little suffering as possible. Ensuring this for as many as possible is the end goal of all legislation. “For the greater good” isn’t a good argument nearly 100% of the time because being able to argue for it would require complete factual knowledge of the situation and how the different outcomes would increase/decrease suffering (which almost never happens).
– A mindset that aims to increase the happiness of a group of people via making others suffer is wrong. Increasing the suffering of a consciousness is disproportionally worse than increasing the happiness/pleasure of another. We cannot estimate if one person’s suffering is equal (or of equal “worth”, although saying it like that sounds wrong) to another’s and thus we cannot argue for actions that are based on the assumption that they are equal.
– Increasing a person’s understanding of the world is the best way to ensure that they can make meaningful choices in their life which do good things that lessen suffering in the world. A worldview that isn’t based on factual knowledge, and especially one that actively opposes factual knowledge, will lead into choices that hurt others but also the person making said choices, even if they initially do not feel that way.

So yeah, I feel that things in the world have mostly progressed positively towards a world where more people out of the Earth’s total population can lead meaningful lifes, and really hope that people who short-sightedly seek the advantage of their small in-group at the expense of others don’t manage to undermine this progress, be it Trump, neo-nazis, populists or anyone else.

Image Generation Algorithm

Well then!!

I decided to release the image generation algorithm I’ve been working on. I feel that I went kinda overboard with the legal license stuff but it seems that those are the norm, so hopefully everything is okay there. Please tell me if not! The zip contains an executable, the source file, lua files for the algorithm and a variant with wrapping enabled as well as a readme file.
 
Again, this algorithm is heavily based on the WaveFunctionCollapse algorithm by mxgmn.
 
To open the source file, you’ll need two MMF2 extensions:
Surface by Looki
Xlua by Justin Aquadro

GET THE ALGORITHM HERE

wfc9

Procedural generation is dear to me.

After that previous post I decided to finally add a ‘Procedural generation’ tag for my blog, and went through all the posts to tag them if applicable (with games like Excavatorrr I mostly tagged posts with pics!)

It made me very happy to realize that my blog has essentially begun with a procgen project (Excavatorrr) and continued to feature said thing frequently through the years. If I look at the stuff I’ve made, a nice amount of my games incorporate procedural generation in some form (Masjin, CWOUN, Excavatorrr, Paradise Fort, World Generator off the top of my head), and this recent interest in things like theĀ WFC algorithm and Markov chains provide evidence that my interest in procgen hasn’t really waned. Quite the opposite, I guess!

So yeah. Thanks, procedural generation. U the best.