User Tag List

Page 1 of 2 1 2 LastLast
Results 1 to 10 of 12

Thread: Simulator Hybrid Extension

  1. #1
    No Products Registered

    Join Date
    Jul 2006
    Posts
    2,289
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)

    Simulator Hybrid Extension

    Simulator Hybrid Extension Idea:

    I think that MMF2 is much closer to making simulator games possible. In fact, I think that MUCH could be done along those lines using Yves and Francois original model of making things easier, less complex, and faster.

    Keep in mind that a simulator, (like Sim City) goes all the way from the original, 2D version to the new spiffy, (but not all that hugely greater) actual 3D Sim City 4. Also keep in mind that we are not shooting for the end result, but trying to create something that can get closer and provide more basic groundwork for users to work with.

    The idea I am proposing is simply brainstorming. There may be other or better ways, (or combinations of ideas) to make this work. The result would not be limited to "sim city" games, as you will see. It will make games like that more palatable with MMF2, though.

    There are two aspects to these types of games: The superficial graphic representation, (easier to do, actually) and the more complex interactions, rules, and values that are under the hood.

    The ideas I am proposing here cover mostly the graphics but do reach into the underlying game works, or at least allow users to build complex games on a simple structure.

    So, if you are following this:

    For the graphics, (this idea could evolve over several versions of the extension) and some of the data, we need a hybrid that is designed to make the graphic/grid aspect a piece of cake to use. If we can accomplish this in ordinary 2D, then later on, perhaps an ISO version could be embarked upon.

    The hybrid: Overlay + an advanced EasyGrid + a specialized, 3D array. That is, all three objects would be combined into one that is designed for maps/grids/sims.

    Example: Let's say you had a 640x480 grid with 16x16 cells. To use Active Objets, (even with HWA) you would be using at least 1200 AO's at one per grid. So, if you were to make a large map and maybe wanted to use 4x4 pixels as your smallest object/cell size, that could be unwieldy.

    In a sim/grid game, you might want to customize your cell size, even down to 2x2. All of your objects would snap to that grid, but hey could be any combination of cell blocks, e.g., 4x4, 8x8, 16x16, etc. Like a small house versus an apartment building.

    So, what if we could make all the selecting and pasting to grids work in a special Overlay that has a built-in, customizable grid? The basic idea works for me, but we will see that there are a group of things that need to be accounted for.

    When you pick a road, grass, housing, etc., the overlay would paste-in a graphic set by number/type. In this version, we do want a visible grid on the overly, textures, and maybe borders. We won't be actually plopping what the cells represent at fist. They would have to grow from the type of cells planted there. Terrain is the exception though. It should look like it supposed to when it is drawn.

    There are a lot of things to consider if you want the terrain to look nice for instance, like edges versus centers, direction, etc. Also, you don't want to allow the placing of any block over occupied territory, so you need transparent colors available. Dragging-out an area that is committed when the mouse is released is another issue.

    To sum it up: The hybrid object would allow easy setup of the grid and easy placement of tiles of various sizes that would then be "pasted" into the area selected, or easily bulldozed. Each cell would be part of an array and have two-dimensions itself. You could name and store what is there, various states, and perhaps we could find a way to strobe/scan/connect relationships, (like roads, electric lines) but that is way ahead.

    Some things "plop" and some things drag out, depending on the type. A bus stop or water pump plops, no matter what the size, a zone is dragged-out and fills zonable area.

    Of course, the object would be able to save and load its state and that would be a large part of the game, other than more global variables like money, etc.

    There is a lot to go on about, but I think the basic idea or starter for this potential extension is best illustrated by my simple GridWork example. All you can do it in it is select terrain and such, draw those types as colors, and "doze" what you don't want. Try it and think about what could be done and/or what might be needed for a successful starter extension that could go on to be even more.

    Animation would be a problem to reckon with if the Overlay hybrid just allowed painting of a square. However, if it did prove to be faster to have it scan and paste dynamically, then it MIGHT be possible to imagine a method to give animation frames to the Overlay to change out, as it goes along ... even with multi-cell areas like, say, an apartment building.

    A quick note about game dynamics, (which my example does not even attempt). Anyone who has played a game like Sim City knows that there are literally tons of variables and interactions. While it might be easy to draw a zone, have various house graphics fill it, and have some data about the number of people, conditions, land value, etc., there are other features that bring to mind conversations about smart arrays. For instance, the contiguous nature of roads, electric lines, and pipes. Things connect and have a range of influence as well. Things also add-up in a larger sense.

    I am not saying we can DO all that for the user right away, but we could start to do something in the MMF2 paradigm that would give users a head-start and, if they apply themselves, find ways to accomplish more along these lines.

    If Sim City where the end goal, the we could imagine steps towards it. Simple games like risk, or Sim Farm, even. I think you get the picture. Any hybrid extension that would put less focus on the user to figure out the grid and drawing while keeping track of each cell or a set of cells, is going to make some very playable games possible.

    Keep in mind that this idea spans potentially across some genres and could be adapted/intended for other types of games. I hope the idea of the challenge is fun, no matter what.

    Think! Post more details/problems/solutions.
    Attached files Attached files

  2. #2
    No Products Registered

    Join Date
    Jul 2006
    Posts
    2,289
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)

    Re: Simulator Hybrid Extension

    Oh, if that was not enough:

    I forgot to mention the added possibility of path-finding as part of the hybridization. I know it adds another layer of complexity, but it is something worth considering as a part of the whole structure.

  3. #3
    No Products Registered

    Join Date
    Jun 2006
    Location
    Texas
    Posts
    1,002
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Simulator Hybrid Extension

    Well let's focus on one aspect of making a simulator, such as the tiling system.

    Such a system would be made easier if there was an extension that directly supported Mappy files Mappy .

    The extension could focus on drawing the tiles to the screen and have a built in tileset image editor or something. A pathfinding extension could interact directly with such an extension for quick setup with minimal work..

    Anything such as plowing or bulldozing or what have you is extremely game specific and should not be built into an extension.

    I actually have some source code and stuff that I posted (unfinished) that loads files using C++ from the Mappy editor. Here is the thread I posted: Abandoned open source tile engine

    If you want an exe demo of this it is avaliable here: Pathfinding Prototype . The red outline is the path, notice how the path is reduced to only the required waypoints ^^. Path reduction is neat because it allows the player to move smoothly instead of in a grid like manner. The grass demonstrates movement costs which were put in place using the Mappy editor .

    My code is completely open source and so it should be possible to figure out how I did some of it. I suppose I eventually could be persuaded to create such an extension for MMF 2, but I would need to finish my current projects first.

  4. #4
    No Products Registered

    Join Date
    Jul 2006
    Posts
    2,289
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)

    Re: Simulator Hybrid Extension

    Thanks for the detailed response. I will look at those examples.

    Yes, I agree that tiling and its details are job one.

    Well, bulldozing is merely a manner of speech as it means erasing a tile, (or a set of tiles) and resetting the values of the cells, maybe returning the "area" to a default type, etc.

    There is a game called Lincity. It is open source, (not that that matters here) but it started out as a flat 2D and only went so far, (which was really quite finished). The interesting note I wanted to make is that there is a version of it, converted to isometric style and graphics. I found that uplifting that they could take the original code and transform it that way.



    It was not a bad game at all and I have played it a bit:

    http://lincity.sourceforge.net/
    http://lincity-ng.berlios.de/wiki/index.php/Download/Installation
    I recommend the version found here, (the game is in English)
    http://jeuxlibres.net/showgame/lincity_ng.html

  5. #5
    No Products Registered

    Join Date
    Jul 2006
    Posts
    2,289
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)

    Re: Simulator Hybrid Extension

    I am keeping notes, so here is something, (since I haven't really found out much about the mechanics of simulators) about how the logic of these games would work, to me:

    Something like a simple SQL query or spreadsheet?

    Rather than piking a host of array cells and acting on them, or using keys like with associative arrays, this sounds more like it would be a way to control and change the array of each cell or groups of them. Translating it into simple, MMF-style language is the key. Even though the statements could get long and complex, if they were plain and simple to state, then almost anybody could do this:

    Let's say, on my grid, I have homes.
    They are cells with type=10.
    They have ages as in, age=100
    They have rents, as in Rent = 200

    Every Game Timer Month, pick all where type-10 and age <100 --> Set Global Value Rent to SUM of rent. Subtract GV Rent from GV Total cash.

    This would also be the best way to create the cell's slots dynamically as you put things on them as long as everything has and ID/type on the grid.

    That would be the basic way to grab and put info from your grid, (be it about war, ecology, cities, or even standard games).

    The alternative is to go through a regular array or use the slower Key method. Both would take more time to do for the author and the software, I think.

    The tougher requirement are what I call spheres of influence. are there wolves within x cells? Is there a power plant nearby? Now the statements/events might be more complex for this, but once you are working well with a data engine that is geared towards it, you can learn and advance as you go. Is there recreation within a certain distance? Is a plague or locusts in one of the areas around and within x of your camp?

    Connectivity is the the last problem I see and it looks a bit more difficult. If you have a river, is it navigable? Does the road continue and connect? are your troops forming a solid line of defense or are there gaps?

    I really wanted to jot this down because the idea has concerned me for a long time and I was looking for a solution that would help us to create more with all the complexity being in our game's rules and features, rather than figuring out how to get MMF2 to do it.

    So, we are talking a simple SQL/Spreadsheet method with a fast algorithm. I just think the structure of the language used to query has to be similar to MMF's way. SQL itself is a bit heavy-handed and not appropriate for basic users.

  6. #6
    No Products Registered

    Join Date
    Jun 2006
    Location
    Texas
    Posts
    1,002
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Simulator Hybrid Extension

    Connectivity could fall into the domain of pathfinding.

    If I had a boat and I was on a river, then the water tiles are the tiles that I can travel on. When I try to move to a destination, all the non water tiles are impassable.

    If the tiles are of a certain type then it could be possible to have a tile radius that is their "influence" I suppose.

    I don't really know why you would use an SQL type syntax for getting the information from the grid... It seems to me that if you had powerplants then it would be better to generate a list of powerplants from the map and iterate them to keep the powerplants updated, rather then having to use SQL which would be far slower (as it has to search the entire map).

  7. #7
    No Products Registered

    Join Date
    Jul 2006
    Posts
    2,289
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)

    Re: Simulator Hybrid Extension

    Yes, I see what you mean. So you could path-find a power line or oil pipe etc. Makes sense.

    I see your point about generating a list and iterating. I think we are in speculation/brainstorm mode and it is hard for me to see the end outcome yet. I just saw that kind of structure for finding info and changing it as looking more plain language and easier.

    So, whatever works best and fastest is fine as long as complex scenarios, like the one I related, could be done and READ easily by the user. In contrast, checking x,y,z in an array and getting x,y,z, then making calculations on them, then changing the values ... well, that really bogs you down in abstracts.

    We want to get away from that for this purpose. Regular arrays are powerful and useful and good old standbys, but for what we are doing here, well, easily readable, understandable conditions and actions are my main goal. I think you see that.

    Does anybody see uses for the above ideas between myself and Vortex for other games? If this idea works out like I am envisioning, I can see some interesting games easily taking shape once we have the structure. This system promises to take a major chunk of game types and make them a matter of, "What do you want to do?"

    After the grid and the data, we will have the particulars of games themselves to consider and many come to mind. You have your visuals set-up, your data storage and retrieval in place, then you have the rules of the game, interactions. I think that part could be very straight-forward and a matter of common sense more than intense and geeky efforts.

    Sorry to sound so excited, but I see this as a level-up for clicking, and we should always be trying to accomplish that. When something like this is accomplished and works the way it is intended, (novices creating rather attractive and functional sim games and grid-based stuff) then we will have the kind of inspiration to tackle other genres with the same paradigm and strategy. I want users to spend 80% of their time getting the looks right and trying new ways and rules for their games, not doing a lot of work trying to get the mechanics set-up before they can experiment, test, and tweak.

    Thanks for the responses and points you make, Vortex.

  8. #8
    No Products Registered

    Join Date
    Jun 2006
    Location
    Texas
    Posts
    1,002
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Simulator Hybrid Extension

    Your welcome . Yes it is a great goal to push towards expanding MMF 2's ability to create complex games!

    The main factor we have to keep in mind is the balance between ease of use and power. If we design too narrow an extension then users will seek to stop using the extension because they need greater flexibility. So while we need easy to use extensions, we also need flexible ones that are able to tackle most tasks .

    That being said, I am sure we will be able to come up with something. After all the EDT is full of absolutely brilliant people!

  9. #9
    No Products Registered

    Join Date
    Jul 2006
    Posts
    2,289
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)

    Re: Simulator Hybrid Extension

    Bump for ideas and more discussion?

    When we start to clear out the Test Tank, it would be good to have some large ideas to tackle.

    I think MMF2 is saturated with enough small extensions to fit many needs. If anything, certain kinds of extensions could be improved on or amalgamated, but going for major improvements or areas yet to be explored seems like a good idea.

  10. #10
    No Products Registered

    Join Date
    Jun 2006
    Location
    Land of raging rockets
    Posts
    1,231
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Simulator Hybrid Extension

    Okay, here's some cents

    I wish some extension could plug into each other more easily. That could definitely aid "your mission".

    Imagine a common array standard that all related extensions can use. So e.g. you have a special array made for maps of any sort. Now someone could create a mappy tile extension that can use that array and project tiles onto the screen according to data in the array.
    Todate, if you wanted to use a pathfinding extension with your array, you'd have to transfer all the data from that array to the array of the pathfinder.
    Now if a pathfinding extension could also use that same array to read from.. I hope you get the point.

    Multiple other extensions could be made that "plug" into that array. Like one that tracks objects on it and lets them move smoothly on the screen (while being grid based).

    There could be extensions for tactical AI using map weights, data polling from the array to generate statistics, connectivity checks like the board game extension, etc. Some extensions just needed to be adjusted / extended a bit, I suppose.

    The key is that you'd only need ONE very flexible array, instead of one array for every extension.

Page 1 of 2 1 2 LastLast

Similar Threads

  1. 2.5 physics bouncing ball + platform movement hybrid
    By RedHades in forum Multimedia Fusion 2 - Technical Support
    Replies: 2
    Last Post: 30th December 2013, 05:11 PM
  2. I can't get it to run on xcode simulator.
    By SiXX in forum iOS Export Module Version 2.0
    Replies: 5
    Last Post: 4th January 2013, 03:32 AM
  3. Simulator -> Device difference?
    By Fanotherpg in forum iOS Export Module Version 2.0
    Replies: 4
    Last Post: 30th March 2012, 11:59 AM
  4. RTS Turret simulator ext.?
    By legocacher in forum Multimedia Fusion 2 - Technical Support
    Replies: 5
    Last Post: 5th April 2010, 11:20 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •