• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Indie Game Development Discussion Thread | Of Being Professionally Poor

Status
Not open for further replies.

Margalis

Banned
Don't use physics for character movement. Or at least don't use a purely out of the box physics implementation for character movement.

Making the control of a character purely physics based often doesn't feel right and doesn't handle various cases the way that you want.
 
Physics stuff...

It sounds like the problem you have is with the time step not being locked.

In Javascript you could be seeing large fluctuations in dt if your code is causing the browser to garbage collect frequently. You should probably profile the code and see if you're seeing any spikes in processing on the time view and try and narrow down the routines which are forcing garbage collection and tidy these up. Pooling game objects rather than doing new/destroy operations is usually a pretty easy first step at cleaning this up.

Another thing to look at is by limiting dt, crappy psuedo code below:

  1. dt = getSystemClockTick();
  2. dt = dt < min ? min : dt > max ? max : dt;
  3. Do stuff with dt...

Physics is particularly troublesome with low refresh rates, so you could look at stabilising things with a Runge-Kutta approximation to smooth things over the time step. Fourth order approximation (RK4) is pretty solid but you could likely get away with a second order (RK2) if CPU cycles are tight.

Good luck!
 

jarosh

Member
Don't use physics for character movement. Or at least don't use a purely out of the box physics implementation for character movement.

Making the control of a character purely physics based often doesn't feel right and doesn't handle various cases the way that you want.

Oh absolutely, I agree. Especially now, after looking into all of these issues. The thing about Construct 2 is: this is what it's made for. Literally. Quickly getting 2d games or game prototypes up and running, especially platformers. The physics are extremely solid, the platforming is much tighter than I'd expected and you can tweak it quite a bit. The problem is just that it's not very precise, and, well, that just isn't for me. And, so, if I'm going to be doing my own calculcations for the 2d platforming mechanics, I'd rather use something else. I have no particular desire to use a purely HTML5 engine, if it can't do the one thing it had going over other WYSIWYG tools, the one thing I wanted to be lazy about. I'm definitely done with Construct for the time being.

It sounds like the problem you have is with the time step not being locked.

In Javascript you could be seeing large fluctuations in dt if your code is causing the browser to garbage collect frequently. You should probably profile the code and see if you're seeing any spikes in processing on the time view and try and narrow down the routines which are forcing garbage collection and tidy these up. Pooling game objects rather than doing new/destroy operations is usually a pretty easy first step at cleaning this up.

Another thing to look at is by limiting dt, crappy psuedo code below:

  1. dt = getSystemClockTick();
  2. dt = dt < min ? min : dt > max ? max : dt;
  3. Do stuff with dt...

Physics is particularly troublesome with low refresh rates, so you could look at stabilising things with a Runge-Kutta approximation to smooth things over the time step. Fourth order approximation (RK4) is pretty solid but you could likely get away with a second order (RK2) if CPU cycles are tight.

Good luck!

That's all very good advice! Shame I can't use any of it! :p

I have no access to the actual physics engine code. What you do in Construct is all super high level stuff, the underlying engine is HTML5, but you just use a simple event editor for the logic. The editor is actually pretty powerful and intuitive. And so is the whole interface, to be honest. Really, it has some of the most intuitive WYSIWYG non-programming interfaces I've come across. And it's all really fast and responsive. You can get results SHOCKINGLY fast. It is *perfect* for prototyping. But, as mentioned above, I'm moving on. I just can't deal with the unpredictable physics.
 

razu

Member
Looking good man. I don't post in this thread often, but I read it all the time. You're game has come a long way since you first started posting about it. When is it out? I'd buy it.

Thanks! It's out next month on iOS/Android, assuming submission goes smoothly. Mac App Store too.. Then it's figuring out PC distribution... I guess I can just sell it direct from my site via some payment-file providing service... and look into Greenlight/other portals too..

I was thinking of charging as close to the £1.49 of the iOS version as possible across all the platforms. No IAPs, no DRM, (if possible on portals). Pay.. play!! :D


razu, was "You is dead" intended? Neat video regardless!

Cheers!

Yeah, I put that in as placeholder text, but people reacted nicely to it, so it's staying. Kinda one of those things you'd never get through a 'proper' studio.. Like it'd ever affect one sale!! :D I like it! :D
 
I'm a little confused by those pictures because even if the framework reports an incorrect frame time your code, if it's working correctly, should give deterministic results in space, the only noticeable difference would be in time which I don't think those pictures show (unless they're jump height as a function of time). Or maybe I'm just making myself look stupid by posting when I'm too tired :e

