Jump to content
  • Advertisement

Pathfinding, Tower and Wall Placement Helpers.

Awoken

921 views

Just wrapped up organising the code.

Originally when I set out to program this project I had the idea that would-be followers of my efforts could just copy and paste quick little bits to the base files from my Introduction to Three.js post.  However, I'm not that organise and don't have the level of skill to be able to pull that off.  I've had to go through many older functions and modify this or that.  So you'll have to bare with me but if you want to stay up to date with this project and have a copy of the code as of 'today' you'll have to just download everything here

TD.zip

current functionality:
Toggle Screen Size; if you press ' ' you'll toggle the size of the screen.

Walls; If you press ' w ' you'll be able to select locations for walls.  Moving your mouse along the grid you'll see the grid line the cursor is closest to turn yellow.  If you left click the mouse button you'll create a wall.  If you right click on a line under a wall that already exists the wall will be removed.  Walls can be created between adjoining cells/squares/spaces.  When you select a grid line that will block the path to an exit the line will turn red indicating that a wall can't be built there.  If you try to left click nothing will happen.

Towers; If you press ' ' you'll be able to select the locations for tower.  Moving your mouse along the grid you'll see a large square 2x2 appear in cyan if you select a location that doesn't envelop any surrounding wall.  The large square will turn red if the location isn't permitted.  As of right now the Tower placement function doesn't take into account Towers blocking the path to an exit.

If you want to switch between walls and towers you must de-select your previous choice by pressing the say keyboard key.  Clear as mud?  Hope not.

Here's a video showing what's been added.

 

Now that this is all done I can start adding towers and enemies. 
I'm going to scrap the Misty Mist Tower.  I'm instead going to replace it with the Tach Tower.  It will shot bullets that will slow down an enemy with each successive hit.  It's been done a bunch before.  But unlike other games where the effect wears off, in this one the effect will be permanent.  However; in order to dramatically reduce the speed of an enemy, it have to be shot many times.

Let me know what you think!

Thanks for reading.



4 Comments


Recommended Comments

Cool Bro ^_^y I'm amaze that we can do this now over modern browser, I wrote my own simple 2D Game engine in HTML5/TypeScript maybe it's time to upgrade it and put 3D support, last time I created 3D over the web was using Silverlight but today  WebGL rocks !

Share this comment


Link to comment

Good stuff so you will defend by placing your walls rather than just having the enemies follow a preset path, that is definitely more realistic! :)

I know what you mean about code organisation, mine is a mess at the moment I am going to have to restructure at the end to release the source. I suspect with most of these source code tutorials they finish the whole thing first, then start building up what they already know works, bit by bit (then sometimes pretend they are making it up as they go lol!).

Share this comment


Link to comment

@DexterZ101, I know right. When I was first introduced to THREE.js I was immediately drawn in at just how quickly I could get things done.  It's a great API to just play around with.  And the number of artistic features it supports is vast.

@lawnjelly Yes I agree.  I think they backward engineer their tutorials.  Unless they've done the same thing time and time again.

Share this comment


Link to comment

Nice job with the walls :) I'm doing my entry with dynamic pathing by creating mazes, but the wall idea is even better than what I have going! Awesome stuff! :) 

Share this comment


