Sign in to follow this  

Unity [web] Tempest Game Engine

Recommended Posts

URL: Further to the development of a web-based game engine technology, I have released a small client-only demo of the next incarnation of TGE, or Tempest Game Engine. - Data is loaded from XML maps, generated by TilEd map editor - Client employs line-of-sight algorithm found in earlier Ultima games (III-V) - Mouse and keyboard input is possible (keyboard input is currently employed in the demo) My idea for this engine is to utilize random generators for dungeons, worlds, and civilizations (similar to Diablo, Dwarf Fortress, etc, generated on a 'first instance' basis). Additionally, since the game is rendered entirely inside the canvas object, I am toying with the idea of deploying a custom-written user interface (not looking forward to it, though). I had considered using the browser to fulfill this need, however it seems almost a necessity for elegance' sake to keep the UI inside the canvas element. I've begun a small community site geared toward TGE's development, you can find it here: I strongly recommend, if you try the demo, to use Chrome, secondarily Safari then Firefox, and lastly enjoy the screenshots if you have nothing else :) [Edited by - stormwarestudios on March 11, 2010 5:08:47 AM]

Share this post

Link to post
Share on other sites
Hey, the demo looks pretty good -- runs great in FireFox 1.6 :)

I've been working on a javascript RTS game engine for about a year now, and I wanted to mention a few things I have learned:

1.) It would probably be best to draw the UI within the same canvas. However, make sure it is abstracted as much as possible from the game rendering. Have something like:

var ctx = ...;
drawMapObjects(ctx);//castles or towns, things that PC's can walk on... if they aren't drawn in the drawMap function

etc. etc. etc... Have a different draw function for every different layer you want to draw, and just call the functions in the order you want them to be drawn.

2.) I noticed on your website that you want to add multiplayer functionality using AJAX. My best advice with respect to this is... DON'T DO IT. There's a bunch of different things that are wrong with AJAX that makes it bad for games networking. That doesn't mean there's no hope, though. The HTML5 standard includes support for something called WebSocket. Right now only a few browsers have support for it, but someone wrote a library that detects browsers that don't have it, and use a flash bridge to implement the WebSocket. I have tested it in a bunch of different browsers, and it works really nicely. I'm working on trying to integrate it into my engine now.

Here is a link to the library:
(The example is in Ruby... so try to convert it to PHP as an exercise. If you have trouble, feel free to send me a message and I can send you my PHP socket server :))

Here's a link to a javascript game very similar to yours (IE only):

Share this post

Link to post
Share on other sites
Read through your page again and noticed you were having trouble with drawing speeds. Canvas draws seem to be optimized to draw small amounts of large images, so it may help your framerate if you pre-render large sections of your map or the whole map (either on the server with PHP GD or on the client using data urls) and using 1-4 canvas draw calls to render the relevant portions. It's important to note that IE doesn't support data urls over 64k (I think -- not sure about newer versions), so proceed with caution.

Share this post

Link to post
Share on other sites
Original post by stormwarestudios
Researching the potential with WebSockets; I'm liking it.

If you go with sockets I have both a PHP5 based socket server already written as well as a Ruby 1.9 one.

Share this post

Link to post
Share on other sites

The demo looks good in my opinion. It is also very fast (using firefox 1.6).

However, i'm working on a browser game aswell ( and have some questions:
* Isn't it easy to "cheat" with the xml based solution? What i mean is: There is no server-side check if i move from x to y.
* How are you planning actions (e.g.: attacking a mob, viewing an object) in the map. Is this also done by xml? That looks to me that i can make a custom javascript/webpage who renders the full 'game'.

Thanks for the Web-socket. It looks very handy.

Share this post