The problem with Construct seems to be that it doesn't use a fixed time step to calculate the physics. Instead it uses the dt from each frame. Since most Physics engines use something like:

x' = x + dx/dt + ddx/2ddt

to determine the new position, when you use a variable t obviously you'll get different results depending on your framerate. The problem is not on the code, is seems good. The problem is that this is probably not a good approach for games.
 
Yeah, I put that in as placeholder text, but people reacted nicely to it, so it's staying. Kinda one of those things you'd never get through a 'proper' studio.. Like it'd ever affect one sale!! :D I like it! :D

Cool. Just wanted to make sure it was intentional. Really neat game, massive props for sticking with it all the way through the fit and finish part -- the part I always struggle with. Do you do it as a hobby or is it your job?
 

Feep

Banned
1080p PC video capture of Chopper Mike. It's almost done!! :D

It's the little things that matter: your text "Complete" underneath the first star is set about four pixels (ish) too far to the right. You can manually place it, or use some kind of measure string function to center-align it.
 

missile

Member
That makes sense. Like I said, I could always just implement my own delta time calculation, but I will not be able to use *ANY* part of Construct's physics engine (which is the main reason why I'm using it), since dt is built into their engine and evidently not calculated with enough precision. Unless I create all of my own calculations from scratch, I will not be able to circumvent their dt implementation.
Yes, defeating the point, indeed.


... This could be the problem, but even the 30fps plot has enough points that it should solve the trajectory much more accurately than it does even with the Euler method. I don't think most platformers use higher order methods and they still work fine at 30fps. Also, there doesn't look to be any convergence from 45fps -> 60fps, just a decrease in height. Has to be a code problem.
Well, there is perfect convergence. The decrease in height actually tells
that at lower timesteps the trajectory can be followed more closely, tracking
the physics much better. The problem occurs if curvature sets in, as one can
see in one of the pictures above. A large timestep essentially means computing
a derivative to a lower resolution, which is fine if there is only little
curvature. Going by the picture, the 60fps 'jump arc' has higher curvature,
hence, the derivative(s) must be resolved more precisely, which can be done by
lowering dt in general or by using an adaptive time stepping technique before
going to a higher order integration rule. However, this would defeat the point
using the software to begin with.
 

razu

Member
Cool. Just wanted to make sure it was intentional. Really neat game, massive props for sticking with it all the way through the fit and finish part -- the part I always struggle with. Do you do it as a hobby or is it your job?

Thanks man! It really is surprising how much work goes into even a tiny game like Chopper. The core mechanics of the game have been finished forever, it's been the game structure, menus and UI that have taken up all my time since then. It's good though as even though it's not quite finished yet, I do have a super enormous feeling of satisfaction. In a month or so I'll be able to point at *my game* on the Internet. And that's RAD!!! :D

I have two companies. One that I provide development support for games companies: http://jamielowesdev.com, and my game company: http://VAMflax.com. So I guess it's a job, just, I'm doing it unpaid.. I no longer have time for a hobby!!


It's the little things that matter: your text "Complete" underneath the first star is set about four pixels (ish) too far to the right. You can manually place it, or use some kind of measure string function to center-align it.

Now, here's a weird one! I looked and thought it was off too, (even though it's drawn centred at the same x-coord as the star). But looking more closely, it's actually fine! Some kind of optical illusion from having the word 'Fast' unbalance it I think! Cheers though! And you're right, the little things really add up to make the whole thing better.

 

Feep

Banned
Now, here's a weird one! I looked and thought it was off too, (even though it's drawn centred at the same x-coord as the star). But looking more closely, it's actually fine! Some kind of optical illusion from having the word 'Fast' unbalance it I think! Cheers though! And you're right, the little things really add up to make the whole thing better.

The image you posted doesn't seem to be the same as the one I'm directly referring to...

P1tdPHT.png


Still, bringing that image into Photoshop, you're right, it does mostly seem to be an optical illusion (it is still one pixel too far to the right, according to my numbers).

You might arrange the three stars in a triangle (with the "Complete" one on top) to fix this issue, but that might be more trouble than its worth. Sorry for the trouble! The rest is looking great, by the by. = D
 

razu

Member
Still, bringing that image into Photoshop, you're right, it does mostly seem to be an optical illusion (it is still one pixel too far to the right, according to my numbers).

You might arrange the three stars in a triangle (with the "Complete" one on top) to fix this issue, but that might be more trouble than its worth. Sorry for the trouble! The rest is looking great, by the by. = D


Cheers! :D

Yeah, and it works in so many resolutions, 1 pixel at 1080p is a minor worry at this point!!

