Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3 ... 10

Author Topic: Aqizzar makes a game  (Read 15572 times)

Aqizzar

  • Bay Watcher
  • There is no 'U'.
    • View Profile
Aqizzar makes a game
« on: January 27, 2013, 09:40:45 pm »

For information about the game, head down to "What's the game about?" or click here for the latest developments.  Between here and there lay only blogging.


Four years ago, I said I was going to learn some programming chops and make a roguelike.

Three years ago, I said I was going to make a table-top game.

Two years ago, I didn't say crap because I was tired of hearing it from myself.

Last year, I said I was finally going to learn programming just to have something to do.  For once, it actually stuck.  With the help of this great forum, I finally knuckled under and hit the books, and with some trial and error and a fair bit of hand-holding I managed to make a couple very basic interactive programs and surpass the level of knowledge I had left behind in high school.

Then a funny thing happened: a few months into my awesome new hobby, it landed me a full-time job as a software developer.  It's a career I know I can live with, and while I do feel more than a bit guilty about going to college for five years only to get promising work doing something completely unrelated after a couple months of self-study, I don't regret any of it.  I can't afford to regret stuff like that anymore.

The problem though is that coding for pay completely killed by willingness to code for fun, both because I get so burned out from debugging my own shit eight-to-ten hours a day, and also because it's eaten up so much of that free time I used to have being nearly unemployed. But it's been six months since I've touched a project of my own and I don't have a damn clue where all that time went.  Probably towards playing other people's real videogames.

So, I'm jotting some stuff down and making a proper "I'm working on this thing" thread.  I've recognized that my two biggest problems are: letting ideas grow out of control until I spend more time thinking about them than I do actually working on them, and that I have almost zero motivation to do anything unless I feel like I 'have to'.  I'm hoping a sense of public accountability and some organization skills I've learned at work will help me keep things on track for once, where they never really have before.

My third biggest problem is that I have too goddamn many ideas, and constantly bounce between them until I lose interest, having never produced anything of substance in the process.  Step One of my new development pledge is to permanently disregard some old ideas I know are going nowhere.

Text adventure engine - fuck that.
DIY wargame engine - fuck that.
Zeppelin commander sim - fuck that.
Fantasy dungeon designer - fuck that.
Bionic Commando ripoff - fuck that.
Tactical JRPG with a tweest - fuck that.
Car company tycoon - fuck that.
Apocalyptic bandit manager - fuck that.
Super Mario 2 themed roguelike - fuck that. Sadly.

I've abandoned other things in the process, like the novel I thought I would write, the book I wanted to write, blogs and such I wouldn't have updated anyway, and giving more than the slightest iota of shit about politics.  I can't believe I ever thought that could make fertile ground for a game.  After all that, I have sworn to stick to exactly one task at least until I have something to show for it.  (With minor distractions on the side, because that's just the way I am, but for real no more than one major project.)


"What's the game about?" I hear you ask.  Not long before I lost the ability to work for myself, some comments on my code from Max White gave me a concept that I fallen more in the love with the more elaborate I make it.  I've described it to a few people now and have been encouraged by its prospects.  Since taking an established Good Idea and bolting lots of features onto it is an A+ way of making new games.

If you've read this far, please read the whole description to understand what I'm doing.  In a nutshell, I'm jumping on the bandwagon of Minecraft/Terraria knockoffs.  Seriously, hear me out, and if you're on this forum you can probably already guess where I'm going with this.  Like most of the Internet, I recognize that Minecraft/Terraria are fantastic prototypes with three important 'flaws': sparse execution, a lack of goals, and to leave any significant dent in the world you have to invest substantial 'grind time'.  It's no coincidence that so many Minecraft mods promise things like 'more variety' and 'automated smelting' and that the Holy Grail still remains some sort AI-mining routine.  (And Terraria of course is anti-mod, and facing some stiff competition.)

Instead of investing in trying to bend somebody else's engine into the game I want to play, I'd rather start from the ground up with something original in itself to shovel in a wish-list of features.  Yes, original, I don't think one can lay sole claim to the concept of 'randomized voxel sandbox' any more than one can patent the first-person shooter.  And to those who enjoy the experience of mining down a mountain to move it elsewhere or just free-build I say bully and kudos, you have the game you want.  In these and every other title, I find the 'dangeous exploration and prospecting' sides of gameplay the most entertaining, and find spending twenty minutes slowly moving with the mouse-button glued down not so entertaining, however ultimately rewarding.  The investment in time and capital is fine, just give the player something else to do in the process.

