I'm starting development of a 2d isometric(tiled, roguelike) game and I'm brainstorming which kind of data structure I would use to store runtime data like tiles and entities, but I don't want to use an 2d array(as the world will be huge). How I would handle rendering in such cases?
Isometric game data structure and rendering
1.1k Views Asked by user1150235 At
1
There are 1 best solutions below
Related Questions in JAVA
- Add image to JCheckBoxMenuItem
- How to access invisible Unordered List element with Selenium WebDriver using Java
- Inheritance in Java, apparent type vs actual type
- Java catch the ball Game
- Access objects variable & method by name
- GridBagLayout is displaying JTextField and JTextArea as short, vertical lines
- Perform a task each interval
- Compound classes stored in an array are not accessible in selenium java
- How to avoid concurrent access to a resource?
- Why does processing goes slower on implementing try catch block in java?
- Redirect inside java interceptor
- Push toolbar content below statusbar
- Animation in Java on top of JPanel
- JPA - How to query with a LIKE operator in combination with an AttributeConverter
- Java Assign a Value to an array cell
Related Questions in DICTIONARY
- Difference between list() and dict() with generators
- Python program to produce dictionary of file extensions and sizes
- How to sort a nested dictionary by the a nested value?
- Renaming the keys of a dictionary
- VB.NET KeyNotFoundException from String()
- Numpy Vs nested dictionaries, which one is more efficient in terms of runtime and memory?
- Multiple parameters in a Dictionary
- ComboBox Not Being Filled With Unique Field Values Via Dictionary Learning
- Batch file: map a FTP server
- How to put objects into a dictionary using Dapper in C#?
- Pyparsing - Trouble parsing file to dictionary structure
- convert tuple keys of dict into a new dict
- Change the values of a list without using index
- Dictionary values missing
- How to create and add values to Dictionary in swift
Related Questions in DATA-STRUCTURES
- Borrow mutable and immutable reference in the same block
- Why would one use a heap over a self balancing binary search tree?
- Reverse linked list in java
- Doubly Linked List, MergeSort, getting undefined and unreliable results
- Difference in performance of adding elements in Treeset directly vs transferring from arraylist?
- Why the leaf node in red black tree is NIL?
- When to use double pointers?
- find the biggest possible number comprised of the digits of of a given number
- Data structure to efficiently merge up to n elements of multiset
- How to convert a string to a key for hash table
- Implement queues in java
- What does it mean to "close over" something?
- How to use hash tables when amount of slots is unknown?
- Unknown Data Structure?
- how to find type of connection between the social network entities
Related Questions in ISOMETRIC
- Comparison error for isometric sorting
- Java Isometric Depth (not diamond)
- Intersecting an isometric cube in Obelisk.js when mouse pointer intersects
- LibGDX IsometricTiledMapRenderer issues
- Get Isometric Tile Under Mouse
- Find which tile was clicked in a isometric, staggered column system
- Isometric Projection
- KineticJS isometric transforms
- Different names for Isometric views
- How to render an isometric tile-based world in Python?
- Isometric tiles drawing and picking - JAVA
- Calculating the cells contained inside a rectangle on an Isometric Grid
- How to do isometric 3D in CSS
- how to create and interactive isometric frame for diagraming in a python GUI (preferable wxpython)
- isometric perspective in silverlight
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Although you might have more success asking on https://gamedev.stackexchange.com/ I'll try and provide some ideas:
You should create a
Tileclass might contain a collection of entities on that tile. Additionally entities might hold a reference to the tile(s) it is located on.As for the map representation, it depends on how the map would be represented. If you have a fixed size map you might use a 2D array (the array would only contain links to tiles which might be null if not currently needed), otherwise you might use a map whose index would be the position of the tile. Then query the map for the tiles you need to display.
Additionally you might want to employ some caching and load a few tiles that surround the displayed area. When tiles are outside that cached area and you need memory they might be removed from the map.