I'm very much in "Get It Out The Door" mode now. Anything that smells of new feature is going on the Update #1 or Super Chopper Mike wish list!
 
I just received my finalized 8 track OST made for my game, I hope you guys like bass driven dubstep chiptune boss themes
2lANo.png


seriously
 

chubigans

y'all should be ashamed
Our Ichi Post mortem:

Early 2011, everyone at Stolen Couch Games was still in school developing our exam year project Kids vs Goblins. Jay van Hutten, a fellow year mate, was developing a game of his own called Ichi. It was a elegant puzzle game that utilized a one-button mechanic in a way that didn&#8217;t feel gimmicky. The goal of the game was to guide a ball past a number of rings on the screen. By touching the screen you rotate bumpers, which caused the ball to change in direction. You could also hold your finger down to draw a line, once the ball hit the line it would travel back in the direction it came from.

About a half year later we spoke to Jay at a congress were he was demoing his game. I (Eric) shared my interesting in redeveloping Ichi for multiple platforms and making it a really great commercial product. Jay loved the idea and the day we finished Kids vs Goblins we were working together to make a bigger and better version of Ichi.


No developers were harmed during the making of this game

Redeveloping a game is nothing new to us. Stolen Couch Games actually started in 2010 when we got an assignment from Zoë Mode to create a multiplayer version of their hit game Chime. The multiplayer demo we made eventually led Zoë Mode to develop Chime Super Deluxe, which featured some nice multiplayer modes. While the programmers were re-creating Ichi in Unity, Jay and I were designing new features to add to the game. Because the core of Ichi was so sound, it wasn&#8217;t hard to come up with dozens of new puzzle ideas to make the game better. The final product had teleporters, splitters to create multiple balls, objects that could disappear and a few more things. Nothing too fancy, but it all worked great. The best thing we added was the level editor that allowed players to create their own levels and share them online. Since then, 11,000 levels have been shared, quite a bit more than the 50 levels we originally included with the game. Ichi launched in June, after 3 months of development, which went mostly smoothly. The actual problems started right after we launched the game.


Getting featured

We knew that many people would consider Ichi as just another puzzle game, so we had to let people know how special the game really is. We spent about a week contacting the press about our game and we got a nice amount of coverage. But press alone won&#8217;t make your game a hit. If you read any guide on marketing for mobile games you always get to the point were the importance of getting a feature by Apple/Amazon/Google is expressed. We already got a feature on the Mac app store for our first game, but our published arranged that. We didn&#8217;t have a direct contact within Apple, so we had to come up with a way to contact them.

Luckily we had a few device IDs that belonged to Apple employees on our Testflight account. So we found out the matching email addresses and we send separate emails to every one of them. 2 of them, responsible for the iOS AppStore, loved the game and showed the game to the rest of the team. Our contact from the Mac AppStore was in love with the game. We Skyped for a few hours and everything was set.

11.jpg

Ichi was Apple&#8217;s Editor&#8217;s Choice for a week on the Mac AppStore and on iOS we were bumped to the new and noteworthy category and we got a small banner in the games section.

We&#8217;ve seen developers doing no marketing at all for their games because they believe they&#8217;re games will sell themselves. This is mentality is wrong. Just look at the top grossing games on iOS. Almost all of them spend enormous amount of time and money on marketing. Only by spending time and money, will you actually earn money.

Mayday, mayday!

The launch of Ichi went great. We were selling thousands of units a day and those numbers were actually increasing the days after the launch. But than something went wrong. Suddenly the game would crash once it has launched. This had never happened in any of our tests before. Why did the game crash all of a sudden? It turned out that the firewall at our server provider, which hosted the user created levels, was malfunctioning. Since we had never encountered this before we weren&#8217;t prepared for this. As you can imagine we were pissed off, but the gamers were even more pissed off. The 1-star ratings were poring in, so we had to work quickly. Within a day we made a quick patch that made the game run again. We submitted it and Apple was kind enough to approve it in record time. But the harm was done. The sales momentum the game had was gone. Sales plummeted because of the bad reviews. Instead of getting thousands of sales at $4.99 a piece we were down to hundreds.
The lessons we learned from this is that you should be prepared for something you can&#8217;t predict or test. We expected our server to send just numbers to the game, instead it was sending lines of random code. For our next games we&#8217;re making sure that the game handles these rare cases the correct way. One day of extra development time is better than losing thousands of dollars in revenue.

Monetizing