However, I cannot start making that game today, because I don't know the first thing about making a program that operates in real-time independent of user input, nor do I have any idea how to make pictures appear on the screen.  On the other hand, I am apeshit banaynay at back-end information processing with an interface no more complicated than a console window.  My ultimate goal is a game where the player assumes the exciting task of exploring the gameworld, securing resources, laying down blueprints, and placing the granular elements, while the managed AI will fill in all the drudgery of actual harvesting, processing, organizing, transporting, and broad-stroke building.  I know that combining the two will be by far the hardest task, and I can't even start on the first part yet.  But the second part?  With enough abstraction I can rock its socks off as a proof of concept to keep myself moving.


My goal here is to make an AI system that will handle high-effort low-fun tasks under the player's direction within the bare fundamentals of a randomly generated gameworld and player activity.  This will serve as the prototype for the sideline interface of a more action-oriented game, should it ever exist.  Along the way, I hope to teach myself some time-management and good development practices, especially with prototype-driven design.  And if I catch anybody's interest or advice along the way, so much the better.
« Last Edit: March 25, 2014, 08:31:29 pm by Aqizzar »
Logged
And here is where my beef pops up like a looming awkward boner.
Please amplify your relaxed states.
Quote from: PTTG??
The ancients built these quote pyramids to forever store vast quantities of rage.

Aqizzar

  • Bay Watcher
  • There is no 'U'.
    • View Profile
Re: Aqizzar Finally Starts Making A Game
« Reply #1 on: January 27, 2013, 09:41:24 pm »

So I'm keeping this post to myself for laying out my plans.  And eventually for linking to any big honking posts I make explain the game, since I work better responding to questions.

For the curious, the title of this project is Lunkheads Zero, on the hope that the eventual fully completed game will be Lunkheads.

The obvious plan for tackling development is: 1) pick fundamental design element and describe all of its basic requirements, 2) block out all the pieces of code needed to build it, 3) tackle one piece at a time from the top down, 4) add in doodads and geegaws because I can't help myself, 5) move the fuck on to the next one.  Step zero is keeping the master list from growing out of control.

- The user interface - The ongoing struggle to present information to the player with controls to make stuff happen, in a way that is scalable, durable, and easy to change.
- Designing and making a gameworld - Figuring out some necessary mechanics of the world-space, and randomly generating something to act in.
- Necessary player activity - Letting the players actions define the resources available and world-space known, dropping in and out as need be.
- Designing structures - A basic building engine for building basic buildings.
- Ordering production - Managing resources and how they are used based on where they are and what tools and labor are available.
- Designing units - Most AI actions will be carried out by defined teams of NPCs, assembled from members and their equipment, from which are derived the unit's abilities.
- Orders and abilities - Telling the units what to do and where to do it, and letting the AI figure whether and how the action proceeds.
- Scheduling actions - Defining necessary tasks in an abstract fashion, and letting the AI figure out who to assign to fulfill them.
- Putting it all together - Ideally, the player should be able to say 'send peeps here to mine this and build that' and the AI should be able to present units suited for the task, design some if none are available, schedule production orders for any needed equipment, design and schedule interstitial tasks, and let the player know about anything that cannot be completed or requires a decision according to its variable parameters.
- Lots and lots of worldbuilding - Because that's the fun part and I'd go crazy otherwise.


So stay tuned and don't be afraid to prod me.  I've found one of my best motivators is feeling like I'm letting people down by not working, so help me make my neuroses useful for once.

Now I just have to figure out exactly where to start.
Logged
And here is where my beef pops up like a looming awkward boner.
Please amplify your relaxed states.
Quote from: PTTG??
The ancients built these quote pyramids to forever store vast quantities of rage.

Darvi

  • Bay Watcher
  • <Cript> Darvi is my wifi.
    • View Profile
Re: Aqizzar Finally Starts Making A Game
« Reply #2 on: January 27, 2013, 09:43:01 pm »

That is a lot of fucks.

Nevertheless, watching.
Logged

IronyOwl

  • Bay Watcher
  • Nope~
    • View Profile
