Jump to content

  • Log In with Google      Sign In   
  • Create Account





Struggling ... what are the next steps

Posted by DareDeveloper, in Project Ideas 24 March 2014 · 516 views

crossroad decisions language goals tutorials library bleh
Hi all,

for some reason my brain does not work the way I want it to work right now.
Guess work plays a role, it feels like a thought deadlock :-/ ... so here is a braindump for personal clarity.
I don't even know if I have posted something similar recently.

Probably the conflicting goals are one problem:
  • I want to finish something asap ... 100% and polish it ... don't even know why.
  • I want to apply lean startup principles and become an indie developer ... but I guess I am too chicken to ever actually do that.
  • I would like to write tutorials ... guess that is something I should forget about until there is actual demand. Right now I might have a hard time striking a nerve. Guess I should focus on writing Journal entries that are somewhat interesting instead ...
  • There are several things that I would like to use for my projects that do not exist yet. I kinda want to develop those as libraries, but I know that takes some doing and I would spend years on those projects.
  • I want to study stuff and apply what I learn. Using Voronoi Diagrams, Bezier curves, differnt kinds of algorithms etc in innovative ways sounds like fun ...
  • I want to create cool, actual games.
  • I want to create tools (a Content Studio that uses Procedural Content Generation).
  • I want to develop for Desktop PCs and Android ... but also get into web development with HTML5 and Web GL / Web CL.
  • I would like to team up with people, but again, I guess that is something that does not make sense right now.
  • I want the convenience and clarity of Java ... but also the control over memory management for features like Blender style RNA file loading / memory management.
What I an not interested in (at all):
  • Overly traditional game development without an innovation factor (I want PCG in there and something unique).
  • Invest a lot of time in learning a complex framework and figuring out particularities of existing software.
Guess that means ...

... wellll ...

nah braindumping did not help. I still don't know if I want to go for Java, C++/SDL or Web GL first ...
bleh




  • "I want to finish something asap ... 100% and polish it ... don't even know why." -> I can relate...

Right on, right on... ever done a game jam? I wouldn't be averse to another 3-day team project with random people. No great expectations, just practice in prioritizing and working fast. Being my second time around, I'd definitely use HTML5 again, and this time I'd prepare by setting up an online content editor and build system, plus a few demos with all the necessary HTML5 support code.

 

I've been using HTML5 Canvas (2D) and C++/OpenGL lately. WebGL doesn't quite seem ready for primetime (as of last year a lot of people were still having driver issues) but I think it's ok for game jams and demos. Performance is so-so... I wouldn't attempt an FPS, or anything with complex models like humanoid characters. Best to keep it abstract - but that's in keeping with PCG anyhow.

Right on, right on... ever done a game jam? I wouldn't be averse to another 3-day team project with random people. No great expectations, just practice in prioritizing and working fast. Being my second time around, I'd definitely use HTML5 again, and this time I'd prepare by setting up an online content editor and build system, plus a few demos with all the necessary HTML5 support code.

 

I've been using HTML5 Canvas (2D) and C++/OpenGL lately. WebGL doesn't quite seem ready for primetime (as of last year a lot of people were still having driver issues) but I think it's ok for game jams and demos. Performance is so-so... I wouldn't attempt an FPS, or anything with complex models like humanoid characters. Best to keep it abstract - but that's in keeping with PCG anyhow.

That does sound like fun. I did have plans for the Week Of Awesome:

http://www.gamedev.net/topic/646780-the-week-of-awesome-unofficial-gdnet-competition/

but that turned out to be the amesome week before my current employment began ... so I was busy with different things eventually.

 

I am extremely interested, expecially in the preparation phase - getting tools and a framework ready.

Time might become a problem relatively soon, depending on what happens at work ... but I would invest weekends in preparation and eventually a jam, if that is an option at all. Do you have a specific recurring game jam in mind?

 

Not sure if I get exactly what technologies you want to use for what ... is HTML5/Canvas/JavaScript one option and C++ with OpenGL an alternative, or would you want to combine those technologies - C++ for the content creation tool or something like that? Since I do not have a plan in place I am interested in almost whatever.