We wanted to use in-app purchases in the game to earn some extra revenue post-launch. We were thinking of putting an in-app purchase on the level editor. So if you wanted to make your own levels you had to pay a dollar extra. But we opted against this because the editor would generate content for the game. Content is important so we couldn&#8217;t make the overall package weaker to earn some money. Instead we asked for an in-app purchase when the player played more than 10 user-created levels. We guessed that only 5% of the players might create a level and 70% would play user created levels. More people means more revenue. Unfortunately this tactic didn&#8217;t work.
We launched the game with 50 built-in levels and player could play 10 user created levels for free. At the end of 2012 only 300 people out of 400.000 bought the in app purchase, an insanely low percentage. Why did almost no-one buy the in app purchase? We think it&#8217;s because people were done with Ichi after playing 50 build in levels. Nobody is going to play 10.000 user created levels, let alone 100. Ichi&#8217;s retention wasn&#8217;t high enough.

Getting a lot of players, quickly

A few months after the release of Ichi sales were basically dead. We were making about $15 a day, which didn&#8217;t get us one step closer to world domination anytime soon. So we had to do something. Instead of letting our game die we looked at &#8220;free app of the day&#8221; deals. The first free app of the day deal we did was Free App A Day (FAAD). In one day Ichi was downloaded 130.000 times. We were blown away by this number. After this we contacted Amazon USA if they could feature us. They loved Ichi and featured it as their free app of the day. After that, Amazon Europe featured Ichi as well. AppEvent did the same, resulting in another 30.000 downloads from mostly the Netherlands

2.jpg

Ichi featured in the Amazon AppStore

Free app of the day promotions are great. Unfortunately it is unlikely that your app will become super popular once the promotion is over. We earned only $80 from the days after the FAAD promotion. But still it is better than nothing. One good tactic might be to get a lot of downloads using these promotions and then switch to a freemium model. You will have hundreds of thousands of players who will generate revenue though ads and/or in app purchases.

Critically, Ichi is a great success. We&#8217;ve gotten wonderful reviews and players seem to love the game. But commercially the game hasn&#8217;t done that well. We barely broke even on the development costs. Most of the revenue came from the Mac version, mainly due to the feature by Apple. iOS came in second, revenue-wise. The Android, PC and Linux versions didn&#8217;t make more than a few hundred dollars. Despite all of this we feel that Ichi was worth our time, it was great developing it and we delivered something we&#8217;re proud of.

That was a fantastic write up, thanks so much for sharing! That's a terrifying experience with the server meltdown on iOS; I'm seeing that with Hundreds right now and it's 2 1/2 star review because of a faulty patch. The bad thing is that the devs don't seem to want to use their "fast track this update" card.
 

tranciful

Member
It's still crazy to me that games like Hard Lines and Ichi can get featured and receive critical success, but still struggle to make good money. After my first iOS game I'd already decided it wasn't worth the risk again to rely on mobile for revenue. Aiming for PC/Mac for my next release, but I'll need to gather a team to do the game I want to do -- it's a shame that smaller games are so very rarely viable financially.
 

Archurro

Member
Not sure if this is the right place to ask, but I'm trying to develop a simple 2D iPhone game that incorporates gyro, acceleration, camera, and mic. Anyone have a suggestions on what developer tools I can start with? I've heard Cocos2d is great, along with Marmalade, and Adobe AIR.
 

Fireblend

Banned
Our Global Game Jam submission is now up on Google Play! Not too bad for a game created in under 48 hours, I think :D There's also a Windows version available, which is inputx friendly (so it can be played with an Xbox controller).

It's a sort of Super Crate Box, with limited vision and some really annoying enemies :D plus, the music changes according to how close you are to dying, which turned out to be pretty cool :D

lEzPntW93PNyLN7srh0PPYIcY00aYmghm9QRmqE6ym_J_rBTKgUL2JFUTX8hC9IAPlzf


K6vfIrSyOHZgRj78JKYLQuAQXACy7_8c6OpHnCcrTjO9P0o2G3x9c0mHRCzIXolkCvIS
 

Spierek

Member
Oh, hey, I might as well post it here.


My 1GAM game for January has been completed during this weekend's Global Game Jam. Together with four other peeps (check out the README file!) we've managed to create a... well, I can't really put this game in any category other than "2d" and "pixelart". Let's just say that you'll die. A lot. Actually, it's the goal of the game.

"You are an elderly man, who is having a heart attack. During your final 30 (or so) seconds of life, what will your final choice be?" The controls are WSAD + LMB when you're close to an object. You can find the game on the GGJ13 site. (a direct link is right here). That link features both the Win7/8 x64 and MacOS versions. (that's why it weighs so much . _.)

