Traztx

Joined: Feb 12, 08

Home page

Coder, Composer

 

 

Trivial thoughts

Just an idea for a single-player trivia game based on knowledge about DM. Other than that, nothing extraordinary.

Test your knowledge of coding in DM
  • Choose from categories
  • Get next question, code snippet, screenshot, etc, and some multiple choice or true/false questions.
  • Pick the answer


If you are right:
You get points added to your score.

If you are wrong:
You get an explanation why.

The game would refer to a forum where questions are submitted and/or answers are disputed. This would allow the dream maker community to come up with interesting content.

Some desired features
  • remembers what you've answered so when you play again you can choose only unseen content or stuff previously answered wrong.
  • posts username and score on web (if you don't like it, play again)
  • a limited time for full points, like those trivia questions in bars


Development
  • Via DM: could be done with just skins. No need for map.
  • Via web forms: dunno how to do something like this, but there are examples all over the place.


My opinion
  • Could be a way for developers to check themselves for holes in learning.
  • Just because you score high doesn't mean you are expert coder.
  • I wonder if the scoring might be ammo for flame wars between developers. That would not be good.


Questions
Has anyone tried this before?

Your thoughts?

Posted by Traztx on Monday, April 21, 2008 12:22PM - 5 comments / Members say: yea +0, nay -0

Splategy: mini update

Progress:
  • prioqueue: found and fixed insert bug at last node
  • astar: found and fixed g() and h() bugs
  • astar: check unit now facing correctly in order to squeeze thru tight diagonals
  • astar: cancel implemented and tested, selecting a new destination before the path is found aborts the astar before starting a new one


Known problems:
None! (yeah!!!)

Next steps:
  • redo closed list (no need for priority, what was I thinking?)
  • change test map for more pathing scenarios
  • test like crazy!
  • remove superfluous code and spam
  • test again for good measure
  • implement resulting path
  • move the unit!


However, if I get to ADD to stay on above tasks, I may break from it to make some music ;)

Posted by Traztx on Friday, April 18, 2008 10:00PM - 0 comments / Members say: yea +0, nay -0

Splategy Mini-Update

Progress:

  • prioqueue: reimplemented without terminator node
  • A*: reversed to go from objective to unit, since the result is path back to the beginning
  • A*: encapsulated inside a new mind object
  • turf/floor/Click: switch direct astar call to objective notification to unit
  • new object: brain, which manages minds
  • units now have a brain


Known path problems:

  • check unit isn't facing the right direction, so it can't squeeze thru tight orthographic diagonals
  • need to increase g() slightly for diagonal moves to prevent a small quirk in path
  • need to implement astar cancel


Next steps:
fix the problems, test until no probs, then turn attention to custom walking to follow path.

Screenshot: A* testing, ? symbols mark turfs in the open list. blue boxes mark turfs in the closed list.

Posted by Traztx on Wednesday, April 16, 2008 09:25PM - 0 comments / Members say: yea +0, nay -0
(Edited on Wednesday, April 16, 2008 09:41PM)

Splattering thoughts

Just jotting down some thoughts. Comments welcome.

Current implementation focus
I was thinking about Splategy's A* development. When you tell a unit the next objective, it calls a proc to analyze the map for the shortest path to it. The analysis does some sleeping along the way so that an impossible path on a large map won't lag the game, just the unit.

The problem
So what if you change your mind and choose another objective while it is still analyzing? You get wasted server processing, wasted resources, and object confusion.

The idea
I'm considering the A* running from an object proc. That allows each unit to keep track of their pathfinding in parallel. That makes a cancel proc possible, which would check a running flag, set a cancel flag, wait for the running flag to clear, remove the cancel flag, and return. The A* proc can set the running flag, detect cancel flag after each sleep, and if so clear the running flag and return.

Organizing thoughts
How about each unit will have a brain object. The contents of the brain object will be minds. Each mind will have a way of thinking and can gain skill from being exercised.

So when I click an objective, the game tells the unit: "go to this spot instead". The unit uses its brain to see if it needs to cancel a thought. If so, then it tells the mind working on the thought "cancel" and waits for it to acknowledge. Then it chooses the appropriate mind to work on the problem depending on the emotional state. Then it gets the mind working on the problem at a rate depending on the experience and current stress level.

So a unit might have "a mind for safety", or "a mind for efficiency", or "a mind for aggression" and the path from here to there would depend on which "state of mind" they are using to solve the problem. Safety? Include defensive quality of turfs in the heuristics. Efficiency? Just the bare-bones shortest path. Aggression? Include offensive quality of turfs.

Figuring out who should do what
Another problem with the game is trying to decide which unit to scout, defend, attack, etc. There will not be standard classes in the game. However, you will be able to specialize a unit just by limiting how you handle it, so it's skills over time will develop along those lines. This is because they gain experience by practice (with a learning curve).

So let the player name a class, choose a symbol for it, and assign the unit to that class. To help with this, allow them to get a report of units sorted by whatever skill they want. Looking for the sniper? Should you pick the slowest unit or the one with the best aim? Either way, you would be able to choose the skill, sort or reverse sort, and see who comes on top. But still you don't have to play the unit as a sniper just because you assigned him to your "sniper" class. The class name means nothing to game mechanics. Run him around and he'll get more experience at running and not aiming.

Where are my units? Where is my team?
You won't get a team when you start. You'll get newbie "walk-ins" for units. These are people who show up at a paintball field, haven't played much, don't know anybody, etc. You can't buy gear for a walk-in. They bring their own. The nice thing is they cost you nothing. This is good because you don't have any sponsors yet.

Temporary Troops
The game will track how you fare in matches. Play your walk-in's well enough and some might get interested in sticking around for a while. Instead of new people each day, you start retaining units for development. Well, at least for a little while. Now that you have team members, you can start thinking about gear. Buy gear and keep it in your trailer. Temporary units will stay longer if they get to borrow some nicer stuff than what they own.

And now, a word from our sponsor
Teams get noticed, and then the sponsors start to come. Nothing special yet. Maybe it's the local salvage yard owner who will invest a little but you have to let his boy play on your team. Winning matches and gaining sponsors will allow you enough funds to offer your temporary units a contract. Not so temporary anymore! Developing the team makes it attract more sponsors. Spiral up!

Bustin' caps
When retaining units, you start to discover things. Units get only so good at this or that skill then no better. You can't predict this, it just happens. It's the dreaded skill cap. How will you attract new sponsors when you can't develop your team? Eventually the unit reaches its prime and it's not all that prime.

Scouting for units
By now you're stacking some papers, so spend some of it and hire a talent scout. A scouted unit might have better skill caps. It's not guaranteed, but it's possible. Negotiate contracts. Fire people. Now you have a team of units worth the big sponsors and can start serious unit trading with the other players, and participate in the national and international levels.

I guess to muds, this aspect of the game is all about "pets".

Final thought of the day
I don't know how much of this I will implement. For now, I'm going to work on organizing the units so they have brains and minds starting out with this basic A* proc.

Posted by Traztx on Wednesday, April 16, 2008 12:53PM - 2 comments / Members say: yea +0, nay -0

Progress report: A*

Worked on the 1st A*. Looking good. Still needs a little more code.

Posted by Traztx on Tuesday, April 15, 2008 10:37PM - 0 comments / Members say: yea +0, nay -0

 

 

Blog Calendar

April 2008
Su Mo Tu We Th Fr Sa
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
 
«Mar  

Files

(73.9 KB)