Halfgeek's Forum Posts

  • In the gaming industry there is no shortage of talented people or hard working people. In fact, its the norm. Programmers and artists are very hard working, pulling consistent overtimes and weekend work.

    Why don't they all succeed and only a few do?

    Luck and marketing has a lot to do with it, despite what some of you may wish.

    Making a good game is not the only thing you need, because there are plenty of good games that nobody plays on Google Store or iOS, likewise for PC. That and "good" or "bad" is highly subjective. I personally hate the Call of Duty franchise, its a terrible un-creative recycling of the same old every year, or twice a year. But I'm clearly wrong because its always a blockbuster. It's also one of the most marketed game franchises out there.

    Talk to people in marketing, they will tell you the masses are mindless, they want to be told what is "good" and not. Given enough money in marketing, they can sell turd.

    This obviously does not apply to indie game devs, who are often already poor and cannot afford marketing but rely on word of mouth (forums) or the goodwill of editors. Here, talent and a "good" game helps a lot to get your game out there to be known, but getting the masses to play and like your game? Complete luck.

    I mean, who would have thought a few years ago, that an endless running jumping (Temple Run) including a cow (Hay Day) would be an awesome success because its a "good" game? Did anyone think a game such as Flappy Bird is a "good" game and would be an awesome success?

    How about these:

    https://play.google.com/store/apps/deta ... ogle&hl=en

    https://play.google.com/store/apps/deta ... nator.game

    If someone said to you, hey, lets make a game where I send sperm to attack eggs because its going to be wild and successful, what would u say? Or an endless runner with a Sperm avoiding spermicide?

  • Dynamic UI, icons only shown if Modules are equipped. Launchers will have a SpriteFont to indicate number of missiles left.

    Touch on Shield Booster or EW to activate the module. Touch on Launchers will toggle the next touch on screen, it will launch a missile towards your touch point.

    Aiming for the most minimalist design that I can get away with while still providing all the info required for gameplay.

    Note the small green circle trailing the NPC ships. It's the "Hitpoints" indicator. Changes colour to yellow or red based on % of ship shields left. I originally planned to have the typical ship UI, bottom right corner, touch on a ship to bring up a bigger icon and its stats/shields.. but felt it was not necessary and would add clutter. Now all ships show their current shields via a dot. Maybe too minimalistic??

  • I think the dream is to be able to make money doing what you love in a career that is entirely your own, not having to answer to a boss or something. People naturally are curious about monetizing and ads and making a quick buck because they want to dip their toes in the water. Most know that they will spend more on C2 than they will make on their first game. As for me, I'm dreaming big, but I wouldn't ever dream of monetizing or selling a game until I'm satisfied with it. I think it's too shameful to release a half-assed app with ads enabled or anything like that. You won't see me release unless I can personally assure you of its quality, and I may be a year or more away from such a release, but it'll be worth it when I get there.

    Excellent post, spot on summation for most indie devs I would imagine.

    It is a dream we are chasing, being able to feed ourselves, take care of loved ones, paying the bills and rent by doing something we love: making and playing games.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • To not be poor at any creative job, especially indie games.. you need:

    1. Talent

    2. Marketing

    3. Luck

    Fimbul

    Good post, very insightful. Atm I've been going full indie. If in a few years things don't work out and I have no luck, it'll be back to the 9-6 day job.

  • megatronx

    There's been lots of criticism of C2 low performance on mobiles, I just think its up to the users to optimize their games. Sure, HTML5 is 50% slower than native code, guess what? People forget that phones this year are 100% faster than last year. And last year's phone certainly run HTML5 games just fine, so do phones from 2-3 years ago.

    I had planned to do a point defense drone that shoots down missiles, but it wasn't required since ships can equip a PD module that fires a laser at incoming missiles already, it was kinda redundant. And the support drone heals by replenishing your shields.

  • Progressing on the Combat system.

    Orbiting Drones with their own AI Turret. Combat Drones pew pew and Support Drones heal heal.

    Also I was so stupid in spawning those parallax space-dust particles on the entire layout randomly... too many needless sprites when they aren't present onscreen. Changed it to spawn in particles only in the restricted ViewPort, and destroy the particles off-screen when the player ship moves. Doing it like this means I can have more particles on-screen (gives better illusion of movement) while reducing the overall count massively, making it run better on mobiles.

  • Sorry if this is messy its just my thought process. I cannot check your CAPX because Im still on an older C2 version for now.

    Here's a quick example of moving on Y axis with DT to give it a smooth transition (attached).

    200 * dt = 200 pixels over 1 second, but it moves per frame so its smooth.

    You can have your enemies trigger to move up or down using that and some variables/booleans. Here's how I would do it if not using Pathfinding.

    For example, your ground combat area has 4 Y-axis Level (1,2,3,4) you want enemies to travel to corresponding to 500, 550, 600, 650 on the Y axis.

    You do a check, Player.Y < 500 (Trigger Once) = Set global variable Level 1. And same for setting Level 2, Player.Y < 550 & > 500 etc.

    Add a trigger for your enemies. Level = 1 & Enemy.Y > 500 = set Enemy.Y to Self.Y - (200 * dt)

    Your enemy will move up gradually until he is on Y-axis 500 then stop going further up.

    If your player moves down, it will trigger the global variable Level to be 2. Then you have another movement trigger for Enemy, Level = 2 and sub-events Enemy.Y > 550 as well as another sub-event Enemy.Y < 550 (above and below 550/player Y) to move enemy up or down to match the player Y axis.

    If you combine it with Bullet Behaviour for X axis movement (angle of motion 0 or 180), the delta time Y axis will cover their Y axis movement for you.

    I hope that makes sense, it should work.

    Edit: Oh and for your 2nd point, you want enemies in close combat range to always maintain constant Y with player, just do a distance check.

    Compare two variables, distance(Player.X, Player.Y, Enemy.X, Enemy.Y) < 100 = set enemy instance variable (melee) to 1/true and set enemy.Y to player.Y

    Then filter out other far away enemies so they move up and down as above, by adding in a condition that check for Enemy.Melee = false etc before triggering the movement up or down.

    Messy thought process, apologies.

    Edit2: Actually if you just want enemies to spawn on their own Y axis and ONLY move toward the player in close combat to fight on the same Y axis, its even easier, just only use the distance check, set enemy instance variable Melee to true, and when its true, set Enemy.Y to move to Player.Y using dt.

  • It's best if you divide your path to 4-5 different Y levels you want enemies to be on. Then just do a trigger checking for player Y, if less or greater than a certain level Y, trigger a boolean on enemies to move them up or down to another Y level, the movement can be smoothed out as per tick add delta time pixel Y.

    Or another approach is to do a pathfind behaviour, not to the player, but to another temporary sprite that you generate behind the player and call the update every few seconds to simulate enemies adapting to your player movement, but with a delay. I have a similar setup for my enemies in my Ninja fighting game (attached image), the black lines are pathfind boundary.

    Pigs spawn on the right and if its at the 2nd upper path, they scale their size according to their Y over time so as they run down they get bigger. They run towards a spot behind the player. You can easily change where enemies move if you get to them pathfind towards a sprite which you control the spawning based on player X/Y. Obviously if they are on the left of screen, they mirror and flip the art to travel back etc.

  • I don't understand, if you want enemies to move up or down to the Player Y axis before moving forward, the player will just move up and down to prevent enemies from moving to attack him, no?

    Otherwise you can do a set Enemy.Y to Player.Y every tick so they run up or down as well as towards the player (via X movement) and will match the player's Y axis... but then every enemy will be on the same plane. You'll have to filter it with some variables.

    Hopefully some one else can chime in.

  • Integrated graphics from Intel (HD4000 etc) or AMD use system ram for vram so its actually not an issue as most of those come with at least 4GB of system ram for awhile now.

  • What you can make with C2 (as long as its 2D and not an MMO), is nearly always limited by your own talent.

  • 1gb vram is on most discrete video cards, with many now 2 to 4gb. iGPU from Intel such as HD4000 uses system ram as vram so its not an issue.

  • There's already a few great C2 games on Steam via Greenlight. Mortar Melon for desktop also did very well.

    Making games is fine and good, making a hit game is part talent, good marketing and a lot of luck.

  • OlivierC You won't have any issues with memory management with Intel XDK, its amazing actually, the only lacking feature atm is AdMob and IAPs which are coming soon (hopefully very soon!)

    And Ashley is working with Ejecta to give it proper memory management, so soon we'll have both iOS and Android exporters that can handle bigger games great.

  • OlivierC

    jayderyu

    Excellent work and example there. I also agree with you guys, definitely for PC development, C2 is only limited by your talent.