And now for a little post-mortem. We've managed to build this game from the ground up using C++ and SFML, though during the development we've often joked that "we'd make this 3 times faster with RPGMaker". This is probably true, since we've had to implement quite a lot of features that RPGM features from the get-go (such as tiling, animations, event handling, etc.). We've got most of the stuff in the game, but some of the crucial things had to be left out due to the time constraints. There were plans for an intro sequence (the man enters the room, grabs his chest in pain, then resumes), an ECG display linked with a death timer (automatic death after 30 seconds of not making any choices) and a better ending screen/more fleshed out dialogue.

Still, we've accomplished quite a lot in 48 hours (actually, less than that because our jam site was closed during the night). I'm quite happy with the result.
 

missile

Member
It's still crazy to me that games like Hard Lines and Ichi can get featured and receive critical success, but still struggle to make good money. After my first iOS game I'd already decided it wasn't worth the risk again to rely on mobile for revenue. ...

tl;dr: Game developers arn't publishers.

There is quite too much noise on said platforms. There are perhaps too many of
us game developers. Making games using toolkits has never become easier.
Hence, almost everyone gives it a try thinking that he might be the one
breaking. Anyhow. So 'you' did a game, possibly a very good one, but still
struggle to make good money. Why? What seems to be an advantage on all
accounts for many people at first, and for some it really is, of being a
self-publisher, might turn out to be a disadvantage on a larger scale. Back in
the days the most important relationship in games industries was the relation
between the game developer and the publisher (and even is today). Most games
where successful just because of those publishers. But on the other hand
publishers do have restrictions and earn parts of the profit, for a reason.
The infrastructure your need to effectively market, distribute and sell your
games is enormous. Being an self-publisher, one has to carry that load as
well. And I question if this works out esp. in the mobile market we see today,
where millions of games are thrown out for a dollar. Within this market you,
as a game developer/self-publisher, have to focus on which distribution model
to choose or which deal is the right one for the right moment depending on
many circumstances, need to think about in-game ads whatsoever just to make a
fukkin dime out of your months/years investment. I think we have many good
game developers, but if it comes to publishing, well, it is an entirely
different ball game. That's just my opinion.
 

razu

Member
tl;dr: Game developers arn't publishers.

Pretty much.

My aim for this game is: Become A Published Indie Developer

So, I can't fail.

As a freelance developer, hopefully it'll be a good advert for my skills. And having a game you made entirely by yourself gets past the "What bits did you do..." obstacle of talking to new clients about the titles you've worked on before. The answer becomes: All Of It!! :D

Promoting and getting Chopper Mike seen by a reasonable amount of people... seems as much chance of winning the lottery.. but, then, someone wins that every week!! :D

I'm more excited about the things I can't imagine, like the emails and meetings I've had just from posting about my game. That's cool!

If you count success purely in terms of financial success, then I think you're in for a tough time. But if you look at the bigger picture, just getting a game out is a massive achievement! So, big high fives all round to published and to-be-published devs!! :D
 

rottame

Member
Uh... errr... hi guys. I'm new here, so be gentle.
I'm one half of Bumblebee Studios, a tiny indie development studio in Stockholm, Sweden. We released our first game (Derat Inc.) some months ago and we are getting near a release (let's say we are at 2/3 of development) on our next title.
Speaking of publishing: do you have experience with publishers in the mobile space? Suggestions? Advices?
 

Limanima

Member
Pretty much.

My aim for this game is: Become A Published Indie Developer

So, I can't fail.

As a freelance developer, hopefully it'll be a good advert for my skills. And having a game you made entirely by yourself gets past the "What bits did you do..." obstacle of talking to new clients about the titles you've worked on before. The answer becomes: All Of It!! :D

Promoting and getting Chopper Mike seen by a reasonable amount of people... seems as much chance of winning the lottery.. but, then, someone wins that every week!! :D

I'm more excited about the things I can't imagine, like the emails and meetings I've had just from posting about my game. That's cool!

If you count success purely in terms of financial success, then I think you're in for a tough time. But if you look at the bigger picture, just getting a game out is a massive achievement! So, big high fives all round to published and to-be-published devs!! :D

I've been following the developments on Chopper Mike, and I think you have done a great job. I know all the hard work involved in a project like this.
I know that the game I'm developing will not make me win $, but that really doesn't really matter to me. My game is taking 2 and a half years to finish, but what motivates me is not $.
Making video games is and always has been favorite hobby, and I think I want to keep it that way. I don't want it to become a job.
 

rottame

Member
Making video games is and always has been favorite hobby, and I think I want to keep it that way. I don't want it to become a job.