You don't have a plan, and I don't have a specific game idea in mind... great, now we just need artists. (Said no coder ever...)

 

I'm definitely thinking HTML5 (either Canvas or WebGL) for game jams and browser-based tools. I've got bits and pieces lying around... Perlin noise, bfxr-style sound generator, perceptual color picker, 2D vector drawing editor, sprite/texture atlasing, sound atlasing... it would be totally worth it just to move that stuff beyond the prototype stage (but not into yet another game engine/framework) even if the game jam doesn't work out.

 

A Week of Awesome #2 would be sweet. There's always Ludum Dare, April 25-28 and again in August. Also JS13k, aug13-sept13 (yep, 13k limit.. great for PCG!)

Said no coder ever, indeed ;-)

 

How would you approach it? Come at it from a Demo angle?

Decide what we want to do and what tools we want to have in place for them and then determine milestones for what we want to implement?

 

Or a wilder approach? Just working on sandbox projects and thinking about how to bring the results together later?

 

Btw., what did you have in mind when you mentioned the "build system"?

That would have been relevant for C++ projects, or do you have an experience with a web project where packaging it was not trivial?

What I associate with build systems is makefiles and continuous integration ...

 

I guess artists will be interesting for the team ... but not until we know more about what kind of assets we want to work with and what file formats we want to support.

Oh yeah, the build process is just as important for HTML5 as C++. I actually use makefiles. Apparently a lot of people are using GruntJS too.

 

The idea is to pack everything possible into a few big static files, to avoid spawning tons of HTTP requests and to minimize runtime complexity & overhead on the backend. Say, I co-wrote an article with @EDIGames that goes into some depth on this... here it is - http://newsletter.igda.org/2013/04/30/game-design-aspect-of-the-month-html5-prime-time/

 

Beyond makefiles etc, it would also be helpful to have a web-based game asset editor. Example: for a tile-based game, you'd have a Tiled-style map editor - built upon the game's actual rendering engine - integrated with custom PCG stuff and NPC creation tools. With buttons to do a debug/test/release build, run unit tests (yeah right, lol), go live, "oops, rollback", etc.

 

"Demo angle" sounds about right... put together a little collaborative edit/build system, just enough for a specific game jam project... during which the system would definitely be tweaked. Then, who knows....

Damn, I sooo needed the weekend to arrive. I did some reading - the article is very interesting.

 

I suppose I still have a lot of questions. Would the content editor be a separate project using the engine, or part of one project that can render games as executables?

 

I assume the content would be rendered as JSON objects which would be loaded/parsed by the engine.

Packaging for JS13k would probably be a different beast!? No libraries may be used ... is there a JSON parser functionality available, or would we need to write one?

 

Do you have project setups and milestones in mind, or would we try to come up with ideas as a first step?

Where and how should we communicate / manage the project btw.?

 

Ludum Dare sounds great, and April 25-28 sounds ... well ... like we would need a great gameplan which gets the priorities exactly right ...

I see the editor & build tools being a collection of code you can bolt onto different game engines... some pieces could be generic libs... other you'd clone and customize.

 

JS13k packaging is almost no different from what I normally do; I just add a step at the end to zip everything and then "unzip -l" to see where things stand size-wise. JSON is built into browsers now.. but for static data, sometimes I just embed "var resources={json};" with the JS code.

 

Communications- I like email and forums... google chat, hangout, skype, etc are also handy for virtual team projects. Also google docs, github wiki, whatever. Could have a chat feature in our editor too.

 

April 25 is cutting it close... it'd be good for me to shoot for it, get the ball rolling... but chances are I'll be too busy to make a game that weekend.

Following up on the state of HTML5 and javascript... http://tnovelli.net/games/logbook.html#20140330

Basically it's still beta... improvements are trickling in, there's some cool stuff coming down the pipeline... maybe in about 3 more years the cool stuff will actually work on a majority of browsers & OSes.

Sweeeet mention :-)

 

Great article, interesting to read about the state and future of JS.

I think I have not condemned Android yet, apart from that I agree with pretty much everything (Win 7 is ... well ... nice enough, though).

 