Link to post
Share on other sites
If you check the roadmap on the site, there is a little more insight (albeit keyword being "little"). The intent is to process game logic server-side, and present results client-side, no different than the typical client/server game.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Partner Spotlight

  • Forum Statistics

    • Total Topics
    • Total Posts
  • Similar Content

    • By Strifexxx
      Hi guys, check out our new game about sticks. Feedback welcome!
      Download on Google Play:

      Stickman Dismount 2 Annihilation is a sequel to the legendary game of survival, where to make incredible tricks, driving different transport and getting into different crash! The game is made in the best traditions of simulator games with ragdoll physics elements. Make incredible jumps and tricks and destroy the enemy! Your task is make the finish alive or dead! 

    • By Knife Entertainment

      New indie game development studio Knife Entertainment expects to release their debut project My Little Story: Reborn.

      Reborn is the first-person horror containing the spirit of the occultism and mystery. We decided to give players something, which they miss so much in games of this genre: you don't have to hide in dark corners trying to escape from some invulnerable monster. It will be vice versa. We gave players everything to make even the most savage and malicious enemy tremble with fear. You'll face the cruel world full of danger, to expose dark secrets and to fight with ancient evil.

      Our principal credo is our great attention to various details. That's why there are a lot of easter eggs in the form of references and visual quoting of such cult films, games and art works, as The Evil Dead, True Detective, Silent Hill, etc. The release is scheduled for the end of this year.
      Contact us:

    • By ilovegames
      Have you ever dreamed of fighting with dinosaurs? If so, then this game is for you. Hold out against the bloodthirsty prehistoric lizards for as long as possible. Seize more weapons, including a shot gun, sword and other stuff. Good luck!

    • By INTwindwolf

      We are an indie game studio consisted of professional and friendly people. Additionally, we are a team of skilled artists and dedicated indie enthusiasts. Our current project is INT, developed on Unity Engine 5 for platforms Windows, Linux, and Mac.
      INT is a 3D Sci-fi RPG with a strong emphasis on story, role playing, and innovative RPG features such as randomized companions. The focus is on the journey through a war-torn world with fast-paced combat against hordes of enemies. The player must accomplish quests like a traditional RPG, complete objectives, and meet lively crew members who will aid in the player's survival. Throughout the game you can side and complete missions through criminal cartels, and the two major combatants, the UCE and ACP, of the Interstellar Civil War.
      Please note that all of our current positions are remote work. You will not be required to travel.
      For more information about us, follow the links listed below.
      INT Official website
      Steam Greenlight
      IndieDB page
      Also follow social media platforms for the latest news regarding our projects.
      Animation Rigger
      Community Manager
      Website Administrator
      This is the perfect opportunity to get into the game development industry. Being an Indie team we do not have the creative restrictions often imposed by publishers or other third parties. We are extremely conscientious of our work and continuously uphold a high level of quality throughout our project.
      We are unable to offer wages or per-item payments at this time. However revenue-sharing from crowd-funding is offered to team members who contribute 15-20 hours per week to company projects, as well as maintain constant communication and adhere to deadlines. Currently the crowd-funding campaign is scheduled for the year 2018. Your understanding is dearly appreciated.
      Thank you for your time! We look forward to hearing from you!
      John Shen
      HR Lead
      Starboard Games LLC
    • By Misantes
      Hey everyone
      I've hit a milestone for a side-project of mine I've been working on for some time. It's been a frustrating labor of love, but reached my version 1.0 mark recently
      The asset can be used to create procedural music configurations that are editable in real time in a game. You're able to edit dozens of variables like the scale, mode, tempo, instruments, effects and dozens of other settings to react and adapt to gameplay or other events (or just use it as an easy tool to custom make music for your game). 
      It's available on the unity asset store here:!/content/99791
      A demo is available on my github page:
      Video Link-Main:
      Video Link-Presets showcase:
      Video Link-Features Overview:
      Video Link-Chiptune example:
      It's still in active development, despite this release, so I'd be very interested in any feedback ( good or bad), advice, or suggestions for what may make it more appealing to you as developers. It'd be useful to know what features would make it more useful to you as a developer, or feedback on any aspect of the player, really, as I have a few directions I can take the generator for future updates.
      Thanks for your time! I look forward to anyone's thoughts :).

  • Popular Now