Wait until you have a family. Working nights is OK for a while, but at some point you realize that making games is a very hard hobby to keep when you have a full time job and a family.
 

razu

Member
Wait until you have a family. Working nights is OK for a while, but at some point you realize that making games is a very hard hobby to keep when you have a full time job and a family.

For real!

Part of what I'm looking forward to in getting Chopper done.. is getting some spare time back! Imagine the luxury.. finish work at 5:30pm, don't write code until 9am the next day!! Or from Friday 5:30pm to Monday 9am!!! Paradise!

I'm taking a good break after this game, that's for sure!
 

missile

Member
... Part of what I'm looking forward to in getting Chopper done.. is getting some spare time back! Imagine the luxury.. finish work at 5:30pm, don't write code until 9am the next day!! Or from Friday 5:30pm to Monday 9am!!! Paradise! ...
It seems to be the goal, indeed.
Strange!


@rottame: Welcome over here!
 
My main job is only 23 hours a week right now, used to be 30+ and 40 at christmas time but otherwise I have a good 50/50 on my own project and working in a store, which it a pain in the butt but hey it makes money.
 

scaffa

Member
Also joined the Global Game Jam this weekend. Was in a group with some friends and we decided to build a concept that I came up with. After some design discussions I handed over that part to someone else. In the end I was primarily the artist, was drawing for 25 hours straight. Sadly not everything ended up in the game of course.

Really happy with the end result, for the time that we had I think we did a nice job. It was also quite the crowd-pleaser when we showcased the game at the end of the jam. Here is a description:

This is the tale about a knight who is madly in love with Lady Gloria. To overcome his fears he asks four villagers to help him on his epic journey. In a hectic 4 player co-op mode you and your friends take control of the villagers.

Use your tools wisely and gather the required resources to make the castle even more presentable when the Knight finally admits and shows his true love to Gloria.

Work together to achieve the end goal, gather resources, pickup fancy hats to show your true style and enjoy the sights. Or even stab your friends in the 4 player co-op saboteur mode in which one player will work against the rest! Has to be played with four controllers.

titlescreen_background.png


press_10.png


You can download the game here: http://globalgamejam.org/2013/quest-gloria
 

Platy

Member
I don't know whether it's encouraging or discouraging to see people make more in a weekend than I do in 2-4 years.

If it helps, they all stayed the weekend (and friday) all wake up and most had at least 4 people groups. So it is a 60 hour worktime for 4 people ... wich makes ...LOTS of time

The Coward one is a one man game (the girlsfirend had minimal help), but it is more of an engine test than actual game with begining and end
 

Fireblend

Banned
I don't know whether it's encouraging or discouraging to see people make more in a weekend than I do in 2-4 years.

I was part of a 4-man team. 2 programmers (one of them me), 1 audio/music guy and 1 designer. Really a perfect setup.

We all slept ok, I think. At least 5 hours per night. I'd say total time per team member was around 35 hours in average.

But in the end, it's not really a matter of time but setting the right scope for your project, and aiming low at first. Then when you have something playable, iterate a bit and add polish and when you have less than 4 or so hours left, cut your losses and finish the game. Doing a jam is lots of fun, specially with people you haven't ever worked with. This was my fourth jam and easily my best one yet (I've done 2 GGJs like this one and 2 Ludum Dares, which are solo and not in teams). You definitely get better at time/effort management with each one, and I think I'm about ready to start working on my first real non-jam effort. More news soon :D

Edit: By the way, I would really appreciate it if you guys check it out and provide some feedback :)
 

ThatObviousUser

ὁ αἴσχιστος παῖς εἶ
There is basically no code. Literally just 4 lines simulating a jump to the right and spawning the little colored squares - this is looped 3 times with different colors. The rest is Construct's physics engine doing the work. You have parameters here to change gravity, acceleration etc., but that doesn't happen in the code or at runtime. What you see causing these wildly different jump arcs is *only* the framerate changing.

And even with no change in the framerate, this is the result due to (unavoidable) framerate jitter (+/- 2 fps):

notFrameLocked.png


^ And that's just one example. Every time you restart the simulation the difference in the arcs between the three jumps is slightly different. It is only predictable in the way that the framerate jitter is. In this post I described the only way to get deterministic results: forcing the engine to literally stop whenever it doesn't render at a full 60 fps. It is bizarre that this is necessary and the fact that their delta time implementation, however imprecise it may be, can't even compensate for minimal framerate jitter of +/- 2 fps is certainly baffling as well.

But rest assured, this is a fundamental flaw in Construct's physics engine. It has many of those.