Re: Aqizzar Finally Starts Making A Game
« Reply #3 on: January 27, 2013, 09:55:50 pm »

Watching with definite interest.

Here's a question, though: How's the order-giving going to work? Usually when you have teams of mooks working for you, you're staring at an overhead view with numerous panels and pullouts telling you about things. This sounds like it might be first person, or at least main character-centered. Is this going to have lots of pullouts and panels for doing that, or some sort of order-giving interface, or are you just going to stare at a block of ore and press the "assign mooks" button, or what?
Logged
Quote from: Radio Controlled (Discord)
A hand, a hand, my kingdom for a hot hand!
The kitchenette mold free, you move on to the pantry. it's nasty in there. The bacon is grazing on the lettuce. The ham is having an illicit affair with the prime rib, The potatoes see all, know all. A rat in boxer shorts smoking a foul smelling cigar is banging on a cabinet shouting about rent money.

Heron TSG

  • Bay Watcher
  • The Seal Goddess
    • View Profile
Re: Aqizzar Finally Starts Making A Game
« Reply #4 on: January 27, 2013, 11:36:11 pm »

I'll be watching this, friend Aqizzar. Good luck!
Logged

Est Sularus Oth Mithas
The Artist Formerly Known as Barbarossa TSG

Fayrik

  • Bay Watcher
    • View Profile
Re: Aqizzar Finally Starts Making A Game
« Reply #5 on: January 28, 2013, 01:15:40 am »

However, I cannot start making that game today, because I don't know the first thing about making a program that operates in real-time independent of user input, nor do I have any idea how to make pictures appear on the screen.
Finally someone understands my pain! :'(