Link to comment

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
  • Advertisement
  • Advertisement
  • Blog Entries

  • Similar Content

    • By Pedro Alves
      i have a problem i can make work the verificay if user existe our not
      i using nodejs ,express,mysql
      i put my link to project in github the code its to big
      https://github.com/Kammikazy/project
      find the soluction to my problem
       
       
       
       
    • By Pedro Alves
      Hello i try retrive data from a table cidades and show in my express with jade
       
      const express = require('express') const connection = require('../../Config/database') const controllerAdmin = require('../../controllers/Administration') const router = express.Router() //router.get('/Administration', controllerLogin.FindCidades) router.get('/Administration', (req, res) => res.render('Administration/index',{username:res.locals.user.username ,nome:res.locals.cidade.Nome,coordenas:res.locals.cidade.coordenadas,continente:res.locals.cidade.continente })) module.exports = app => app.use('/', router) const authenticateUser = async (connection, req, res) => { const user = await User.findUser(connection, req.body.username) if(!user){ return res.render('login/login',{error: true}) } if(!await bcrypt.compare(req.body.password, user.password)){ return res.render('login/login', {error: true}) } else{ // user.password = undefined req.session.user = user //const nivel = await User.findnivel(connection, req.body.username) if(user.nivel==1){ const cu = await Cidade.findcidade(connection, req.body.username) // req.session.user.nivel = nivel res.locals.user= user req.session.cidade= cu res.locals.cidade= req.session.cidade // console.log(1); console.log("rewr",cu); res.redirect('/Administration'); }else if(user.nivel==2){ // req.session.nivel = nivel console.log(2); // res.redirect('/Users') }else if(user.nivel==3){ // req.session.nivel = nivel console.log(3); // res.redirect('/Administration') }else if(user.nivel==4){ // req.session.nivel = nivel console.log(4); // res.redirect('/Administration') } else if(user.nivel==5){ // req.session.nivel = nivel console.log(5); // res.redirect('/Administration') } else { console.log("banned"); } } } const findcidade = (connection,username) => { return new Promise ((resolve, reject) => { connection.query(`SELECT cidade.cod_cidade, cidade.Nome,cidade.continente,cidade.coordenadas,cidade.ouro,cidade.madeira,cidade.metal,cidade.pedra,cidade.energia, cidade.comida,cidade.petrolio FROM user INNER JOIN cidade ON user.cod_user=cidade.cod_user WHERE user.username='${username}' `, (err, result) =>{ if(err){ reject(err) }else{ if(result.length>0){ resolve(result) } else{ resolve(false) } } }) }) } give this error what i doing wrong
      i want show  for example user maria have athenas and rome

    • By msmile042
      Sản Phẩm trang điểm
      cách đây không lâu với 1 sản phẩm có tên Detoxic đã được phổ biến người để ý và các từ khóa can hệ đến Detoxic có sự tầm nã cập rộng rãi nhất trên mạng xã hội và Internet. các ngôi nhà ở đây được vun đắp rất đơn thuần cốt yếu bằng chính đá đá hoa cương cộng với những dụng cụ cần lao đánh dấu sự tồn tại của con người trong giai đoạn tiền đồ sắt với thể đề cập tới như quặng sắt hay máy mài…Cung điện Hidi được xem là 1 trong các thắng cảnh với phổ thông giá trị linh nghiệm và đáng được bảo tàng nhất ở đất nước Nigeria.
      xem thêm:phun môi collagen giá bao nhiêu
      những loại áo đồng phục doanh nghiệp đẹp mặt chính là thấu kính để khuếch đại hình ảnh và đặc điểm quyến rũ, thú vị ấy đến các đối tượng bên ngoài khuôn khổ hành chính nhân sự tổ chức. Chính từ đây mà việc ngoại hình áo đồng phục tổ chức lại càng chịu thêm gánh nặng, càng đòi hỏi chất lượng cao của không chỉ người ngoài mặt mà còn ở người giám định nó trước lúc được cung ứng.
      Ngoài các khoa học trang điểm trọng điểm của chúng tôi còn dạy cho Các bạn biết 1 số cách thức làm cho tóc cho cô dâu, cho những người muốn đi dự tiệc cưới hoặc là biết tự làm tóc cho chính bản thân mình như thế nào để trông trẻ trung và đẹp nhất mang khuôn mặt mình.
      phổ biến lúc stress còn bị mất ngủ nữa, hậu quả là da mình cũng xấu đi. cho nên Hương biết điều quan yếu nhất là phải tậu 1 sản phẩm thấp trong khoảng tình cờ, hoàn toàn Organic như Saffron của Saffron Việt Nam, để giúp mình sở hữu được một làn da đẹp, khoẻ mạnh trong khoảng sâu bên trong.
      Collagen chẳng những có tác dụng liên kết những tế bào mà nó còn giúp những cơ quan, nội tạng cơ thể hoạt động rẻ và duy trì sự đàn hồi, chắc khỏe của làn da, chống lão hóa da, tiêu diệt các gốc tự do và còn mang thể tương trợ điều trị được những bệnh về xương khớp hiệu quả.
      Nhưng điều kiện số đông đề nghị sẽ là cần một chất lượng cực cao, cực chuẩn trong cách thiết kế đồng phục công ty. cùng sở hữu đó là việc áp nó vào những quy định, lệ luật có tính chất và thưởng phạt rõ ràng, chỉ sở hữu như vậy mới đảm bảo được tính thực dụng chủ nghĩa của nó.
      Hãy tiêu dùng ngay một quả chanh và hai - ba thìa đường thô (loại tuyến đường hạt lớn chứ không phải con đường tinh luyện mịn nhỏ), vắt chanh vừa phải vào bát đựng tuyến đường đấy tạo thành hẩu lốn sệt không quá ướt, tiêu dùng hổ lốn đấy massage nhẹ nhõm lên môi theo chiều vòng tròn.
      Nụ cười tinh ma giúp Margot Robbie xuất hiện như một làn gió thổi tới Oscar 2018 ko khí vui vẻ. Ở sự kiện năm nay, ngoài được giới chuyên gia Phân tích có phong cách ăn mặt đẹp nhất, Margot Robbie còn ghi điểm bởi lối điểm trang bỗng dưng, ko nhấn nhá quá đa dạng vào bất cứ bộ phận nào.
      xem thêm:phun môi collagen màu đỏ cam
      bề ngoài đồng phục doanh nghiệp bị tác động quá nhiều bởi nhân tố nguồn vốn, kinh tế, chỉ cần sở hữu chút khó khăn về mặc kinh tế thì gần như người sẽ ưng ý hi sinh nhưng mẫu áo đồng phục đấy. mang thể là hi sinh về mặt ngoại hình ví như hạn hẹp kinh phí, tuyển lựa những mẫu bề ngoài phẩm cấp không cao để hạn chế giá tiền cần bỏ ra. Cũng với thể là nó ảnh hưởng trực tiếp đến việc lựa chọn các chất liệu, nguyên vật liệu cấu thành lên chiếc áo đồng phục doanh nghiệp đó.
      Vì thế mà để với được một điều kiện lý tưởng nhất cho sự phát huy hết công năng, lợi ích của những bộ đồng phục công ty thì ngay tính từ lúc mẫu mã đồng phục công ty thì bạn cần đặc biệt phải chú ý và dành phổ thông thời kì để thử nghiệm, khảo sát khả năng thành công của nó.
      nguồn:phun môi màu hồng baby
       
    • By SSCharles
      https://www.kongregate.com/games/cardalomim/evo-psy-test
      You’ve inherited your father’s old plot of land in The Forest. Armed with hand-me-down tools and a some food, you set out to begin your new life. Can you learn to live off the land and turn these overgrown fields into a thriving and safe home?
       

      Give me any feedback that you may have.
      Thanks.
      Charles.
    • By Plains of VR
      In early 2017 I had this idea, if I can stream an HD movie without downloading the whole thing, I could stream a massive open world game as well without downloading it.
      Most people are under the impression that a game running in the browser can’t look good because then it takes forever to load it. Well, in game dev the concept of LOD - Level Of Details - exists quite a while now, there is no reason why we couldn’t apply it in the browser as well.
      The game I developed loads in a matter of seconds. It takes a couple seconds to load the engine itself, then when you press play: - Loads the terrain peaces closer to you first, than what's further away. - Loads the low poly version of the models like trees, rocks and bushes first, then the high poly version when available. - Structures... - Animals... - Sound... - Etc.. you get the idea   My point is, it is POSSIBLE to build a 3D version of the Internet, where instead of browsing through websites, we could jump from one 3D space to the next. I “invite” everyone to make this happen.   I’ve made a 3D Survival Game with a massive terrain to prove the tech works. I want you guys to build your own 3D spaces implementing your own ideas what the web should look like in the future. We could just link them all together and make this Interconnected Virtual Space happen - yeah, the Metaverse, for the Snow Crash fans out there   I would love to hear what you think about the applications of 3D spaces on the Web. Please leave me a comment if you are as exited about the possibilities as I am.   Backing up my claims:
      Live Tech Demo is available on https://plainsofvr.com Watch a the Open World to load instantly, than gradually improving: 
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!