Yikes, this is some disgusting stuff. =/ Commented on that thread, hopefully if we make a big enough stink about this it'll get changed.
 

Pietepiet

Member
I don't know whether it's encouraging or discouraging to see people make more in a weekend than I do in 2-4 years.

The thing with Gamejams is you have so little time, so you're super focused on getting something cool done. No feature creep, no spending forever polishing stuff.

Have you ever jammed before? If not, give it a shot. It's very refreshing.

[EDIT]Hell, we should do a 3 hour or so Jam sometime with GAF. Everyone gets the same theme and a couple hours (3 to 5 is ideal) to make something. You'll learn new stuff, it's a fun time killer and by the end of it you'll have a little game to release.
 

Blizzard

Banned
The thing with Gamejams is you have so little time, so you're super focused on getting something cool done. No feature creep, no spending forever polishing stuff.

Have you ever jammed before? If not, give it a shot. It's very refreshing.

[EDIT]Hell, we should do a 3 hour or so Jam sometime with GAF. Everyone gets the same theme and a couple hours (3 to 5 is ideal) to make something. You'll learn new stuff, it's a fun time killer and by the end of it you'll have a little game to release.
Yep, I went to the last two global game jams, and sort of made a failed ludum dare attempt.

With one artist, one programmer (myself) and one support/audio person, we finished a game in last year's global game jam. I think I posted screenshots, maybe a post mortem, etc. Changing designs, keeping scope limited, getting enough sleep at night, all that sort of stuff is definitely important. I am just not as fast as some people at getting something really impressive-looking put together.
 

Randdalf

Member
Does anyone here have any experience writing a custom memory manager for their game? Game Engine Architecture has a section on it, but there's some things I'm not entirely clear on, such as how to store the free list in a pool allocator and so on.
 

Blizzard