On a more serious note. This looks awesome and I wish you the best of luck!
Also, do you have any kind of background or story planned for this yet? (I may have just missed that, I didn't entirely read the first post... It was really long!)
Logged
So THIS is how migrations start.
"Hey, dude, there's this crazy bastard digging in the ground for stuff. Let's go watch."

Moghjubar

  • Bay Watcher
  • Science gets you to space.
    • View Profile
Re: Aqizzar Finally Starts Making A Game
« Reply #6 on: January 28, 2013, 01:48:15 am »

Well, on the graphical display you have several options, which may be limited on what platforms you want to deploy it to.  Linux? OpenGL or some engine thats OpenGL.  Windows? Direct3d, OpenGL, or plenty of engine options. Mac? erm... limited to GL 3.2 and a smattering of other options that I don't really know much about.  Consoles: whole nother ballgame, look em up individually.

Of course, theres HTML 5 or Java as well, which mostly have built-in implementations.  Other things like SDL or SFML have built in 2D stuff or you can do direct OpenGL / Direct3d using them as a base.

As far as engines go, Unity 3D is not half bad, but you lose a lot of power/options unless you buy pro/shit (and with any engine you lose a bit of freedom anyway, usually).  Theres a lot of options... a lot of which also won't be for you, and you may of course decide to nix an engine altogether (look here: http://en.wikipedia.org/wiki/List_of_game_engines).  Other people can likely give you more advice on these others; I've only used Unity a little bit and never really did anything with it in the end (and right now I'm doing GL 3.2 and using SDL 2.0, so thats mostly what I have experience in).

Anyway, theres plenty of tutorials for getting started with graphics online, so search around a bit.  Once you do it in one the rest become a lot easier, and then you can play around and get some idea of what your requirements are going to be.

In any case good luck :)
Logged
Steam ID
Making things in Unity
Current Project: Demon Legend
Made This too (publisher abandoned ) Farworld Pioneers
Mastodon

GlyphGryph

  • Bay Watcher
    • View Profile
Re: Aqizzar Finally Starts Making A Game
« Reply #7 on: January 28, 2013, 01:58:43 am »

Good luck man! I believe in you!
Logged

Reudh

  • Bay Watcher
  • Perge scelus mihi diem perficias.
    • View Profile
Re: Aqizzar Finally Starts Making A Game
« Reply #8 on: January 28, 2013, 04:32:11 am »

Shoot me if I'm wrong, but you could do something with Ken Silverman's Voxlap engine.

Minstrel

  • Bay Watcher
    • View Profile
Re: Aqizzar Finally Starts Making A Game
« Reply #9 on: January 28, 2013, 08:55:50 am »

Will the lunkheads be fully programmable with some sort of scripting language?

ToonyMan

  • Bay Watcher
  • Danger Magnet
    • View Profile
Re: Aqizzar Finally Starts Making A Game
« Reply #10 on: January 28, 2013, 02:49:03 pm »

PTW

good luck keep posting
Logged

Sergius

  • Bay Watcher
    • View Profile
Re: Aqizzar Finally Starts Making A Game
« Reply #11 on: January 28, 2013, 04:55:09 pm »

The problem though is that coding for pay completely killed by willingness to code for fun, both because I get so burned out from debugging my own shit eight-to-ten hours a day, and also because it's eaten up so much of that free time I used to have being nearly unemployed.

This, pretty much. I'm starting to doubt whether my programming-for-fun fuse will ever be replaced, tho.

Anyway, posting to watch so I can live vicariously.
Logged

Max White

  • Bay Watcher
  • Still not hollowed!
    • View Profile
Re: Aqizzar Finally Starts Making A Game
« Reply #12 on: January 28, 2013, 07:04:52 pm »

Not long before I lost the ability to work for myself, some comments on my code from Max White gave me a concept that I fallen more in the love with the more elaborate I make it.
Ok now I'm wondering exactly what I said...

Anyway, you know me. I have no personal time to do my own projects between work and other commitments, but if you need help with anything I'll see what I can do.
As for making a game loop without user input, you need to read up on threading. If you really need I can write up a short lesson in C# for the programming thread.
Graphics isn't so clear cut. You most likely want to use some sort of library, but learning graphics librarys can be a bitch. There is always XNA, and that will also instantly solve your multi-threading problem.

Mephansteras

  • Bay Watcher
  • Forger of Civilizations
    • View Profile
Re: Aqizzar Finally Starts Making A Game
« Reply #13 on: January 28, 2013, 08:24:15 pm »

Lots of game making going on around here lately. I find it awesome!
Logged
Civilization Forge Mod v2.80: Adding in new races, equipment, animals, plants, metals, etc. Now with Alchemy and Libraries! Variety to spice up DF! (For DF 0.34.10)
Come play Mafia with us!
"Let us maintain our chill composure." - Toady One

Aqizzar

  • Bay Watcher
  • There is no 'U'.
    • View Profile
Re: Aqizzar Finally Starts Making A Game
« Reply #14 on: January 29, 2013, 01:02:11 am »

Here's a question, though: How's the order-giving going to work? Usually when you have teams of mooks working for you, you're staring at an overhead view with numerous panels and pullouts telling you about things. This sounds like it might be first person, or at least main character-centered.
Also, do you have any kind of background or story planned for this yet? (I may have just missed that, I didn't entirely read the first post... It was really long!)

I think I can answer a lot of questions with a high-level breakdown of the gameworld and how the player will see it.  I'm in danger of falling into the trap of too-much-thinking not-enough-doing, but high level elaborations are always good.  (And if you thought that was long, man did you come to the wrong thread.)


Here's the big picture:
Imagine a three dimensional space of solid matter.  Distributed through this space are 'nodes', and these nodes are connected to each other by randomly snaking 'pathways'.  This space is the world in abstract, and the nodes and pathways are the practical world that the player interacts with.  They are bounded chambers with joins the player passes through, and the player will never go to all the space between.

The interface would be three-dimensional graphics, used to render two types of gameplay.  The pathways are 2D corridors given 3D depth of field (think Little Big Planet), while the nodes are fully 3D chambers the actors can clamber around in.  This allows the player to travel between two game modes and the camera to float between 2D side-scrolling and 3D over-the-shoulder with ease.  Most of the gameplay would take place in the 2D spaces (since they'd have a lot more real-estate), and the 3D spaces would be mainly for special stuff.  The 3D could also serve to walk around inside structures at 2D sites.  (If anything had to be dumped from the final design, it'd be the 3D spaces and controls.  Instead corridors would be joined by wall-openings where the paths intersect.)

I said the chambers are bounded - it is a voxel-based game but the spaces are finite and can only be 'mined' so far in any direction.  The world is still infinite because the network the spaces constitute is theoretically endless.  The orientation of the space within the abstract world effects how it is generated, but otherwise all space exist only as memory locations the player can walk between at the 'doorways'.  Essentially, the world works like a naturally-occurring Minecraft cave network, but viewed as a 2D platformer and with hard boundaries kept far enough out of sight that only dedicated players would hit them.

At this point, you might be wondering how the surface world would be rendered in such a system.  The answer is: it won't be.  In this engine there is no overworld, gameplay is entirely underground.  This decision helped drive...

The Story:
The player (which you make up of course) and all who join you from up above are 'convicts' of some description, sent underground to repay your debt to society in labor.  You're all prison colonists and the underworld is your Botany Bay.  The whole interface with the surface world is a single massive elevator, which sends down NPCs and advanced parts and equipment in exchange for the valuable resources you send up.  (Theoretically you're trying to buy your freedom but this will never happen of course, and it only gets More Complicated from there.)  How the player interacts with the elevator I haven't decided, since it is supposed to reward you but it should never feel like it's your friend, and while a frustrating lifeline makes for good worldbuilding it doesn't necessarily make for good gameplay.  It does encourage self-sufficiency though.

I hadn't given too much thought to the management interface until now.  I'm picturing that if the player wants to queue up some work orders, you'd have to carry a Management Controller object.  Whip it out and you get an RTS-ish menu overlay (it would probably look the same in 2D and 3D spaces) where you write up generic work orders and flag where on the ground you want things to happen.  Then you would head back to camp and round up the NPCs you want or let the AI pick them, and either lead them back or trust them to their own devices.  If you want to get more detailed, like mess around in a workshop to build your personal equipment or set up elaborate work routines you can certainly do that too by messing around with sited structures.

Design Aside #1: I'd like to incorporate communication difficulties into the gameplay, since I'm going for a pseudo-realistic world where radio waves don't like to propagate through solid rock.  I think this would make multiplayer more interesting (optional universal communication of course) and encourage the player to build communication lines (because large-scale constructions like railways/powerlines will be a big part of the design) and to seek out supra-normal resources and devices (because Weird Shit will also etc).

Design Aside #2: This is probably the most important one - When I say that the AI can be tasked with mining and building, that certainly does not mean AI-controlled actors going through all the motions the player would.  I intend to get away with all the smoke, mirrors, and hand-waiving I can, both because it's easier and it offers more space for cool visuals.  When you tell your chaps to mine this and build that, you will see them pretend to work next to dust clouds and scaffolding, and over time resource-voxels will teleport into storage and structures will begin existing.

Design Aside #3: The placement of resources reinforces the divide between the action-gameplay and the management-gameplay.  When you find a vein to mine out, part of it will exist in the 'foreground' blocks the player can mine while the majority of the vein is written into the background walls.  The player should still be able to get at this, just with something dangerous and time consuming like causing a massive cave-in to dig it out.  The implication is that the player should leave background work to background workers like NPCs, while you go off to find more shit.


Naturally, almost none of the above is actually relevant to my Lunkheads Zero prototype, but this is what I'm shooting for so I'm gearing my planned development towards supporting goals like these.


Will the lunkheads be fully programmable with some sort of scripting language?

Probably not, but I have given it some thought.  If you're getting at something like the machine-language stuff in Notch's space game, the answer is Hell no.  Programming inside games is essentially puzzlesolving, and ironically for a programmer I think solving puzzles to achieve advertised game functions is the exact opposite of fun.

I would love to include some kind of plug-and-play programming like Lego Mindstorms for setting up detailed repeatable actions, especially for static machinery.  Maybe even make it look like futzing around with an archaic server language as a little 'fuck you' to people who think assembly puzzles are good gameplay.  And y'know, because some people do really like that stuff.

That is a lot of fucks.

I am a man who enjoys a good fuck.

Not long before I lost the ability to work for myself, some comments on my code from Max White gave me a concept that I fallen more in the love with the more elaborate I make it.
Ok now I'm wondering exactly what I said...

The part where you debugged my roguelike after like two months of practice and compared it favorably to the Terraria source code.  If I can achieve something like that with my current level of incompetence and tenacity, then there ain't no stoppin' me.
Logged
And here is where my beef pops up like a looming awkward boner.
Please amplify your relaxed states.
Quote from: PTTG??
The ancients built these quote pyramids to forever store vast quantities of rage.
Pages: [1] 2 3 ... 10