🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

ADIPAX - A new game genre (blend)?

Published April 15, 2017
Advertisement

As usual, I lead with an image from my latest round of testing. Planets now form hills and valleys, and here the nearby star is seen rising above the horizin of one. Things are moving forward.

But I'm not here to brag (in part because "it makes nice pictures" is not quite worth bragging rights, IMHO). I am here to answer a question no one asked, because dammit, blogging is all about being sufficiently self-absorbed to think people want to know such things about you, and I am to deliver!

The question is simply "what kind of game are you making (you weirdo)?" What am I making... Well, to make a short matter long, let's start with what I like to play. I started back in the late 80s on a ZX Spectrum (48k, y'all!), moving up through Commodores C16 and C64 until snagging an Amiga in the mid-90s. For the youngins out there, games looked different back then. Graphics were often so bad that any game became something more or less abstract, or it was kept simple. Like, really simple. I did have fun with one racing game, but the games that really stick were Elite, Civilization and Dune 2 on the Amiga. In order, those are a vast space exploration and trading game, a turn-based 4X straategy game (more on that, later), and probably the first real RTS, Real-Time-Strategy game ever made (ironically, Dune 1 was a somewhat tedious adventure / mystery game, as far as recall). I like games that involve a lot of thinking, is what I'm saying. Quick bang-bang action is not really my biggest thrill. Except in arcades, which back then had an atmosphere I cannot find anywhere today. There, I enjoyed especially old-school "bullet hell" vertical action scrollers, and certain other action-y games. Alas, the age of arcades is long gone.

I don't think I ever really got into PC gaming, and I never owned a console until 2011 when my parents gave me a Nintendo Wii (yes, I was a grown man, but my parents knew me well). As my Amiga gaming fizzled out, I turned to other things. Some were games, like (pen and paper) RPGs or boardgames, but I traveled a lot, went to college, had a business, became obsessed with movies, and so forth. Every time I tried getting back into games, it kind of felt bland. I did have fun with the old Starcraft game, but mainly because I played with friends, making it more about the social than the game.

About 5 years ago, I decided to finally try out a gaming fad that had been going around. There were some very odd videos online about a game, and they just would not stop making more of the videos. So I tried it. And for the first time, I got something I realized had been sorely lacking in games for me for a very, very long time: Freedom. That game was, of course, Minecraft. And no, I'm not a fanboy. I don't play it anymore. But I got probably a few hundred hours of game out of it, and it made me look into games once more. I found multiple small indie games that had a lot of thinking, both quick and slow (SSuper Hexagon ate so much of my time...). But what i realized I had always wanted, even back in my golden Amiga days, was freedom. Yes, freeeeeeeeeeeedooooooooooooooooom indeed!

Of the old games, Elite had the most open world, hands down. It was a simple and rather ugly game, but it had thousands of planets. and the later version, Elite: Frontier, boosted this by adding complex star systems. I still remember one mission above all others, where I sold my automatic landing system to make room for extra fuel, so that I could make a fortune from a rush package to a five-star system. As in, a system with five suns, not one rated +++++. And I never got through, because without auto-landing, the crazy gravity effects made any landing impossible, for me at least.