Banned
Does anyone here have any experience writing a custom memory manager for their game? Game Engine Architecture has a section on it, but there's some things I'm not entirely clear on, such as how to store the free list in a pool allocator and so on.
Just out of curiosity, may I ask what your target platform is? (assuming it's not PC)
 

Randdalf

Member
Just out of curiosity, may I ask what your target platform is? (assuming it's not PC)

Well, potentially every platform. I think I understand it better now, re-reading it, basically you use every free block to store a part of the free list since there are as many free blocks as there are entries in the free list. I'm not really writing an engine so much as experimenting with stuff that might be useful if I were to make an engine. Just general tools and techniques, really.
 

Dali

Member
Pretty much.

My aim for this game is: Become A Published Indie Developer

So, I can't fail.

As a freelance developer, hopefully it'll be a good advert for my skills. And having a game you made entirely by yourself gets past the "What bits did you do..." obstacle of talking to new clients about the titles you've worked on before. The answer becomes: All Of It!! :D

Promoting and getting Chopper Mike seen by a reasonable amount of people... seems as much chance of winning the lottery.. but, then, someone wins that every week!! :D

I'm more excited about the things I can't imagine, like the emails and meetings I've had just from posting about my game. That's cool!

If you count success purely in terms of financial success, then I think you're in for a tough time. But if you look at the bigger picture, just getting a game out is a massive achievement! So, big high fives all round to published and to-be-published devs!! :D
I kind of have the same aspiration only I'm not a developer really so if I don't make money there's no real world benefit like you have with chopper serving as a portfolio entry or resume padding. I guess it's basically an art project for me. Seeing what I have in my head turn into something concrete and interactive in front of me is quite satisfying. Im just making something I think will be fun and hopefully everyone else will find it enjoyable.
 

Blizzard

Banned
Well, potentially every platform. I think I understand it better now, re-reading it, basically you use every free block to store a part of the free list since there are as many free blocks as there are entries in the free list. I'm not really writing an engine so much as experimenting with stuff that might be useful if I were to make an engine. Just general tools and techniques, really.
I guess the thing is, PC (and potentially several other platforms? I really can't answer on this front) is presumably going to manage your memory allocation and free requests perfectly well, unless potentially you are making a huuuuuge 3D open world engine or something.

This means that you may well end up in the situation of spending a lot of (limited?) time to learn about something that is probably not at all necessary for actually making games.

Now if you're say, studying computer engineering (I did, got my M.S.) and really want to understand memory allocation for reasons along those lines, great. Or if you have free time and you just like understanding it, great. But if your actual goal is an engine and/or game, 2D or even 3D, and you have limited time because you're working a job as well, I don't know that it'd be the best use of your time, just my respectful opinion. :)
 

Randdalf

Member
I guess the thing is, PC (and potentially several other platforms? I really can't answer on this front) is presumably going to manage your memory allocation and free requests perfectly well, unless potentially you are making a huuuuuge 3D open world engine or something.

This means that you may well end up in the situation of spending a lot of (limited?) time to learn about something that is probably not at all necessary for actually making games.

Now if you're say, studying computer engineering (I did, got my M.S.) and really want to understand memory allocation for reasons along those lines, great. Or if you have free time and you just like understanding it, great. But if your actual goal is an engine and/or game, 2D or even 3D, and you have limited time because you're working a job as well, I don't know that it'd be the best use of your time, just my respectful opinion. :)

I'm currently studying for a master's degree in Computer Science, so yeah, it's more a learning experience than anything else. The book does mention that you can get away with using the standard malloc() and free() if you're developing a PC game because of how the hardware is architectured, but I figured it'd be useful to know how to do were I to develop on another platform.
 

beril

Member
Does anyone here have any experience writing a custom memory manager for their game? Game Engine Architecture has a section on it, but there's some things I'm not entirely clear on, such as how to store the free list in a pool allocator and so on.

I did a basic memory manager for the 3DS version of Gunman Clive, but I don't really know what's considered to be the best practice. I basically just divided up the memory in a bunch of chunks of a few different sizes and had a simple array to keep track of which chunks were occopied.
 

Randdalf

Member
I did a basic memory manager for the 3DS version of Gunman Clive, but I don't really know what's considered to be the best practice. I basically just divided up the memory in a bunch of chunks of a few different sizes and had a simple array to keep track of which chunks were occopied.

That's nice to know. Out of interest, how did you deal with dynamic allocations that weren't of a common fixed size (e.g. a struct or object)? Round the size up?
 
Does anyone on Windows use something other than Visual Studio for Unity3D development? I recently formatted my PC and thought it would be a good opportunity to try something new if it is good.
 

Margalis

Banned
I'm currently studying for a master's degree in Computer Science, so yeah, it's more a learning experience than anything else. The book does mention that you can get away with using the standard malloc() and free() if you're developing a PC game because of how the hardware is architectured, but I figured it'd be useful to know how to do were I to develop on another platform.

Generally on a console you write your own allocator even if it doesn't really do anything just so you can add instrumentation, tracking, etc. (Although it probably should do something!) It's probably a good idea to do on any platform for those reasons.

In a B3D thread that was linked here there was a Sony presentation about writing an allocator that would allocate like data in contiguous blocks. For example if you have a transform as part of an object and you have code that runs through the transforms make your allocator put all the transforms next to each other so you get good cache use.

Mike Acton (Insomniac lead tech dude) writes a lot about this sort of stuff, data driven rather than object-driven design. It translates very well to stuff like Cell but also gives across the board improvements due to cache coherent, predictable memory access patterns. Probably worth googling if you are interested in that sort of stuff.
 

beril

Member
That's nice to know. Out of interest, how did you deal with dynamic allocations that weren't of a common fixed size (e.g. a struct or object)? Round the size up?

Yes I rounded up, and of course a lot of times an allocation would need several chunks as well, as I only had a few different sizes.
 

razu

Member
I put Game Center into Chopper Mike, in my lunch break today.

I used the Prime31 plugin for Unity. Amazing! Spent most of the time setting up iTunes Connect and making a game centre button image!!

Wicked! I got leaderboards!!! :D
 

cbox

Member
I just received my finalized 8 track OST made for my game, I hope you guys like bass driven dubstep chiptune boss themes
2lANo.png


seriously

Did you make it yourself? This is one of the hardest parts I'm facing in our game :(

-

On another note, we've made some awesome progress. We now have enemies that shoot back at you, ones that hide from you and attack once enough have gathered, and generally polished up the controls, gameplay and menu screens. We also added an upgrade system to the ship so you can increase the power of missiles, the whip and everything else.

I rendered this quickly last night as one of the enemies that shoots back at you, the rest just kind come at you ala geometry wars.

iObwh3HJqIjp.gif


and a shot of the upgrade mode, which is realtime once you venture outside of the play field.

ibhrAWXWxJIW7r.PNG


If anyone is interested in trying out the game, we'd love to hear some feedback about the controls and what you'd like to see in the game. We haven't done any user testing, and are at the stage now that we think we can start. Only thing is that a lot of elements are missing unfortunately. For anyone wondering, the game is Shwip as seen on greenlight and it requires a 360 controller and some extra software like .net and xna I believe. I can iron out the details and post later on.
 
Status
Not open for further replies.
Top Bottom