Conga Dev Blog
Teaser Version ReleasedMay 26, 2017
Stable version of the Conga editor released.
Click the link to download.
|Conga Teaser 0.01
||Click here to download.
|How To Install
- Unzip to your desktop.
- In the folder where you unzipped this, click on Conga_d.exe to play the game.
- Note: Your graphics card MUST support 32 bit depth buffers for this to run.
Sorry. It's fixed in future versions. (Thanks to Ludum Dare 38 for revealing this)
|How To Play
- Press "E" to go into edit mode
- Click and drag with the right mouse button to look around.
- Use W,S,A,D to move.
- Use the tool icons to change edit modes.
- Use the left mouse button to edit the world.
This teaser is only a part of the game. There will be many
changes before the official 1st installment, but for now you can play with the world.
Build houses, drop some objects, break the unstable physics system and soforth. The data files are also moddable and there's
some vague instructions in there. I'm not responsible if it crashes.
Conga isn't well known, so if you like it please tell your friends. The more support it gets
the better it will be and the faster it'll get released.
UpdateMay 25, 2017
You won't see anything new visually for this game. Under the hood a lot of new code was written, and the
old, simpler code was ripped out. But it wasn't intended.
Progress? Sort of.
During the last week of April my hands were killing me. I was in a bit of a panic as well.
Gave my library of books to the goodwill. You an go to the goodwill
in O'fallon Missouri and find books on quantum computing and philosophy of law. I don't miss them.
You never own anything longterm anyway.
In Conga I ended up
doing a lot of work that wasn't needed. Consequentially, I introduced bugs that I couldn't figure out what was wrong. A lot of
stuff wasn't rendering. Quite the shitshow. I broke it, and I wasn't motivated to fix it.
I didn't make any progress for 3 weeks.
Except play FFXV. I got to play a new game for the first time in like, a year? That was nice.
Conga is a more advanced system now, but it took a while to get stable. It still doesn't have what Vault engine had (10 years strong).
I may never work on Vault again. There's a lot of life problems in the way. Conga however will make progress.
I ported the deferred lighting path from Vault, which save for a lot of headache wasn't really needed.
In the end I figure I will probably go the same route Minecraft did and light each world block individually with
forward rendering, instead of
make all those computations in screen space.
However, if we want lots of beautiful lights in Conga, we got 'em.
Not proud of that, but I AM PROUD of the shader system. I've written 2 OpenGL shader / render systems in the past.
This is my 3rd system, and it finally gets everything right. Save for the technical details, it makes
creating shaders a lot easier. And it's only a handful of C++ classes.
Further, Unity games have a folder a structure with a lot of "stuff" in them. Conga resource files are lightweight. I mean most of us are
familiar with that folder that Unity dumps out. Mine is pretty straightforward.
Also, Unity has an odd shader
system which seems to have a lot of '#'s. The unity shaders
aren't much different from OpenGL shaders beyond that. (I am not experienced with Unity shaders) but in
Conga it's easy to modify the shaders. You can edit the shader source
right there without having to do anything that is Engine specific. All shaders are separated by function.
The shaders are individual files. You can also #include other shader files into them.
The same goes for the 2 other external files. I made them generic and easy to modify.
I added a lot of "under the hood" stuff to the terrain. Mostly optimizations
that make it easier to understand.
Some stuff has bogged the system down in debug mode, but in Release mode I get a
true runtime speed.
For example Conga used to take up 2GB+ of memory. Now, it only takes up 200MB or so. That's thanks to changing
the hierarchy to an octree, and pruning the tree. The only problem with adding the octree is that now that
I've added a tree structure we can't go back to the "tiles" like you'd see in Rollercoaster Tycoon.
We need to use perfect cubes to represent the world, such as Minecraft.
Also, we now have a 64-bit build.
The future of Conga is going to consist of getting the tree generator to work. Right now I have some terrain bugs that
need to be worked out. And I plan on changing the object sprites to be 3D instead of 2D billboards. Mostly though, the
editor is what needs to be finished, as I've decided to make this game more based on the editor than anything.
I still have about 4 months if I stay in my current house, but I am planning on selling it. If it sells quick I could get
me a few more months before "the end." But I may slump in poverty to keep wallowing on it. You know.
Maybe I'll put the house on craigslist or something.
Land Ho!May 2, 2017
Below is a view of the new terrain.
The Conga world uses procedural generation
to create various terrain features.
This is a cutaway of the Conga game world. A lot of science-y stuff is making it look like this.
Making it Work
The game is mainly a simulation. The "Dwarf Conga", game that was originally intended
was supposed to be 2.5D. A 2D plane with some 3D objects. It has changed a lot! I may
add the dwarf-finding features later in the process, but for now the focus is
going to be on getting this world to generate properly, and look cool.
Solid, Liquid.. Gas!
The whole world is composed of 3 matters. Solid for terrain
Liquid for water, lava, swamp, and.. Gas. Yes gas. Gas will be
used for future features of the game. For now it just gets generated along with the other materials.
Biomes, Lairs, Walkers
The box-shaped segments you see in the video are "globs." The biomes are what I call Lairs. Lairs are a chunk of random
globs with the same ecosystem and they're generated with their own climate. The climate is the Whittaker
classification with the
addition of pressure.
Did you know the earth is solid? It's not filled with "lava." The mantle is rock. The mantle becomes "liquid"
when the heat/pressure differential rises past the melting point.
It's because of the pressure. That's also how different kinds of rocks form. That's what the generator
is based on. But it's simpler.
In addition to pressure there are other factors at work.
Sunlight, Pressure, Temperature and Water. Basically we generate anything with these
variables. The cool thing though is the ability for tiles to 'morph'.
Since pressure gets more intense as you go deeper in the crust. Sunlight disappears, and Moisture goes up or down, temp rises,
the world "morphs" materials into others. Similar to real life, that's also how it works in the game.
For example, pressure controls what kind of rock
is generated based on depth. A simple rock material will become coal or lava as we go deeper (it's not correct, but it looks neat).
The lava becomes obsidian when it hardens, the obsidian then becomes diamond, ruby.
The cool thing though is that with this system I can just run a walker along the floor of a cavern with random pressures
and temperatures and it'll seamlessly create coals, diamonds. Mushrooms? Sure. The system is being written to
create all sorts of stuff.
Progress on collisions is still halted. I have to figure out a good way to collide stuff with SAT and maintain a
stable system. I also have to muster up the strength to do it. Physics is a pain.
The pre-pre-alpha will be out once the characters are sitting nicely on the ground . There
won't be any game yet, but you will be able to walk around and build stuff. There's quite a lot of stuff
planned for for the rest of the game. I mean.. A LOT.
Ideas and Changes to Conga Apr 29, 2017
Despite going through many name changes, my game is now called "Conga." I'm happy with the way it's going, and so far
it's been the best game I've ever made. And it's going to get a hell of a lot better. But man it's fun. And
I have a few ideas about why Indie Development is the way it is these days.
Conga was originally going to be a 2.5D videogame. Flat characters in a 3D world.
Recently I've changed it to be fully 3D realizing that
no matter how charming your 2D game is it's never going to feel as captivating as a 3D game, let alone a
first person game.
The original "Dwarf Conga" Concept
My goal for this game has always been to make it more of a "god's eye builder". But not a God Game like an RTS.
More like an adventure version of Rollercoaster Tycoon. The one thing I always hated about RCT was the
limitation of the area you could build. And you didn't get to make "full use" of the game world.
So basically in Conga you build stuff like you would in an RTS, then you go finding treasure and fight monsters.
So I wanted to combine the 1st person feel of Minecraft with the 3rd person view of a 'God Builder'.
I always wanted to keep the immersion of the 1st person camera. However, i found building large structures to
get tedious in Minecraft. In Rollercoaster Tycoon, it's a lot easier. So I invented a new Camera to do both of these
things. It was called
the "J" cam where you could zoom into a 3rd person view when you wanted to, then zoom back out to "god's eye" mode.
But it didn't feel right.
In Conga I've changed things up a bit. Instead of a single camera we're going to have 2 cameras.
You switch between a fully 1st person view while adventuring, then go back to an "edit" mode. 1st person is cliche' but brilliant.
It was the first style
of videogame camera, and it's still the most popular. You just can't beat the feeling of being part of the world you
get from the 1st person perspective. I've done a lot of thinking on this issue, but can't figure out a way
to beat 1st person.
I'm a not well known game developer. It's true. It doesn't bother me though because I know the chances of actually
selling a game for a tangible profit are almost nil these days.
And the market is just freaking full of games. Good and Bad.
Developers who work many years on their games don't stand much of a chance against
a large developer who can crank out a new games quickly. That is, unless they've built
a fanbase. It's possible. But there's very little chance of this happening. Luckily
I'm just doing this for having the game out there. I want to make something new. It's just a thing.
Some devs work with a strong Twitter following. This is one way to get a fanbase. However even twitter has become
overrun with lots and lots of developers. They rightfully deserve their share.
But for lesser known guys like me it makes it hard to get a following.
At this point I finally have the world editor the way I want it. It's generatively independent, and it supports
slopes, ramps, hills, etc. The world is truly infinite. You can build forever. And as computers get faster
eventually we'll have insane render distances where you can see the entire freaking world! That's
going to be awesome, but we're a ways away from consumer-level machines doing that.
I hope to have a demo released in the next 3 weeks. Keep in touch with this site. I'm fulltime on my game right now so I will be
updating this pretty often .
Updates. Castle World (Conga) Apr 24, 2017
I haven't been posting on here recently because my focus has been on writing this new
app I've been calling "conga." And it takes up all of my time. So with this article, I'll let you in on
some updates that are taking place in the fast-paced world of game development and
give you a sneak peek at the development of "Conga."
Blog Experiment Is Done
Before this site, I had never blogged before. That was two months ago when this derekpage.net
was first created. I had to
experiment to see what people liked, and what I liked to write. As for my crowd's behavior,
I set up an experiment using Google Analytics.
The articles that I wrote two months ago were a test to see what different
kinds of writing styles, words used, and formatting get the largest number of hits. I've been
watching how people
navigate between articles, and on the site. I tested with three kinds of writing, the long essay-ish types. The moderate, casual
kind of writing. And sloppy "Buy Now" kind of writing.
By the largest margin, my article
titled Sellable Products got more than every other article. But most people
just looked at my articles, thought "these suck," then left. Conclusion. My articles sucked, and
People like superficial writing over long winded writing.
Regardless, I get maybe 0-2 human visitors on this site per day. So my writing style is going to be
whatever I want. I'm not going to drive any traffic here. But This is the place I send people
when they want to know about what I'm working on.
I do have a couple of dedicated anonymous visitors
I really appreciate.
Nuked The Site
I've killed the home page on this site. It wasn't as direct as I wanted it.
Nobody wants to go fishing around for articles. Come here. Read updates.
I have been thinking of moving this site to wordpress. It's just too much work to code 2 websites and
a game.. and the game already takes up 100% of my time. So what happens to this website? It doesn't get updated.
No I don't get any help on any of this shit. I don't want your help either. Unless it is money..
No, in fact, I want your money. But not for free.
About the "Conga" Project
Below is a video of the conga "engine." It's a large video so be patient.
Continue reading below the video.
I've been putting effort into this NOT being Minecraft. I spend a lot of time thinking of new ways to change the game. And
I've added a few that I think are GREAT.
Conga is MUCH LARGER. How?. Imagine Minecraft
went down forever and ever. I mean there was never an end to how much you could dig. Well that's how I made this
thing. It goes on forever into the earth, and forever into the sky.
Second, ramps. They allow for more possibility. Being able to race
a car up and down a hill and jumping off of a ramp. Or rolling down the hill. Moving smoothly without jumping.
Oh yeah and..
"Cube worlds" were fun 7 years ago. But they are used too much these days.
You know how easy it is to throw a bunch of cubes in the world? Well, it's easy. And most Indies do that nowadays. I mean it's been seven years and people are
still copying Minecraft?
I am working on more ideas for this game. I don't have a story yet, but there will probably be one in the future..
What Happened to Castle World?
The "Castle World" project IS the Conga project. But it has morphed. I took a lot of the
code from that project and just ported it to Conga. It's pretty
much the Castle world game but with a lot more stuff. New .vcproj file and all that.
Anyway that's all for this article. I'm going to update this more often from now on and even
put some design consdierations about the game here. I hope I've gathered some interest with this game. It's
still a baby and needs a lot more work. Also I will make a bigger attempt to keep this site updated
at least on a weekly basis. Stay tuned.
Castle World, And A few OpinionsFeb 10, 2017
I've written up a detailed plan as to how to go about this business. Although the devil is in the
details, I know that during these next 7 months the business plan and daily schedule is likely to
turn into more of a creative and as-needed work schedule.
I have no shortage of ideas to pursue this. In fact over 70 games are in my spreadsheet right now with new ones added every day.
They say ideas are a dime a dozen, and that turning them into a valuable product is a rare occurrence.
Last month I wrote
a plan to write a lot of smaller "microgames" and releasing them as apps to the app store. The intention
is to make money by testing out various payment models. But there's a problem with this.. The games themselves
aren't well designed. It's a good hedge business-wise I'd imagine.. That means you first test the market with small products before
committing to something huge, and failing. But that's not what I'm after. I want to make something I'm motivated
to make, something new, something that gamers actually...
..want to play!
Even though I have 70+ games laid out in my spreadsheet, none of them have much design attached to them. They're "phone
level" games at this point. Instead of
focusing on them in the beginning I'm going to keep them to the side as part of Project B. The logic is that since I've
been writing games for 17 years now I've never truly released something i've been proud of, so I should focus my effort on
that - Project A. That's why I've decided to stick to ONE game in the
beginning. And that game is Castle World.
The State The Business
When I started Castle World in December I created both a Facebook page and
a Twitter account
to get people
interested in it. I was working on it steadily, while balancing a full-time job. I even took a full week off at the end of
December to work on it - promising an Alpha release by January 1st. Sooo sweet - an Alpha release of my first "Good" game!
Unfortunately, Life got in the way.
I ran into a snag which I wrote about earlier. I had been putting off a physics system
for a long time, trying to make the game "discrete." Because I know from experience physics is the biggest hurdle to overcome
I'd like to
have avoided it. Game physics is.. a pain. It's like a "programmer's block." Not a catchy phrase, but you get the idea.
The christmas break was supposed to be a dedicated amount of time to working on the game which I would
use as a "test run" once I actually quit my job. But It didn't work that way.
Most of Christmas vacation was spent with family, and my girlfriend. Out of the 9 contiguous days I had,
I was able to work on it for only two full days.
That says something about pre-planning your test runs.
By the end of December the Castle World twitter account had gathered 20 followers. Now, a month later, it only has myself and my girlfriend. All
18 people had left. Maybe I just haven't been updating it enough, or maybe people just lost interest? What surprises me the most is that
twitter people go through their follows and delete them when they don't see content from them. It makes me sad that all these people left,
but since I'm determined to make this game into something good I'm not set off by a lack of interest. It's because of the creative endeavor
I do this. Also for the possibility of making money. Don't we all.
Lots of Games
I feel like a lot of devs are quitting their jobs in order to make games these days. There is a lot
of games out there. So that in a sea of poorly made games you're never going to get noticed, nor will you ever
rise above them.
If you look at most of the popular games that have come out over the years the difference is that they introduce
new mechanics. I'm not one to talk on making money however. But this is a route to strive for. The alternative
to reskinning the same game.
is something that many people literally can not understand. You can get by
making games by using an off-the-shelf game engine (Unity, Unreal, Game Maker). They have simple
script engines that teach you what to do. Fortunately they
attempt to remove most of the hard stuff from the process. If you're the dev, then eventually you'still going to need to know code.
In addition to programming you have to have some artistic ability. Or know someone who does. The thing Indies like to do
is make their art assets low resolution. It's accepted as looking 'indie'.
source: Bloomington Public Library
source: Rock Paper Shotgun
This tends to be not only neat looking, but it also makes the
art assets easier to produce.
I'm no marketing guru, but I've released a few games over the years. It takes the full experience of a release
to realize there are
in fact many steps in after you finish the game.
There are also a lot of lingo in Marketing. For example, lead generation, pre-sales, CPI (cost per install),
and the various types of landing pages a customer goes
through before they click 'buy.' This area is usually overlooked past the artistic side of game development,
Having experience releasing something is super valuable if you want to do this on your own.
You don't have to release a AAA game. Finishing something and distributing it to customers is
the most valuable experience you can have aside from actually making money. Even if it's to your parents or girlfriend.
The feedback will give you a feel for how people react to your work.
For every couple of gamers who downvote you, there's always one
supportive gamer, identifying with your work, who tells you a positive thing. It just takes one
negative review to ruin your day though. I think the difference is that you really have to pour your
time into a game. And actually make it something other than what's been done before. Either way, people
will still shred it. Sometimes it's because they want your game to fail, so theirs can get more attention.
You can market to
casual gamers, or hardcore (Steam) gamers. I've found with my games that the feedback is mostly critical but there's
the occasional supportive person.
People just love to shred games. I do too, so it goes both ways. On Mobile App stores users will leave
a sentence, or just tell you it sucks. Steam users may write paragraphs of critique.
Don't Work Forever On One Thing
Software is complicated. You can spend years working on it and never release anything. Never
make a single dollar. The answer to making money is to simplify it. Following these guidelines
you'll be able to release something, and do so more quickly.
Few Resources. Minimal number of assets and resources, including textures,
sounds, and meshes. Sprites. and sprite animations. One or two of them. Or none.
It's hard to make an app without any visual assets at all. However, for data editors,
the visual elements are usually prefabricated and generated. You usually need to do no
visual work to make a data editor. That makes data editors the simplest apps. So long
as the data editor visual framework is supplied by a third party.
Simple Resources. Texture quality - Width/Height in pixels.
Sound quality either generated SFX, etc or real world sound. Mesh vertex density.
Using ZBrush versus using Max - and hand modeling meshes.
Generated vs Detailed The more computer generated the application,
the more code it requires, but the less art that needs to bad had with it.
Few Inputs. The number of possible inputs, or features.
Minecraft - many inputs - monster collision, moving about the world, and jumping.
Egg tapper - 1 input - tap the egg.
Already Created. Already done, or known how to do.
You have the blueprint, so all you have to do is copy it.
One Function. Only one function.
Feb 18, 2017