Civilization, and even moreso Dune 2 and later RTS (including Starcraft), suffered from some limitations that drove me crazy. Even the long tech tree of the Civ games seems stunted. It only goes to the modern era, it boils a lot of things down artificially to far too simple concepts (you can invent "the chariot", for example, which seems insane to me. A chariot is not an invention, it's a clever use of multiple inventions, and you should be able to make more than one version), and it pretty much pushes you to follow a specific path, with a few deviations of your own choosing. It easily becomes a variant of a point score. "How far along your tech tree are you?" should not be a simple question to answer! But the map was my biggest frustration. I felt cramped in even big maps after inventing a few basic transport technologies. I wanted more room to grow, and more things to build. Needless to say, Dune 2 and later RTS felt even more cramped. Freedom was not part of the deal.

And in the end, even Minecraft ran out of steam (no, not that Steam) for me. Mods promissed more freedom, but they became obsolete with nearly every new version, and support for modding was miserable most of the time. I sought out mods that expanded the tech tree (i.e. added more advanced crafting recipes), but even the best had a hard time really covering the gaps, and many would not work together. But my biggest gripe was with one mod that was made very early on, but the concept was refuted for a bunch of non-reasons by Mojang (the people who published Minecraft). That mod was Cubic Chunks. It's function was simple in theory, though no doubt a nightmare to implement: Minecraft works like a big grid map, with chunks at different X and Y coordinates, like the squares on a piece of graph paper (that's what you 'mericans call it, right?). Each chunk was 128 blocks high back then, though now I think it's 256, and 16 x 16 along X and Y.. But Cubic Chunks blew that away. It kept 16 x 16, but the height was changed to.... 16, as well. What gives?? Well, Cubic Chunks allowed the 'graph paper' to go up and down, too, along the Z axis. Suddenly, even the sky was not the limit, and you could build kilometers up or down!! And some other mods used thaat to make landscapes generate with huge, majestic mountains and deep canyons and caves. It was the next big step for Minecraft, the only logical way for the game to truly grow. And it never happened.

I want freedom. I don't want anyone to tell me how a game should be played. Give me an objective and some tools and stop getting in my way.

What is ADIPAX? It's a literation of 4D1P4X. A 4D first-person 4X game. I don't know if such a game exists, but it's what I want. 4X is the genre popularized by Civilization. The 4X are eXplore, eXpand, eXploit, and eXterminate. Go out into a huge world, grow in power, use whatever you can find to become stronger, and fight back anyone who wants to destroy you (or who has goodies that you want). But it's 1P. It's first-person, like a FPS, or one of those "hold back the waves of enemies" games that I can never remember the actual name of the genre for. Or Minecraft. So you exist, as a character, in your 4X game. You build your empire to whatever you want around you, not in front of you on a map. You walk the streets, the woods, the battlefields. And you develop tools to let you control things farther away, be they good communications, fast transport, or something else.

The 4D was a part that I added not long ago to the idea. Games, even the ones that have some sort of tech tree or other progression chart, are horribly static. Your objectives 1 hour into the game are rarely that different from your objectives 25 hours in (I like long games). I want a game world that can change over time, in part due to my influence. It might be a brutal survival game at first, only to become more Skyrim-like along the way, rising to RTS and later full-on large-scale strategy. Time changes the world, and time changes the game. Grow or fall behind.

If you take that route, of course. As stated, I want freedom in my games. If you want to remain the hermit survivalist from stone axe to cybernetic laser rifle, that's your choice. If you want to use your influence for riches rather than military might, nobody is stopping you. If you want to become the best damned hunter of certain aliens, sworn to bring down an entire race of alien enemies, all power to ya. And the thing is, the more I study how games are designed and made, the less this looks like a big deal. Modern games have a ton of features, but deliberately underplay most of them to focus the game on how the designers want them to be played. Stop telling me how to play. Once I bought the game, it became mine, not yours. If you want me to always go from A to B, pay me to do so. Otherwise, let me jump off your bus and go deep into the jungle to see what's there. My game, my time, my choices. And most games just seem to need to let me. The rest almost(!) takes care of itself.

So that's ADIPAX in a nutshell. A world that goes through changes, like the real world does, perhaps being a magical place of gleaming towers and dragons one day, a dystopian techno-hell the next (okay, maybe not from one day to the next, but...). And you get to walk within it, experiencing its wonders as you see fit, taking up challenges and growing stronger in any of a myriad ways. Build a base or wander. Hone your skills or trade for the best weapon at any time. Be part of a community or take what you want and leave. Your game, your rules.

That is not to say there will be no story, no overarching goals. But those are for another time....

3 likes 6 comments

Comments

Awoken

uh, yuck you make me sick... I'm so jealous.

so you'll have to tell me, how may polygons would you say a given planet is made up of? and.. and so many other questions.

You're project has many similarities to mine. I too want to create a real-time sim civilisation type game. a variant of the 4X genre.

I think we're seeing the beginnings of like minded, older, game developers who've always wanted a certain kinda game that over the years the industry just was never able to deliver. I wouldn't be surprised if in the next 5 to 10 years we'll see solid attempts to deliver on such promises. I hope to have a concept ready to go within two years max. It's interesting reading other people's spin on a familiar vision.

You're planet is stunning. Imho, but again, I'm used to looking at triangle worlds. :D

April 15, 2017 11:24 PM
Embassy of Time
[quote name="Awoken" timestamp="1492298646"]uh, yuck you make me sick... I'm so jealous. so you'll have to tell me, how may polygons would you say a given planet is made up of? and.. and so many other questions. You're project has many similarities to mine. I too want to create a real-time sim civilisation type game. a variant of the 4X genre. I think we're seeing the beginnings of like minded, older, game developers who've always wanted a certain kinda game that over the years the industry just was never able to deliver. I wouldn't be surprised if in the next 5 to 10 years we'll see solid attempts to deliver on such promises. I hope to have a concept ready to go within two years max. It's interesting reading other people's spin on a familiar vision. You're planet is stunning. Imho, but again, I'm used to looking at triangle worlds. :D[/quote] Jealous? Of me being so old? :-P But yes, you may be right that older gamers want certain things, but younger gamers are more catered to, probably because they are easier (just give them updated versions of what we had back then). As for planets, even a small one is gazillions of polys, but you only use a fraction at a time. The triangles will be color smoothed in the near future, I just need to make that system work properly. Other questions are welcome :-) And I would love to know more about your concept, too! Got a devblog??
April 16, 2017 06:58 AM
Awoken

hmmm.. well o.k. So are you dynamically creating a 2D texture based on coordinate position in 3D space and then based on that dynamic tessellation texture infering the three dimensional content of your planet/star? just taking a stab in the dark here. As for my project, I plan to have more on that soon.

April 18, 2017 04:58 AM
Embassy of Time

hmmm.. well o.k. So are you dynamically creating a 2D texture based on coordinate position in 3D space and then based on that dynamic tessellation texture infering the three dimensional content of your planet/star? just taking a stab in the dark here. As for my project, I plan to have more on that soon.

No, it turned out that going by a (rectangular) texture map was too much hassle. To make a very long explanation very short, I generate an octahedron and tesselate the 8 original triangles again and again, each new vertex point being moved to fit the circumference of a sphere. The uneven terrain is an added variable to that circumference per vertex, but that system is already showing a few limitations, as is the method as a whole (tesselation is slow, and I need to go on an efficiency hunt at some point in the not too distant future). I look forward to seeing your stuff!

April 18, 2017 07:24 PM
Awoken

No, it turned out that going by a (rectangular) texture map was too much hassle. To make a very long explanation very short, I generate an octahedron and tesselate the 8 original triangles again and again, each new vertex point being moved to fit the circumference of a sphere. The uneven terrain is an added variable to that circumference per vertex, but that system is already showing a few limitations, as is the method as a whole (tesselation is slow, and I need to go on an efficiency hunt at some point in the not too distant future).

Nice, I do something very similar. I start with an icosahedron and then expand out, and then much like your approach, once I have a big ball I change the surface. I came up with a technique which makes for fast-ish generation time with Javascript. Right now I can generate a ball of a million faces in ~8 sec. Cool thing about the alg is that each polygon has information about it's neighbouring polygons complete with draw-orders being preserved. I wrote a journal entry about it in my Gamedev Blog which I think you should be able to check out if it interests you. I have no idea what other techniques are out there, but the one I use meets my needs. And by all means what you're currently doing might be much speedier than my approach.

April 19, 2017 12:44 AM
Embassy of Time

No, it turned out that going by a (rectangular) texture map was too much hassle. To make a very long explanation very short, I generate an octahedron and tesselate the 8 original triangles again and again, each new vertex point being moved to fit the circumference of a sphere. The uneven terrain is an added variable to that circumference per vertex, but that system is already showing a few limitations, as is the method as a whole (tesselation is slow, and I need to go on an efficiency hunt at some point in the not too distant future).

Nice, I do something very similar. I start with an icosahedron and then expand out, and then much like your approach, once I have a big ball I change the surface. I came up with a technique which makes for fast-ish generation time with Javascript. Right now I can generate a ball of a million faces in ~8 sec. Cool thing about the alg is that each polygon has information about it's neighbouring polygons complete with draw-orders being preserved. I wrote a journal entry about it in my Gamedev Blog which I think you should be able to check out if it interests you. I have no idea what other techniques are out there, but the one I use meets my needs. And by all means what you're currently doing might be much speedier than my approach.

I would love to read that, can you provide a link??

And I don't think there are many large-scale world gen algorithms out there. I looked, and kept getting Perlin Noise articles, which are okay for basic terrain but do not really cater anything special to large-scale worlds (which might be why Minecraft terrain seems to be made in roughly the same way everywhere in the game; they used to use Perlin Noise, but expanded it to their own formula). It's pretty impressive that yours works in JavaScript, wow, mine is C++ and I need to look at oprimization soon, or it will bog down hard :( Right now I struggle with a bad case of the flu and imminent collision with the Tax Service over money they owe me, so I'm a bit on the down low, but I hope to rebound soon enough!

April 23, 2017 07:03 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement
Advertisement