• Content count

  • Joined

  • Last visited

Community Reputation

1 Neutral

About VeTaL

  • Rank
    Advanced Member
  • Birthday 06/03/1988

Profile Information

  • Gender
  • Location
    Kiev, Ukraine
  1. Well, nica idea, Rick.. but actually, unit selection is not needed for gameplay, as i'm counting on indirect control. I planned to show some historical pages from wiki, while clicking on bots. Looking like i need either to play with scale (make peoples almost the same size as building, like in Majesty) and make large bounding boxes/spheres, or drop this idea with clicking red is the size of the unit, blue is the size of the door
  2. Well, actually i found that clicking exactly on entities from far distances is not too useable (like here). Its hard to click exactly on the tree or on solider (what is even harder, because bots are smaller and they are moving). So, i got an idea of creation kinda invisible sphere around each entity, so it would be easier for user to select something. But at first, i'm wondering if there already exists working solution
  3. Just a fast question. Is there a simple way to make bounding box tracing? I know, i can create spheres/bodies, parent them to entities and set trace filter to catch them... but maybe it exists something like AdvancedTrace, which has a parameter for bounding box tracing?
  4. Thanks That is what i was looking for
  5. You have a chance to get some additional experience Its "Desktop Dungeons"-style game, one game session is about 5-7 minutes (sometimes 15, but not too often )
  6. Guys, this game is just awesome... for me, it even has some philosophical means: - war is profitable for somebody - the larger power you wants to control (keep in ballance) - the harder it is Link:
  7. Well.. i didnt test exactly that software yet, but i had some experience with Quest 3d. I think, its horrbile - to represent code as some visual components. It is kinda simple and funny from the very begining, but as project grows - it transfers nto nightmare. Thats only mine opinion and only about "visual programming" I'll check TiViPE
  8. Agree: i guess, all logic should be in one script and you should just check GetModelLODEntity() and run different commands depending on LOD level.
  9. Well, i totally agree with this. But on the other hand, i dont think that large companies (with, lets say, 100 programmers) works on a single project. If i'd have 100 programmers - i'd just split them into a small groups (5 to 8 programmers each... 15 - maximum, depends on complexity of project) to work on different projects. And, well, i think, things are done in similar way nowadays.
  10. Version 0.45 Added "thoughts" All buttons on form works now Improved AI: now bots should never be in water or far from building. Sharing experience: In previous version, in case of interruption, bot turned at related random angle. Sometimes some sh*t happened and rotation function called twice or more times. So, but turns left, then once more time left, then - right. In worst case, he continued running from building. Now i understood, that i need to give bot not related, but absolute angle. Now it is working in such way: before: TurnAtAngle(Rnd(80, 110) * randomInt) now: TurnToAngle(GetPlayerBulidingAngle() + Rnd(60) - 30) Method GetPlayerBulidingAngle:Int() closestPlayersBuilding = GetClosestPlayersBuildingModel(model) PointEntity(scanPivot, closestPlayersBuilding) Local retVec:Tvec3 = EntityRotation(scanPivot, 1) DebugLog "[!!!] Returning angle: " + retVec.y Return retVec.y EndMethod So, i'm pointing scanner (anyway he do nothing except raytracing down, it is not depends on scanner's rotation) at players building, getting it new angle and pointing player that direction +- 30 degrees. That looks mush better. Just replace exe file. Edited: found out, why some strings are still shown on the screen with the strange behavior: some bots are falling from terrain.
  11. I think, i'll continue proof-of-concept using BlitzMax, and then, if everything would be okay - i'll switch to or pure C++ So, main form would still be in maxgui, but still any ideas/guggestions are very welcome.
  12. Thanks, guys, for a feedback. Afaik, Awesomium was not free... and i didnt heard about Berkelium - found some OpenGL samples, would try to use them.
  13. Okay, so... Serious game - is a game, where player learn/study something. The main problem is to combine gameplay and learning in such a way, when player actually doesn't feel that he is stydying in common way. Classic examples are different realistic game simulators. Quite good example (as for me) is "Call of Duty: Black Ops" - after playing this common FPS, i went to wiki and read lot of stuff about Cold War - because of this game. So, actually, it can be counted as Serious game. Also, Civilisation is quite nice example: they have their own civilipedia to provide some historical information. Nowadays, serious games are very potential: lots of schools/colledges/universities are trying to combine learnin with playing and get successfull results. This project is just "unfinished proof-of-concept". Gameplay is planned to be a "realtime historical strategy with undirect control"(Settlers/Majesty). As the main idea, I took nice small game, Breaking The Tower, which was written by Notch (hello, minecraft funs) for a contest in two days. My thoughts was "game with undirect control are quite slow" -> "if i merge slow gameplay with some kind of civilopedia, that would give a player some time on learning" -> "why not to use wiki?" -> "why not to use LE+Blitzmax, as it provides render internet pages on the same form, where game can be rendered" I spent all previous weekend on this project (+ some additional evenings... actually, not too much time: also, i opened about a half of map in Skyrim ) This is what i have now: The main questions to all of the guys, who would decide to test it: - fps. Btw, I was impressed by fps increasing in release version: i had about 40 fps in debug version and about 100 fps in release. There are 20 bots on level now. - UI. Do you have any ideas/recommendations with UI placement? I also tried to place wiki undre the render window, but it also seems to be bad. - Camera control. Any ideas are wellcome. I'm not actually satisfied with this camera. Of cource, it needs collision detection, but it proof-of-concept. I'm not satisfied by camera's behaviour: its hard to make some accurate movements when the camera is close to central pivot. - AI. Bots are just running through the island in random direction. But they have 3 interrupters: by time (after Rnd(80, 120) they change their direction), by distance from main player's building, and by water (if the scanner "feels" water, they should turn back) - Explorer component. What can be done with that nasty error? The main logic function is Method UpdateLogic() UpdateWalkers() timer.Update() AvoidWater() ' if pick.y < 3, set isInterrupted =1, interruptionDetails = pick.y AvoidLost() ' if distance to building is > 30, set isInterrupted =2, interruptionDetails = dist If timer.IsRinging() isInterrupted = 2 ' time to change direction, once per Rnd(80, 120) End If If (isInterrupted > 0) rndRes = Rnd(0, 2) ' generates 0 or 1 randomInt:Int = (rndRes * 2) - 1 ' generates -1 or 1 Select isInterrupted Case 1 'water ahead TurnAtAngle(Rnd(80, 110) * randomInt) DebugLog "[@] Interruption by water(1). Scanner height is " + interruptionDetails Case 2 'timer interruption TurnAtAngle(Rnd(45, 135)) DebugLog "[@] Interruption by timer(2)." Case 3 'too far from buildings TurnAtAngle(Rnd(160, 200)) DebugLog "[@] Interruption by distance(3). Dist is " + interruptionDetails End Select isInterrupted = 0 EndIf End Method
  14. Looking like equations of vector are equation of their adresses.. pickFrom = EntityPosition(scanPivot, True) pickFrom.y:-1 pickTo = pickFrom pickTo.y:-20 Solution is simple: pickFrom = EntityPosition(scanPivot, True) pickFrom.y:-1 pickTo = EntityPosition(scanPivot, True) pickTo.y:-21
  15. Aaaaaand... First prize (a large cookie) comes to Klepto2 for right answer: pickFrom = EntityPosition(scanPivot,true) Second prize (glass of beer) comes to Metatron for his time