cjbruce's Forum Posts

  • What are you practicing towards by making lots of games if you are not aiming towards an audience?

    Currently it seems like 'idle' is the main draw card, along with killing stuff. I have a game with 'slayer' in the title on kongregate which is an idle game with 5000 plays, and an idle game about growing lettuce with 3000 plays.

    My newer small games I'm trying out on Scirra arcade, which is a smaller userbase I grant, but I thought I'd see a touch more traction. Then again 'Khloro Slaying' on the Scirra arcade is mine and got 62 players, 85 plays - the range I'm expecting (slightly better, actually).

    I guess having 'you're killin' stuff' in the title probably is the main draw card. I've been trying to avoid the topic of violence and killing.

    I guess I should have figured that already. Maybe I was trying to avoid acknowledging it.

    I figure I have spent at least 300 hours on C2 projects whose only real value was in developing my skills. Over the course of the past three years I have accumulated 153 exported C2 projects, 50 of which are now published on my website. As a teacher, my target audience is my own students first, then other students around the world. I typically come up with an idea a few days before we need it in class, get something working within a few hours, then spend many more hours polishing it so that it is good enough to publish. Out of the 50 simulations, only about 10 see the lions share of users.

    Looking back, every simulation I published was a passion project that I felt needed to be built, but I started a lot of projects before I first stumbled on one that was truly novel. Once I realized that I had something great, I polished it to the limits of my ability and published to the web, iTunes, and Google Play, where it has been pretty successful on all three platforms.

    I suppose that I haven't really addressed your original question. I don't think that attracting a significant number of users has much to do with the theme of the game (zombies vs idle game vs puzzle game), aside from the fact that a game should match the player's needs on the website where it is published. Instead, I think attracting players has a lot more to do with how polished your game is, and how effectively you let the world know about your awesome game. If "kill-kill-kill" doesn't interest you, maybe you could try a different website to show off your creative work? Perhaps one that caters to players of the games that you want to build?

  • While it is true that a master might be able to make a beautiful game quickly, it is highly likely that the master spent thousands of hours honing their craft to get to the point where they can do it quickly.

    Thats the big advantage of doing lots and lots of small games for practice. While you are gaining skill, don't expect any of the hundreds of projects you will create along the way to be popular or successful. There will be a few gems, but most will not be worth publishing.

  • Characters

    The laser tank and creep models and textures were created by Tam Vu for Robot Rumble. They were rendered in Blender with Lambert/Phong shaders. We are planning to use Q3D's "basic" shader in-game (no shadows):

    Laser Tank

    Level 1 Creep

  • As a point of comparison, I recently started building our 3D game in Construct 2 using the Q3D plugin just to see how it would compare to building the same game in Unity.

    Originally, the game was set to match the resolution of the device. On a 2017 Surface Pro 4 with a hi-DPI screen, this brought frame rates down to below 30 fps, almost unplayable. I have found that by keeping the screen resolution lower (854x480) and disabling all effects, performance is a rock-solid 60 fps/50% CPU load on both a low-end 2013 MacBook Air and the Surface Pro 4, and is 58-60 fps on an iPhone 7 plus.

    The game is physics-intensive. I built several prototypes of the game, first with a custom 2D physics engine (built using C2 behaviors) and 2D graphics, then using the standard C2 physics engine with Q3D graphics, and finally with the Q3D Oimo.js 3D physics engine and Q3D graphics. In the end, I found that the OIMO physics engine gave me the best game feel, and by limiting the number of physics bodies I could keep CPU load down. The standard C2 physics engine was a smooth 60 fps as well, but the game really needed the z-ordering and 3D torque of a full 3D engine.

    Now that I am a few months into development, I am planning to stick with C2 rather than switching to Unity. I haven't found any technical roadblocks to completion, and I expect the finished game to fall into the "medium-sized" category. I have been a heavy C2 user for the past three years, so I am very careful with the way I structure my event sheets for maintainability. There have been several times that I wished that C2 had true object inheritance, but most of the time I am happy that to work with event sheets rather than C#.

  • Good points by tunepunk here. If I am looking through a list of games, the first thing that catches my eye is the art. If I am looking through the Scirra arcade, for example, I am more likely to click on artwork that incites an emotional response.

    Artwork that incites this response typically takes effort. Concept sketches can be quick, but polishing and refining might take many hours or days for each character.

    I wonder if the better approach to see what attracts an audience might be a beautifully crafted character in a convincing pose. Once you have people's attention, then work on the game itself.

  • Robot Rumble 2.0 - a first-person strategy shooter

    Command a team of robots to destroy your opponent's base, but make sure to defend your own!

    -Each player controls a team of robots.

    -Switch between your robots mid-battle to gain the upper hand!

    Playable Demo:

    https://dl.dropboxusercontent.com/u/55106174/rrfpsbattlearenatest/index.html

    Robot Rumble 2.0 will feature:

    -4 new robot types - laser tank, rocket tank, shotgun tank, electric shock tank

    -Bug-like creeps

    -Amazing professional artwork / UI / level design courtesy of Tam Vu http://www.vutam.weebly.com

    Robot Rumble 2.0 (RR2) is a ground-up re-imagining of the successful AirConsole 3D Robot Fighting game "Robot Rumble" for AirConsole: https://www.airconsole.com/#!play=com.nerdislandstudios.robotrumble

    Technical Details

    -Both the original Robot Rumble and Robot Rumble 2.0 are currently built using the excellent Q3D plugin.

    -RR2 will be designed first for local multiplayer on AirConsole, with additional content and levels added later to support a launch on iOS / Android.

    -RR2 is intended to be both a fun game and a demonstration of what is possible in 3D using Construct 2 / WebGL.

    I have asked myself many times why I am rebuilding Robot Rumble in Construct 2 instead of Unity 3D, and the answer is simply because I want to explore the limits of what can be done using Construct 2.

    Current Status

    Camera: After about a month of experimentation, we have settled on a 3rd-person over-the-shoulder camera view.

    Controls: The over-the-shoulder camera view makes mobile controls simpler. With automatic firing, the player only needs left/right buttons. After a lot of experimentation, we found that playing this way seems the most natural.

    Multiplayer: For AirConsole local multiplayer, the over-the-shoulder camera view means that RR2 will be limited to 1-4 players with a "Goldeneye"-style 4-way split screen. By keeping the number of players down, we can amp up the physics and effects. Right now, all robots are using physics-based wheel driving, so that they roll and tumble naturally on top of each other.

    Screenshots:

    iPhone screenshot showing the results of a successful battle -- the player won using a laser tank. The "ghosts" in the screenshot were all killed:

  • So I've gone and bought the plugin, but how do I get started using it?

    DKinGer,

    In addition to the documentation (which is excellent), there are a number of good tutorials available by searching for "q3d":

    https://www.scirra.com/tutorials/search?q=q3d

    Traditional tutorial with explanations and screenshots:

    https://www.scirra.com/tutorials/9456/building-your-first-3d-game-with-the-q3d-plugin

    Video tutorials by scoterr:

    https://www.scirra.com/tutorials/9417/creating-3d-fpp-games-in-construct-2-by-creator-of-castle-of-hrju

    https://www.scirra.com/tutorials/9472/hud-sprites-and-mechanics-in-3d-for-q3d-plugin-part-1

    https://www.scirra.com/tutorials/9421/importing-3d-models-for-q3d-from-blender

  • cjbruce none, I can't be uploading a new plugin to the store since users who bought the plugin will have to pay again for the update.

    So option A would be correct then?

    This would mean that you can no longer create and sell anything called "Babylon"?

  • cjbruce Unfortunately I'm dropping the plugin.

    Uh oh. Which of the following do you mean?:

    A. B3D for C2 will no longer be sold on the Scirra store.

    -or-

    B. B3D will be sold on the store at its current version, but there will be no further updates for the C2 plugin.

    -or-

    C. Version 1.0 of the C2 version of B3D is currently under development and will be released, but there will not be a C3 port of B3D.

  • greenleafvt

    No worries. X3M is actively working on the update to B3D right now, and should be about ready to launch the new version with some pretty significant changes.

    If you can't wait, there is also the excellent and fully-mature Q3D plugin. I am using Q3D right now while I wait for the new features coming soon to B3D.

  • cjbruce

    If Q3D master is not global aswell that might lead to the issue, since you're destroying the scene the objects are linked to, but they can persist in that scene, while another scene is created that they are not a part of.

    Very interesting. I hadn't paid attention to whether or not Q3D master was global. I had just assumed that I needed to place a new Q3D master in every layout. I just rebuilt the game from scratch today, and was noticing similar behavior with the raycaster not casting -- I will look into this tomorrow to see if it is a "global" issue.

  • cjbruce

    I'm not sure what you mean, its unclear. Even if it's in the debugger it might not exist in the same scene, but there are too many factors for me to understand whats going wrong. Send me a Capx that demonstrates the problem.

    The bug went like this:

    I had two raytracers. One raytracer looked down to see the floor normal. The other raytracer was used for a laser weapon. When I loaded directly to my in-game screen, both raytracers worked. When I loaded from the start screen, then used the "go to layout" to go to the game layout, neither raytracer would raytrace. They both existed with UIDs in the inspector, but they simply would not work.

    It looks like the bugs might have been related to one of two things:

    1. I was using two different raytracer objects.

    2. I had marked the raytracer objects as global.

    In the process of troubleshooting, I set both object's "global" property to "no". Then I added one of the raytracers to a container with a 3D game model. Finally, I refactored the event sheet so that all raytracing was done by just one of the raytracers, and deleted the unused raytracer.

    After all of this, the problem of raytracers not raytracing when a new layout was loaded went away.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • cjbruce How change orientation controiller in construct 2 ? i have portrait ;/ I would like landscpae, how ?

    When you place an "AirConsole Controller" object in a layout, be sure to change the "Orientation" property to "Landscape".

    I also recommend changing the "Use HTML elements" property to "False".

  • QuaziGNRLnose

    Is there anything weird about the raytrace plugin? I have added it to a game layout, then created a new layout as a starting layout. I can loop over all objects when I load the game layout, but when I load the "start" layout first, then go to the game layout, the raytrace object exists in the debugger, but I can't loop through any objects with it.

    Any suggestions?

  • cjbruce good example! This should be described officially airconsole site!

    Thanks! I cross-posted this to the official AirConsole plugin thread, so hopefully people who are looking to make AirConsole games see it.