I think I'm starting to see a more refined picture.

 

There would be a server side component involved for the tool part (the collaboration features), I assume!? Any concrete plans for that? Node.js? Database or just files?

 

Resource loading via AJAX would be optional, because the packaged games could embed the JSON content in the scripts instead (e.g. for a client only JS13k entry)!?

 

How does setting up the build environment and content editor as one (or two) Github project(s) sound?

Too hard to maintain?

 

Do you consider C++ for the Game Jam games as well, or just for your more demanding projects?

 

We can try to shoot for April 25th. Let's try to come up with a roadmap ... what do we work on independently and where do we want to get some synergy going.

  • Just work on the tools / editor together and work on engines / runtime stuff independently?
  • Write basic tools / editor and basic engine features ... and only work on our own demos?

I wouldn't really know where to start with setting up the build environment and how the debug/test/release build functionality would be added.

 

You seem to have more experience with that and it is probably a good idea to go for that first ...

You could work on the runtime, get a feel for WebGL and-or Canvas... while I get the build/edit/server part going.

 

PHP+MySQL backend... it's the path of least resistance.

NodeJS or C++ for a cpu-hungry multiplayer server.

 

Github's fine.. one project for editor+game at this point. Eventually, move generic builder/editor components to a separate repository... you'd just clone it into a subdirectory of each game project, create a settings file in the game dir, and include/require the components you need.

 

These are my gamejam projects from last year, both 2D Canvas... feel free to grab anything you need to get started.

https://github.com/tnovelli/apparition

https://github.com/tnovelli/ld26

 

I don't have much WebGL code, so maybe start here.

http://www.html5rocks.com/en/tutorials/webgl/webgl_fundamentals/

https://developer.mozilla.org/en-US/docs/Web/WebGL/Getting_started_with_WebGL

 

The choice of matrix lib is important... gl-matrix and mjs were good 2 years ago; I have no idea what's the best now. Wrote my own for 2D. :)

Sounds like a plan ... a really good one.

 

I will do some experiments and get familiar with those technologies ... and take a look at your projects.

They look pretty well organized. Have not run them yet, but I will do that soon.

I started with some basic experiments. Any specific goals I should shoot for (which are not obvious)?

 

Does defining rough milestones make sense already?

If we go for something useful by April 25th ... we should start planning as soon as possible ...

Cool. I started putting together a builder/editor project, just an outline... aiming to flesh out the basics and put it on github this weekend, maybe even put a server online.

Well, April 25 is definitely too soon for me... too much going on this time of year. This thing is still 90% vaporware, no sense putting it on github like that.

 

Also, HTML5 really doesn't look so hot all of a sudden, with all the bad news lately... seriously wondering if I should put it on the back burner and focus on C++ (or maybe Go), and write my own little GUI lib....

I can live with slow and steady :-) ... and I am pretty busy as well.

 

Are those Mozilla events really that important? I don't really know much about the JavaScript world, but I'd think that too many people and too many companies are too deeply invested in the technology to allow things to go downhill now!? Wrong?

 

Either way, I will invest some more time in JS experiments ... after that I would love to have a decent C++ codebase to work with, with portability in mind, if that is feasible at all.

I don't want to install Visual Studio again if I don't have to, though ... messed up my whole system.

Setting up build tools for command line execution and IDE support (Code::Blocks maybe? Eclipse?) seemed though, last time I went for it.

 

For the tools with collaboration capabilities anything other than HTML5 and JavaScript would be brutal, though ... or not?

A C++ "Content Studio" probably makes sense, but it sounds like a more challenging project.

hehe, yeah, setting up a C++ environment in Windows is a total pain compared to Linux. I did it but VS ain't pretty... planning to try Clang or MinGW. I think CodeBlocks includes MinGW but I'd rather choose my own editor/IDE and build with CMake.

 

Yeah. Best to stick with the HTML5 content studio idea. I can't see doing that in C++ after getting a taste of quick-and-dirty GUI coding in JS... even if the WWW is about to go through some serious growing pains.

PARTNERS