- Titan attacks ultratron droid assault revenge of the titans how to#
- Titan attacks ultratron droid assault revenge of the titans full version#
- Titan attacks ultratron droid assault revenge of the titans drivers#
- Titan attacks ultratron droid assault revenge of the titans code#
- Titan attacks ultratron droid assault revenge of the titans professional#
Titan attacks ultratron droid assault revenge of the titans full version#
Also at this time maintaining separate demo and full version builds proved to be another pain point so we removed that too and released the now ubiquitous unlockable demo. The full game weighed in at 10mb.Įventually using JET got to be a bit too fiddly so I started using a sneaky cut-down JVM.
Titan attacks ultratron droid assault revenge of the titans professional#
As it happens we managed to squeeze the Alien Flux demo into a 5mb download by using Excelsior JET Professional with global optimisation and a bit of cunning. In 2002/3 the size of a demo was still pretty important as a lot of people were still on 56k or ISDN and there was a lot of anecdotal evidence around at the time of a rapid falloff in the number of demo downloads as the size exceeded 5mb (yes 5mb!). Technical problems back in 2002/3 amounted to the size of the Java runtime environment and the immaturity of the LWJGL (I believe we released Alien Flux with LWJGL 0.7beta). So we spent 6 months attempting to rectify the game (duh) and subsequently we made about $3000.
Titan attacks ultratron droid assault revenge of the titans how to#
We had no idea how to advertise our game beyond hassle a few review sites, no idea how to advertise it at all (and no money anyway), not much of a clue in general. The story is quite well documented in the archives of Javagaming Our first game was the thrice-cursed Alien Flux, an abject failure in game design for the masses, which sold a staggering 211 copies. What kind of problems, technical or not, did you run into when publishing your first game ? The money’s out there, there is a market, but without some rather extraordinary measures it can’t really be reached.Īlso: When puppygames finished it’s first game, how did you sell it ?īy that I mean how did you get people interested, how did you advertise your game, what were your strategies ?īecause before you publish a game, your practically unknown obviously. And this is why we continue to support Linux really. If we add in the complete fluke of being in the Humble Indie Bundle #2, we can safely say Linux was worth it too, as the Linux portion of that was worth around $40k. The Mac version was eminently worth it because a) it cost me zero time in support and b) we had it available for Steam where it’s made another $23k (again, with no support).
Titan attacks ultratron droid assault revenge of the titans drivers#
I don’t use shaders yet - haven’t quite managed to see the “point” and I’m still supporting pretty old OpenGL drivers so I don’t want to waste time with two rendering paths in the code.Īctually I wrote some text here explaining how I do it and what the problems are, but now after explaining I think I can solve my problems with top-down rendering priority of both nested and layered entities/components. The sprite engine is designed to more or less be as efficient as it can be whilst being totally easy to use - I just throw all my sprites into a giant bucket and render them pretty much using brute force, albeit with some nifty batching techniques and double-buffered VBOs. This is only 2D after all! It’s all rendered back-to-front, sorted by a multitude of variables. How do you deal with rendering priority? (or just rendered from lowest to highest Y-value?)
Titan attacks ultratron droid assault revenge of the titans code#
Not sure if this has been asked and I haven’t looked at your code all that well.ĭo you have some sort of scene graph/tree? But Revenge can have several hundred entities trundling around, which would be over 10 times as many collision checks per frame. I never did go back and retrofit DA with a cell-based collision manager because there are still only maybe 100 entities in the world at any one time usually and in fact it could probably have been brute forced without much trouble.
![titan attacks ultratron droid assault revenge of the titans titan attacks ultratron droid assault revenge of the titans](http://revengeofthetitans.com/images/dire/dire-page-bg.jpg)
So although the quadtree was pretty efficient at what it did, it was too generic a solution for the specific problem I had which was managing collisions between hundreds and hundreds of very small reasonably uniformly sized objects I simply didn’t need the ability to check for hundreds of totally arbitrarily sized rectangles. I discovered in RoTT that by switching from a quadtree to cell-based I got a massive performance boost.
![titan attacks ultratron droid assault revenge of the titans titan attacks ultratron droid assault revenge of the titans](https://www.gamerflavor.com/images/06/0665a807299888dc9f2e03468caba3b6.jpeg)
However, in DA and RoTT, almost everything fits into a single cell (or overlaps into 4 cells).
![titan attacks ultratron droid assault revenge of the titans titan attacks ultratron droid assault revenge of the titans](https://assets.vg247.com/current/2013/12/20131220_puppy_games_bundle.jpg)
Looking back, I’d use a quadtree now if the sizes of the collision entities varied greatly, which it handles much more efficiently than the cell based manager.